7.4.8. Ändern eines NPIV-Mappings

Die Zuordnung eines virtuellen FC Server-Adapters zu einem physikalischen FC-Port kann dynamisch geändert werden. Allerdings kann die Änderung des Mappings Auswirkungen auf das I/O der Client-LPAR haben. Wird das Mapping auf einen anderen physikalischen FC-Port geändert, ist die Änderung im Besten Fall (fast) unterbrechungsfrei. Die Pfade über den virtuellen FC Client-Adapter sind dann kurze Zeit nicht verfügbar, funktionieren allerdings nach dem Ummappen sofort wieder. Ob dies I/O-Probleme in der Client-LPAR verursachen kann, hängt vom Betriebssystem, der Konfiguration der virtuellen FC Client-Adapter (insbesondere das Attribut dyntrk) und der I/O-Auslastung ab. Um mögliche Probleme zu vermeiden, sollte man die betroffenen Pfade in der Client-LPAR vor dem Ummappen wegnehmen, ähnlich dem Vorgehen beim Wegnehmen des Mappings. Im Folgenden ist dies für den Fall der AIX LPAR aix22 kurz beschrieben. Der virtuelle FC Client-Adapter fcs0 von aix22 soll vom physikalischen FC-Port fcs0 auf dem Virtual-I/O-Server ms03-vio1 auf den physikalischen FC-Port fcs4 umgemappt werden. Der physikalische FC-Port fcs4 befindet sich in der gleichen Fabric, damit müsste man nach dem Ummappen exakt die gleichen LUNs wieder erreichen können.

Als erstes wird wieder überprüft, ob alle verwendeten LUNs alternative Pfade über einen anderen virtuellen FC Adapter haben:

aix22 # lspath
Enabled hdisk0 fscsi0
Enabled hdisk1   fscsi0
Enabled hdisk2   fscsi0
Enabled hdisk3   fscsi0
Enabled hdisk4   fscsi0
Enabled hdisk5   fscsi0
Enabled hdisk0 fscsi0
Enabled hdisk1   fscsi0
Enabled hdisk2   fscsi0
Enabled hdisk3   fscsi0
Enabled hdisk4   fscsi0
Enabled hdisk5   fscsi0
Enabled hdisk0 fscsi1
Enabled hdisk1   fscsi1
Enabled hdisk3   fscsi1
Enabled hdisk4   fscsi1
Enabled hdisk5   fscsi1
Enabled hdisk0 fscsi1
Enabled hdisk1   fscsi1
Enabled hdisk3   fscsi1
Enabled hdisk4   fscsi1
Enabled hdisk5   fscsi1
aix22 #

Für die hdisk2 ist das nicht der Fall, sie besitzt nur Pfade über fcs0:

aix22 # lspath -l hdisk2
Enabled hdisk2 fscsi0
Enabled hdisk2 fscsi0
aix22 #

Allerdings ist die hdisk2 in unserem Fall nicht in Verwendung:

aix22 # lspv|grep hdisk2
hdisk2          cafe000000000002                    None                       
aix22 #

Daher entfernen wir die hdisk2 temporär aus dem Betriebssystem:

aix22 # rmdev -l hdisk2
hdisk2 Defined
aix22 #

Nach dem Ummappen sollte die hdisk2 wieder erreichbar sein, daher behalten wir die Definition von hdisk2 in der ODM.

Alle anderen LUNs haben zusätzliche Pfade über fcs1 und bleiben daher verfügbar. Damit die Pfade über fcs0 nicht mehr verwendet werden, entfernen wir diese Pfade:

aix22 # rmpath -p fscsi0
paths Defined
aix22 #

Nachdem nun der virtuelle FC Client-Adapter fcs0 nicht mehr in Verwendung ist, kann das Mapping auf dem Virtual-I/O-Server geändert werden:

$ vios vfcmap ms03-vio1 vfchost2 fcs4
vfchost2 mapped to fcs4
$

Eine kurze Überprüfung der NPIV-Mappings zeigt, das sich der virtuelle FC Server-Adapter sofort wieder in die Fabric eingeloggt hat, und die Storage-Ports auch wieder sichtbar sind:

$ vios lsnpiv ms03-vio1
NAME      SLOT  FC    FCLABEL  CLIENT        CLNTOS  VFCCLIENT  VFCSLOT  STATUS       PORTS
vfchost2  C5    fcs4  Fabric1  aix22(5)   AIX     fcs0       C10      LOGGED_IN      7
vfchost3  C125  fcs0  Fabric1  aixsap01(9)   AIX     fcs0       C10      LOGGED_IN      7
vfchost4  C181  fcs0  Fabric1  aixdbp02(11)  AIX     fcs0       C10      LOGGED_IN      5
vfchost5  C182  fcs0  Fabric1  aixdbi02(13)  AIX     fcs0       C10      LOGGED_IN      5
vfchost6  C38   fcs0  Fabric1  aix22(5)   AIX     fcs2       C11      LOGGED_IN      1
$

Als letztes können die entfernte hdisk2 und die entfernten Pfade durch einen Lauf des Config-Managers wieder ins Betriebssystem konfiguriert werden:

aix22 # cfgmgr
aix22 #

Danach sind alle Pfade wieder verfügbar, und auch die temporär entfernte hdisk2 taucht wieder auf:

aix22 # lspath
Enabled hdisk0 fscsi0
Enabled hdisk1   fscsi0
Enabled hdisk2   fscsi0
Enabled hdisk3   fscsi0
Enabled hdisk4   fscsi0
Enabled hdisk5   fscsi0
Enabled hdisk0 fscsi0
Enabled hdisk1   fscsi0
Enabled hdisk2   fscsi0
Enabled hdisk3   fscsi0
Enabled hdisk4   fscsi0
Enabled hdisk5   fscsi0
Enabled hdisk0 fscsi1
Enabled hdisk1   fscsi1
Enabled hdisk3   fscsi1
Enabled hdisk4   fscsi1
Enabled hdisk5   fscsi1
Enabled hdisk0 fscsi1
Enabled hdisk1   fscsi1
Enabled hdisk3   fscsi1
Enabled hdisk4   fscsi1
Enabled hdisk5   fscsi1
aix22 #