Virtuelle FC-Adapter und NPIV

Physical FC port with Virtual FC and NPIV

Eine Möglichkeit für die Virtualisierung von Storage unter PowerVM ist die Verwendung von virtuellen FC Adaptern. Dabei ist ein virtueller FC-Client Adapter über den POWER Hypervisor mit einem virtuellen FC-Server Adapter auf einem Virtual-I/O-Server verbunden, wie in Bild 7.10 gezeigt. Auf dem Virtual-I/O-Server wird der virtuelle FC-Server Adapter dann mit einem der physikalischen FC-Ports verbunden (Mapping). Jeder der verbundenen virtuellen FC-Server Adapter kann dabei einen eigenen Login in die FC-Fabric durchführen. Jeder virtuelle FC-Server Adapter bekommt dabei eine eigene 24-bit FC-Adresse zugewiesen.

Communication path of the virtual FC client adapter to the SAN LUN.
Bild 7.10: Kommunikationspfad virtueller FC Client Adapter zur SAN-LUN.

Der Vorteil von Virtual FC besteht darin, das jeder virtuelle FC-Client Adapter einen eigenen N_Port besitzt und damit direkt mit dem Storage in der FC-Fabric kommunizieren kann. Die Storage-LUNs können dem virtuellen FC -Client Adapter direkt zugewiesen. Der Virtual-I/O-Server selbst sieht normalerweise die Storage-LUNs der virtuellen FC Clients nicht. Das macht die Administration deutlicher einfacher als bei virtuellem SCSI, wo jede Storage-LUN auf dem Virtual-I/O-Server auf einen virtuellen SCSI Server Adapter gemappt werden muss (siehe nächstes Kapitel).

Bevor ein virtueller FC Adapter angelegt und gemappt wird, sieht die Situation auf einem Virtual-I/O-Server so wie in Bild 7.11 dargestellt aus. Der physikalische FC-Port ist an eine FC-Fabric angeschlossen und konfiguriert daher einen N_Port. Der physikalische FC-Port loggt sich in die Fabric ein (FLOGI) und bekommt die eindeutige N_Port ID 8c8240 zugewiesen. Danach registriert der FC-Port seine WWPN (hier 10:00:00:10:9b:ab:01:02) beim Simple Name Server (SNS) der Fabric (PLOGI). Danach kann der Virtual-I/O-Server über das Gerät fcs0 mit anderen N_Ports in der Fabric kommunizieren.

Physical FC port without virtual FC and NPIV
Bild 7.11: Physikalischer FC-Port ohne Virtual FC und NPIV

N_Port-ID Virtualisierung oder kurz NPIV ist eine Erweiterung des FC-Standards und erlaubt das sich über einen physikalischen FC-Port mehr als ein N_Port in die Fabric einloggen kann. Im Prinzip gab es diese Möglichkeit schon immer, allerdings nur im Zusammenhang mit FC Arbitrated Loop (FC-AL) und Fabrics. Mit NPIV können mehrere Client LPARs einen physikalischen FC-Port gemeinsam verwenden. Jeder Client hat dabei seinen eigenen eindeutigen N_Port.

In Bild 7.12 ist die Situation mit 2 virtuellen FC-Client Adaptern gezeigt. Jeder der Client Adapter hat eine eindeutige WWPN. Diese wird von PowerVM beim Erzeugen des virtuellen FC-Client Adapters zugewiesen (um Live-Partition Mobility unterstützen zu können, werden immer 2 WWPNs zugewiesen, wobei nur eine der beiden WWPNs aktiv ist). Jeder virtuelle FC-Client Adapter benötigt auf einem Virtual-I/O-Server einen Partner Adapter, den virtuellen FC-Server Adapter (oder auch vfchost). Dem virtuellen FC-Server Adapter muß auf dem Virtual-I/O-Server einer der physikalischen FC-Ports zugeordnet werden. Ist die Client-LPAR aktiv, dann loggt sich der virtuelle FC-Server Adapter in die Fabric ein (FDISC) und bekommt eine eindeutige N_Port ID zugewiesen. Im Bild ist das für den blauen Adapter die 8c8268 und für den roten Adapter die 8c8262. Danach registriert der blaue Adapter seine Client-WWPN (hier c0:50:76:07:12:cd:00:16) beim Simple Name Server (SNS) der Fabric (PLOGI). Das gleiche macht der rote Adapter für seine Client-WWPN (hier c0:50:76:07:12:cd:00:09). Damit haben dann beide virtuellen FC-Client Adapter jeweils einen N_Port mit einer eindeutigen 24-bit ID und können damit mit anderen N_Ports in der Fabric kommunizieren.

Physical FC port with Virtual FC and NPIV
Bild 7.12: Physikalischer FC-Port mit Virtual FC und NPIV

Die zu Daten werden natürlich zwischen virtuellem FC-Client Adapter und virtuellem FC-Server Adapter nicht vom Hypervisor kopiert, das würde zuviel Performance kosten. Der Hypervisor gibt lediglich die physikalische Speicheradresse weiter, an der die Daten stehen und der physikalische FC-Port verwendet dann DMA (Direct Memory Access) um auf diese Daten dann zuzugreifen.