Cisco Fibre Channel NPIV Feature
The first of the two storage virtualization technologies that will be discussed is the NPIV feature. What exactly is the challenge and why do you need to know about it?
In a typical physical design, there is a server, or the initiator, that connects to a Fibre Channel switch through its host bus adapter (HBA). There is a physical link between the HBA Fibre Channel port and a Fibre Channel port on the switch. You already know about the N_Port to F_Port connectivity. So, there is a single physical N_Port connected to a single physical F_Port. And the Fibre Channel processes run as follows:
FLOGI: The N_Port logs in to the F_Port to which it is connected.
PLOGI: Then the N_Port logs in to the N_Port with which it will communicate.
PRLI: The two N_Ports exchange the needed information for the supported upper-layer protocols (ULPs) to ensure the target and the initiator can successfully communicate.
If you look at the Fibre Channel ID (FCID), you have the domain ID of the switch to which the server is connected and the port ID. If you remember, the port ID is a unique N_Port-to-F_Port reference between physical ports.
However, in the data center there is now a lot of virtualization. Actually, when it comes to the servers, it is all virtualization, with some minor exceptions when there are specific requirements by the application to run on a bare-metal server, or in other words, to use its own dedicated physical server.
In the case of virtualization, on the top of the physical server you run a specialized operating system, called a hypervisor, that creates virtual images of the physical resources, and then you utilize them to create protected, isolated environments called virtual machines (VMs) to run your applications in.
Let’s go back to the example from the beginning of this section and now add virtualization to the server. This means that the communication of multiple different VMs, running on top of it, will go through a single physical N_Port to the F_Port. Fine, but is this going to be possible, as now there are multiple N_Ports that would like to log in to the fabric and get their unique FCIDs? The domain ID will be the same (the area ID is not taken into account), and the port ID will be the same as well, because all of these virtual N_Ports communicate through the same physical N_Port. Figure 13-2 illustrates the N_Port challenge in a virtualized environment.
Figure 13-2 N_Port Challenge in a Virtualized Environment
To solve this problem, N-Port ID Virtualization (NPIV) was developed (see Figure 13-3). It allows the switch to assign multiple N-Port IDs or FCIDs to a single Fibre Channel host connection (N-Port). This is possible because, on the server side, the NPIV-capable HBA creates and assigns multiple virtual N_Ports to the VMs, and the virtual N_Ports have unique World Wide Port Name (WWPNs) addresses and communicate through the same physical N_Port. Because of that, the switch will see multiple different WWPNs, which will allow it to create multiple different N_Port-to-F_Port references. Based on that, the switch will be able to generate and assign the needed unique FCIDs even if the traffic for all the VMs goes through the same physical N_Port.
Figure 13-3 NPIV
The device login process starts normally, with an initial FLOGI. Then for all subsequent logins, the fabric discovery (FDISC) login process is used.
The NPIV feature is available in the NX-OS and is supported on the following Cisco data center switches:
- Cisco MDS 9250i
- Cisco MDS 9396T 32Gbps 96-Port Fibre Channel Switch
- Cisco MDS 9148T 32Gbps 48-Port Fibre Channel Switch
- Cisco MDS 9148S 16G Multilayer Fabric Switch
- Cisco MDS 9148 Multilayer Fabric Switch
- Cisco MDS 9706 Multilayer Director
- Cisco MDS 9710 Multilayer Director
- Cisco MDS 9718 Multilayer Director
- Cisco UCS 6332-16UP Fabric Interconnect
- Cisco UCS 6324 Fabric Interconnect
- Cisco UCS 6454 Fabric Interconnect
- Cisco UCS 64108 Fabric Interconnect
Support for the NPIV feature on the various Cisco data center products dynamically changes. For the latest information, check the data sheets of the products on the Cisco Systems website.
As mentioned, NPIV is a feature, which means it can be enabled or disabled on the switch in a nondisruptive manner. By default, on the Cisco switches that support it, this feature is disabled, as shown in Example 13-1.
Example 13-1 NPIV Feature Default State
mds-9100-a#
sh feature
|
include npiv
npiv 1 disabled
mds-9100-a#
The command to enable this feature in the Cisco NX-OS is global. First, you must go into the configuration mode and then to enable NPIV, use the feature command, as shown in Example 13-2.
Example 13-2 Enabling NPIV
mds-9100-a#
configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
mds-9100-a(config)#
feature npiv
mds-9100-a(config)#
To verify that the NPIV feature is enabled, use the same show feature command as before (see Example 13-3).
Example 13-3 Verifying NPIV Is Enabled
Click here to view code image
mds-9100-a(config)#
sh feature
|
include npiv
npiv 1 enabled
mds-9100-a(config)#