Saturday, April 12, 2008

NPIV

Cisco SAN-OS release 3.0(1) supports the industry-standard N-port
identifier virtualization (NPIV), which allows a single Fibre Channel
HBA port to be assigned multiple Fibre Channel IDs. Under virtual
operating environments such as VMware, NPIV enables access control,
zoning, and port security to be configured for each virtual machine.

N Port virtualization (NPV) reduces the number of Fibre Channel domain IDs in SANs. Switches operating in the NPV mode do not join a fabric; rather, they pass traffic between NPV core switch links and end devices, which eliminates the domain IDs for these edge switches.




While NPV is similar to N port identifier virtualization (NPIV), it does not offer exactly the same functionality. NPIV provides a means to assign multiple FC IDs to a single N port, and allows multiple applications on the N port to use different identifiers. NPIV also allows access control, zoning, and port security to be implemented at the application level. NPV makes use of NPIV to get multiple FCIDs allocated from the core switch on the NP port.



NP Ports

An NP port (proxy N port) is a port on a device that is in NPV mode and connected to the NPV core switch using an F port. NP ports behave like N ports except that in addition to providing N port behavior, they also function as proxies for multiple, physical N ports.
NP Links

An NP link is basically an NPIV uplink to a specific end device. NP links are established when the uplink to the NPV core switch comes up; the links are terminated when the uplink goes down. Once the uplink is established, the NPV switch performs an internal FLOGI to the NPV core switch, and then (if the FLOGI is successful) registers itself with the NPV core switch's name server.

When an NP port comes up, the NPV device first logs itself in to the NPV core switch and sends a FLOGI request that includes the following parameters:

•The fWWN (fabric port WWN) of the NP port used as the pWWN in the internal login.

•The VSAN-based sWWN (switch WWN) of the NPV device used as nWWN (node WWN) in the internal FLOGI.

After completing its FLOGI request, the NPV device registers itself with the fabric name server using the following additional parameters:

•Switch name and interface name (for example, fc1/4) of the NP port is embedded in the symbolic port name in the name server registration of the NPV device itself.

•The IP address of the NPV device is registered as the IP address in the name server registration of the NPV device.

Note The BB_SCN of internal FLOGIs on NP ports is always set to zero. The BB_SCN is supported at the F-port of the NPV device.

lthough fWWN-based zoning is supported for NPV devices, it is not recommended because:

•Zoning is not enforced at the NPV device (rather, it is enforced on the NPV core switch).

•Multiple devices behind an NPV device log in via the same F port on the core (hence, they use same fWWN and cannot be separated into different zones).

•The same device might log in using different fWWNs on the core switch (depending on the NPV link it uses) and may need to be zoned using different fWWNs.

When you enable NPV, your system configuration is erased and the system is rebooted with NPV mode enabled

On the 91x4 platform, before you upgrade to 3.2(2b) or downgrade from 3.2(2b), shut the F-ports connected to NPIV capable hosts, and then disable the NPIV feature. After the upgrade or downgrade is complete, enable the NPIV feature and up the F-ports.

switch(config)# npiv enable
switch(config)# interface fc2/1
switch(config-if)# switchport mode F
switch(config-if)# no shutdown
Configure the NPIV core switch port as an F port.
Changes Admin status to bring up the interfaces
switch(config)# npv enable
Enables NPV mode on a NPV device (module, Cisco MDS 9124 or Cisco MDS 9134 Fabric Switch). The module or switch is rebooted, and when it comes back up, is in NPV mode.
Note A write-erase is performed during the reboot.
switch(config)# interface fc1/1

switch(config-if)# switchport mode NP
switch(config-if)# no shutdown
On the NPV device, select the interfaces that will be connected to the aggregator switch and configure them as NP ports.

By grouping devices into different NPV sessions based on VSANs, it is possible to support multiple VSANs at the NPV-enabled switch. The correct uplink must be selected based on the VSAN(s) that the uplink can carry.


Issues I have seen with NPIV

- HP Virtual Connect does not load balance between the ports, the frames
might get lost, if there are multiple connections.

- Few Bugs on Cisco side,
CSCsk96105

Symptom: If you upgrade to Cisco SAN-OS Release 3.2(2c) from a lower version, or downgrade from Cisco SAN-OS Release 3.2(2c) to a lower version on an MDS 9124 switch, MDS 9134 switch, Cisco Fabric Switch for HP c-Class BladeSystem, or a Cisco Fabric Switch for IBM BladeCenter, zoning may not work as configured for the F ports connected to NPIV-capable hosts.

Workaround: This issue is resolved.
CSCsk00953

Symptom: HP Blade Servers that are connected through an HP Virtual Connect (VC) FC module to a Cisco Fabric Switch for HP c-Class BladeSystem using NPIV lose access to LUNs when load balancing on the VC module is switched from 16:1 to 8:1. When the load balancing ratio is 16:1, all servers connect through interface ext1. When the ratio is 8:1, servers 1 and 3 connect through ext1, servers 2 and 4 connect through ext2, and so on. Servers on ext2 are not affected by the switchover. In addition, packets might get dropped when the switchover occurs.

When more than 255 hosts logged into that vsan, there may be issue, if all the ports Qlogic ports.

As guessed each pwwn(of qlogic hba) belongs to auto-area-oui list and it consumes entire area. After 255 hosts are brought up in vsan 2 all 255 areas of domain 0x35 in vsan 2 are used and so the fcid allocation fails.

From fcdomain P2.log.txt:
grep "ENTIRE AREA" tt | grep " 2 " | wc -l
254

Workaround as suggested in Jerome's case:
MDS9216I-86-SJ# show fcid company-id-from-wwn 50:06:0b:00:00:c2:62:10
Extracted oui: 0x0060B0
MDS9216I-86-SJ# config t
MDS9216I-86-SJ(config)# no fcid-allocation area company-id 0x0060B0
shut all the hosts or host one by one to clear that area id.
purge fcdomain fcid vsan 2

2 comments:

Anonymous said...

"HP Virtual Connect does not load balance between the ports, the frames might get lost, if there are multiple connections."

HP now has load balancing on VC with the 1.31 firmware.

"When more than 255 hosts logged into that vsan, there may be issue, if all the ports Qlogic ports."

I worked this issue from the HP side with Jerome and we found that original issue that landed Qlogic on the auto-area-oui list has actually not been an issue in several years. We have found no issue with any current operating system using the current Qlogic drivers.

Anonymous said...

Hi guys,

i wanted to know if i take a backup of the switch and then enable npiv and then restore the config will it be ok. I dont see why when you enable NPIV it erases the config, plase reply asap

thanks