7.5.4. Wegnehmen eines virtuellen SCSI-Adapters

Soll ein virtueller SCSI Adapter entfernt werden, müssen vorher auf der Client-LPAR alle Pfade über diesen Adapter entfernt werden, oder sogar die entsprechenden Platten komplett aus dem Betriebssystem entfernt werden.

Wir demonstrieren das Vorgehen wieder am Beispiel der LPAR aix22 und entfernen dort zunächst den virtuellen SCSI Adapter im Slot 11 der Client-LPAR:

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

Der zugehörige virtuelle SCSI-Server Adapter befindet sich auf dem Virtual-I/O-Server ms03-vio1 im Slot 33. Zunächst schauen wir uns aber an, welche Platten auf der Client-LPAR den virtuellen SCSI-Client Adapter in Slot 11 verwenden. Dazu benötigen wir den Gerätenamen des entsprechenden vscsi-Adapters unter AIX:

aix22 # lscfg -l vscsi\*
  vscsi0           U9009.22A.8991971-V5-C11-T1  Virtual SCSI Client Adapter
  vscsi1           U9009.22A.8991971-V5-C21-T1  Virtual SCSI Client Adapter
aix22 #

Der Adapter vscsi0 befindet sich im virtuellen Slot 11 (V5-C11-T1). Welche Platten Pfade über diesen Adapter besitzen lässt sich mit dem Kommando lspath herausfinden:

aix22 # lspath -p vscsi0
Enabled hdisk9 vscsi0
Enabled hdisk10 vscsi0
aix22 #

Beide Platten haben aber noch Pfade über den Adapter vscsi1:

aix22 # lspath -l hdisk9
Enabled hdisk9 vscsi0
Enabled hdisk9 vscsi1
aix22 # lspath -l hdisk10
Enabled hdisk10 vscsi0
Enabled hdisk10 vscsi1
aix22 #

Es müssen also jeweils nur die Pfade der beiden Platten über den Adapter vscsi0 entfernt werden. Dies kann man entweder für jede der Platten einzeln machen, so wie im letzten Unterkapitel oder für alle betroffenen Platten zusammen. Wir haben uns hier für die letzte Variante entschieden:

aix22 # rmpath -dp vscsi0
paths Deleted
aix22 #

Auf die beiden Platten kann jetzt nur noch über die verbleibenden Pfade über den Adapter vscsi1 zugegriffen werden.

Damit der virtuelle SCSI-Client Adapter entfernt werden kann, muß das zugehörige Gerät vscsi0 aus dem Betriebssystem entfernt werden:

aix22 # rmdev -dl vscsi0
vscsi0 deleted
aix22 #

Als nächstes müssen die Mappings auf dem zugehörigen virtuellen SCSI-Server Adapter entfernt werden. Dazu schauen wir uns zunächst an welcher der vhost-Adapter auf dem Virtual-I/O-Server den Slot 33 verwendet:

$ vios lsvscsi ms03-vio1
SVSA    SLOT  CLIENT     LUNS
vhost0  C33   aix22(5)  2
vhost1  C34   aixsap01(9)  7
vhost2  C35   aixdbp02(11)  21
vhost3  C36   aixdbi02(13)  13
$

Es ist gleich der erste Adapter in der Ausgabe – vhost0. Über diesen sind 2 LUNs gemappt. Welche das sind, kann durch Angabe des Adapters angezeigt werden:

$ vios lsvscsi ms03-vio1 vhost0
VTD      STATUS     BACKING  BDPHYSLOC  MIRRORED  LUN
vtscsi0  Available  hdisk3   -          N/A       0x8100000000000000
vtscsi1  Available  hdisk4   -          N/A       0x8200000000000000
$

Beide Mappings müssen entfernt werden:

$ vios unmap ms03-vio1 vtscsi0
$ vios unmap ms03-vio1 vtscsi1
$

Als letztes können nun der virtuelle SCSI-Client Adapter und der zugehörige virtuelle SCSI-Server Adapter entfernt werden:

