7.4.9. Wegnehmen eines virtuellen FC-Adapters

Wird ein virtueller FC Client-Adapter nicht mehr benötigt, dann kann er natürlich auch wieder entfernt werden. Geräte, die ausschließlich über den zu entfernenden Adapter erreichbar sind, können dann nicht mehr verwendet werden und sollten daher gelöscht werden. Ein virtueller FC Client-Adapter kann mit dem Kommando „lpar rmfc“ (remove virtual FC adapter) entfernt werden.

Hinweis: Ein virtueller FC Client-Adapter kann nicht entfernt werden, wenn er noch in Benutzung ist bzw. das zugehörige fcs-Gerät noch im Betriebssystem konfiguriert ist.

$ lpar rmfc aix22 10
hmc01: chhwres -m ms03 -r virtualio --rsubtype fc  -o r -p aix22 -s 10
ERROR: remote HMC command returned an error (1)
StdErr: HSCL294D Dynamic remove of virtual I/O resources failed:
StdErr: 
StdErr:
StdErr: 0931-029 The specified slot contains a device or devices that are currently
StdErr:  configured. Unconfigure the following device or devices with the rmdev
StdErr:  command and try again.
StdErr:
StdErr: fcs0
StdErr:
StdErr:
StdErr:
StdErr:
StdErr: The OS return code is 1.
StdErr:
$

Der Versuch resultiert in einer Fehlermeldung, welche darauf hinweist das noch ein Gerät (hier fcs0) in Verwendung ist. Es ist also nicht möglich einen aktiven virtuellen FC-Adapter „aus Versehen“ zu löschen.

Als Beispiel ist gezeigt wie der virtuelle FC Client-Adapter fcs0 der LPAR aix22 korrekt entfernt werden kann:

Als erstes sollte man sich die Informationen, wie WWPNs, Slot-Nummern und Virtual-I/O-Server, für den zu entfernenden virtuellen FC Client-Adapter notieren. Falls es ein Problem geben sollte, kann man ihn dann relativ einfach wieder anlegen:

$ lpar lsvslot aix22
SLOT  REQ  ADAPTER_TYPE   DATA
0     Yes  serial/server  remote: (any)/any connect_status= hmc=1
1     Yes  serial/server  remote: (any)/any connect_status= hmc=1
5     No   eth            PVID=100 VLANS= ETHERNET0
10    No   fc/client      remote: ms03-vio1(1)/5 c05076030aba0002,c05076030aba0003
20    No   fc/client      remote: ms03-vio2(2)/4 c05076030aba0000,c05076030aba0001
$

Der virtuelle FC Client-Adapter fcs0 war der Adapter in Slot 10 (das kann man vorsichtshalber mit „vios lsnpiv“ noch einmal prüfen), der zugehörige virtuelle FC Server-Adapter ist im Slot 5 des Virtual-I/O-Servers ms03-vio1. Die beiden WWPNs des Adapters sind c05076030aba0002 und c05076030aba0003.

Es sollte überprüft werden, 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 #

In der Beispiel-Ausgabe haben alle LUNs, bis auf hdisk2, alternative Pfade über den zweiten virtuellen FC-Adapter fcs1. Die hdisk2 besitzt nur Pfade über fcs0:

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

D.h. wenn das Mapping für fcs0 entfernt wird, ist kein I/O mehr zu hdisk2 möglich! Allerdings ist die hdisk2 in unserem Fall nicht in Verwendung:

aix22 # lspv|grep hdisk2
hdisk2          cafe000000000002                    None                       
aix22 #

Daher entfernen wir die hdisk2 permanent aus dem Betriebssystem:

aix22 # rmdev -dl hdisk2
hdisk2 deleted
aix22 #

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 -dp fscsi0
paths Deleted
aix22 #

Als letztes muß das Gerät fcs0 für den virtuellen FC Client-Adapter aus dem Betriebssystem entfernt werden. Da der virtuelle FC Client-Adapter entfernt wird, wird auch die Definition in der ODM nicht mehr benötigt. Daher sollte beim Entfernen die Option „-d“ bei rmdev verwendet werden, um die ODM Definitionen für das Gerät ebenfalls zu entfernen. Das Gerät fcs0 besitzt mindestens ein Kind-Gerät (fscsi0), welches ebenfalls entfernt werden muß. Es wird die Option „-R“ (recursive) von rmdev verwendet:

aix22 # rmdev -Rdl fcs0
fscsi0 deleted
fcs0 deleted
aix22 #

Auf dem Virtual-I/O-Server ms03-vio1 besteht immer noch die Zuordnung des virtuellen FC Server-Adapters zum physikalischen FC-Port. Dieses Mapping muß entfernt werden, um den virtuellen FC Server-Adapter löschen zu können. Mittels „vios lsnpiv“ können die aktuellen NPIV-Mappings des Virtual-I/O-Server ms03-vio1 noch einmal angezeigt werden, um das vfchost Gerät des Mappings herauszufinden:

$ 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
$

Der zum virtuellen FC Client-Adapter gehörige Server-Adapter ist vfchost2! Das Mapping kann wieder mit „vios vfcunmap“ entfernt werden:

$ vios vfcunmap ms03-vio1 vfchost2
vfchost2 unmapped
$

Schließlich können jetzt virtueller FC Client- und Server-Adapter durch den POWER Hypervisor entfernt werden, dazu dient das Kommando „lpar rmfc“:

$ lpar rmfc aix22 10
aix22 slot 10 -> ms03-vio1 slot 5 removed by DLPAR operation
aix22 slot 10 -> ms03-vio1 slot 5 removed from current profile (standard)
ms03-vio1 slot 5 -> aix22 slot 10 removed by DLPAR operation
$

Die Ausgabe bestätigt, das auch der virtuelle FC Server-Adapter auf dem Virtual-I/O-Server entfernt wurde.

Soll ein virtueller FC Client-Adapter aus einem Profil einer LPAR entfernt werden, dann muß lediglich die Option „-p“ mit dem Profilnamen angegeben werden.