7.5.3. Entfernen eines VSCSI-Mappings
Das Mapping zwischen Backing-Device und vhost-Adapter kann jederzeit wieder aufgehoben werden. Gibt es auf der Client-LPAR keinen Pfad über einen anderen Adapter, ist ein Zugriff auf das Gerät dann nicht mehr möglich.
Die Client-LPARs hat die folgenden VSCSI-Mappings auf dem Virtual-I/O-Server:
$ vios lsvscsi ms03-vio2 vhost0
VTD STATUS BACKING BDPHYSLOC MIRRORED LUN
vtscsi0 Available hdisk3 - N/A 0x8100000000000000
vtscsi1 Available hdisk4 - N/A 0x8200000000000000
$
Das Mapping für das Backing-Device hdisk3 soll auf dem Virtual-I/O-Server ms03-vio2 entfernt werden. Die zugehörige Client-LPAR zum virtuellen SCSI-Server Adapter lässt sich mit „vios lsvscsi“ leicht ermitteln:
$ 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
$
Die zugehörige Client-LPAR ist aix22 (LPAR-ID 5) und der Adapter vhost0 ist im virtuellen Slot 33 des Virtual-I/O-Servers. Der zugehörige virtuelle SCSI-Client Adapter lässt sich dann der Ausgabe von „lpar lsvslot“ entnehmen:
$ 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 virtuelle SCSI-Client Adapter in Slot 21 der Client-LPAR aix22 ist mit dem virtuellen SCSI-Server Adapter in Slot 33 des Virtual-I/O-Servers ms03-vio2 verbunden. Anhand der Slot-Nummer lässt sich das zugehörige vscsi-Gerät in der Client-LPAR identifizieren:
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 #
Das zu entfernende Mapping geht also über den virtuellen SCSI-Client Adapter vscsi1 der LPAR, der Physical Location Code enthält die Slot-Nummer 21: V5-C21-T1.
Als nächstes muß die zu hdisk3 auf dem Virtual-I/O-Server gehörende Platte auf der Client-LPAR ermittelt werden. Das virtuelle Target-Device vtscsi0 des Virtual-I/O-Servers besitzt die LUN-ID 0x8100000000000000. Die dazu gehörende hdisk lässt sich mittels lscfg herausfinden:
aix22 # lscfg -l hdisk\* |grep 81
hdisk9 U9009.22A.8991971-V5-C11-T1-L8100000000000000 Virtual SCSI Disk Drive
aix22 #
Es ist die hdisk9 der Client-LPAR. Wir überprüfen ob diese Pfade über andere Adapter besitzt:
aix22 # lspath -l hdisk9
Enabled hdisk9 vscsi0
Enabled hdisk9 vscsi1
aix22 #
Neben dem Pfad über den Adapter vscsi1 hat die Platte noch einen weiteren aktiven (Enabled) Pfad über den Adapter vscsi0. Damit die Client-LPAR den Pfad über den Adapter vscsi1 nicht mehr verwendet (dieser wird ja durch das Entfernen des Mappings nicht mehr funktionieren), löschen wir den Pfad über den Adapter vscsi1:
aix22 # rmpath -dl hdisk9 -p vscsi1
path Deleted
aix22 #
Sämtliches I/O zu hdisk9 geht jetzt ausschließlich über den Adapter vscsi0!
Jetzt kann als Letztes das Mapping der hdisk3 zum Adapter vhost0 auf dem Virtual-I/O-Server entfernt werden:
$ vios unmap ms03-vio2 vtscsi0
$
(Anstelle des virtuellen Target-Devices vtscsi0 kann auch das Backing-Device hdisk3 angegeben werden.)
Besitzt die Platte in der Client-LPAR für welche auf einem Virtual-I/O-Server das Mapping entfernt werden soll keine Pfade über andere Adapter, muß ein anderes Vorgehen gewählt werden. Um dieses zu zeigen, entfernen wir auch das zweite Mapping für die hdisk9 der Client-LPAR aix22. Nachdem oben einer der beiden Pfade entfernt wurde, hat die LPAR nur noch einen aktiven Pfad:
aix22 # lspath -l hdisk9
Enabled hdisk9 vscsi0
aix22 #
Der letzte Pfad einer hdisk lässt sich nicht mit rmpath entfernen:
aix22 # rmpath -dl hdisk9 -p vscsi0
Method error (/etc/methods/ucfgdevice):
0514-076 Cannot perform the requested function because the specified
paths include all paths for the device.
aix22 #
Die Platte muß in diesem komplett aus dem Betriebssystem entfernt werden. Das geht natürlich nur, wenn sie nicht in Benutzung ist. In unserem Beispiel ist die Platte nicht in Benutzung:
aix22 # lspv | grep hdisk9
hdisk9 00dead00beef000e None
aix22 #
Die hdisk9 gehört zu keiner Volume Group, sie kann also ohne Probleme aus dem Betriebssystem entfernt werden:
aix22 # rmdev -dl hdisk9
hdisk9 deleted
aix22 #
Anschließend kann das Mapping (jetzt auf ms03-vio1) entfernt werden:
$ vios unmap ms03-vio1 vtscsi0
$