$ lpar rmscsi aix22 11
aix22: slot 11 -> ms03-vio1/33 removed by DLPAR operation
aix22: slot 11 -> ms03-vio1/33 removed from current profile (standard)
ms03-vio1: slot 33 -> aix22/11 removed by DLPAR operation
$

Das Kommando entfernt den virtuellen SCSI-Client Adapter auf der Client-LPAR, als auch den zugehörigen virtuellen SCSI-Server Adapter auf dem Virtual-I/O-Server.

Im Falle das eine oder mehrere Platten auf der LPAR nur Pfade über den zu entfernenden virtuellen SCSI-Client Adapter haben, müssen die Platten aus dem Betriebssystem entfernt werden. Ohne Adapter kann auf die Platten dann ja nicht mehr zugegriffen werden. Wir zeigen auch diesen Fall, indem wir den verbleibenden zweiten virtuellen SCSI-Client Adapter ebenfalls entfernen. Betroffen sind auch hier nur die beiden Platten hdisk9 und hdisk10:

aix22 # lspath -p vscsi1
Enabled hdisk9 vscsi1
Enabled hdisk10 vscsi1
aix22 #

Pfade über einen weiteren Adapter haben beide Platten nicht:

aix22 # lspath -l hdisk9
Enabled hdisk9 vscsi1
aix22 # lspath -l hdisk10
Enabled hdisk10 vscsi1
aix22 #

Die Platten können nur aus dem Betriebssystem entfernt werden, wenn diese nicht in Benutzung sind. Dies ist in unserem Beispiel aber der Fall:

aix22 # lspv | grep hdisk9
hdisk9          00dead00beef000e                    None                       
aix22 # lspv | grep hdisk10
hdisk10         00dead00beef0001                    None                       
aix22 #

Beide Platten gehören zu keiner Volume Gruppe und können daher entfernt werden:

aix22 # rmdev -dl hdisk9
hdisk9 deleted
aix22 # rmdev -dl hdisk10
hdisk10 deleted
aix22 #

Damit der virtuelle SCSI-Client Adapter entfernt werden kann, muß das zugehörige Gerät vscsi1 aus dem Betriebssystem entfernt werden:

aix22 # rmdev -dl vscsi1
vscsi1 deleted
aix22 #

Das Löschen der Platten und des vscsi-Gerätes kann auch in einer Operation durchgeführt werden, indem man die Option „-R“ (recursive) von rmdev verwendet:

aix22 # rmdev -Rdl vscsi1
hdisk9 deleted
hdisk10 deleted
vscsi1 deleted
aix22 #

Nachdem nun die gemappten Platten in der Client-LPAR nicht mehr in Verwendung sind, kann das VSCSI-Mapping auf dem Virtual-I/O-Server entfernt werden. Der zugehörige virtuelle SCSI-Server Adapter ist in Slot 33 auf dem Virtual-I/O-Server ms03-vio2:

$ vios lsvscsi ms03-vio2
SVSA    SLOT  CLIENT     LUNS
vhost0  C33   aix22(5)  2
vhost1  C34   aixsap01(9)  7
vhost2  C35   aixdbp02(11)  21
vhost3  C36   aixdbi02(13)  13
$

Auch hier ist der Adapter wieder der vhost0, mit 2 zugeordneten Backing-Devices:

$ vios lsvscsi ms03-vio2 vhost0
VTD      STATUS     BACKING  BDPHYSLOC  MIRRORED  LUN
vtscsi0  Available  hdisk3   -          N/A       0x8100000000000000
vtscsi1  Available  hdisk4   -          N/A       0x8200000000000000
$

Wir entfernen die beiden Mappings wieder mit „vios unmap“:

$ vios unmap ms03-vio2 vtscsi0
$ vios unmap ms03-vio2 vtscsi1
$

Abschließend können jetzt die virtuellen SCSI Adapter entfernt werden (Client- und Server-Adapter):

$ lpar rmscsi aix22 21
aix22: slot 21 -> ms03-vio2/33 removed by DLPAR operation
aix22: slot 21 -> ms03-vio2/33 removed from current profile (standard)
ms03-vio2: slot 33 -> aix22/21 removed by DLPAR operation
$