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.