7.5.1. Hinzufügen eines virtuellen SCSI-Adapters
Soll einer aktiven LPAR ein virtueller SCSI Adapter hinzugefügt werden, muß die LPAR eine aktive RMC-Verbindung zu einer HMC haben. Für den virtuellen SCSI Adapter wird ein freier virtueller Slot benötigt. Da ein virtueller SCSI Client Adapter immer mit einem virtuellen SCSI Server Adapter auf einem Virtual-I/O-Server zusammen arbeitet, muß für jeden Client-Adapter immer auch ein Server-Adapter auf einem Virtual-I/O-Server angelegt werden. Auch auf dem Virtual-I/O-Server benötigt man dazu einen freien virtuellen Slot.
Welche virtuellen Slots auf der Client-LPAR noch verfügbar sind, lässt sich mit „lpar lsvslot“ (list virtual slots) ermitteln:
$ 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
20 No fc/client 1 remote: ms03-vio2(2)/4 c05076030aba0000,c05076030aba0001
$
Hier ist beispielsweise der virtuelle Slot 11 noch verfügbar.
Die verfügbaren virtuellen Slots auf einem Virtual-I/O-Server lassen sich auf die gleiche Weise ermitteln, hier für ms03-vio1:
$ lpar lsvslot ms03-vio1
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 fc/server 1 remote: aix22(5)/10
11 No eth 1 PVID=900 VLANS= ETHERNET0 1DC8DB485D0B
20 No eth 1 PVID=1 VLANS= ETHCTRL 1DC8DB485D14
21 No eth 1 TRUNK(1) IEEE PVID=1 VLANS=100,200 ETHERNET0 1DC8DB485D15
22 No eth 1 TRUNK(1) IEEE PVID=2 VLANS=150,250 ETHERNET0 1DC8DB485D16
125 No fc/server 1 remote: aixsap01(9)/10
181 No fc/server 1 remote: aixdbp02(11)/10
182 No fc/server 1 remote: aixdbi02(13)/10
$
Hier wäre unter anderem der virtuelle Slot 111 verfügbar.
Um einen virtuellen SCSI-Client Adapter für eine LPAR anzulegen, dient das Kommando „lpar addscsi“ (add virtual SCSI adapter). Dabei muß neben der Client LPAR auch der Virtual-I/O-Server für den virtuellen SCSI Server Adapter angegeben werden:
$ lpar addscsi aix22 11 ms03-vio1 111
aix22: slot 11 -> ms03-vio1/111 added by DLPAR operation
aix22: slot 11 -> ms03-vio1/111 added to current profile (standard)
ms03-vio1: slot 111 -> aix22/11 added by DLPAR operation
$
Die Ausgabe des Kommandos zeigt, daß zunächst ein virtueller SCSI-Client Adapter per DLPAR-Operation hinzugefügt wird. Als nächstes wird das aktuelle Profil der LPAR angepasst und anschließend wird der zugehörige SCSI-Server Adapter auf dem Virtual-I/O-Server angelegt. Das Kommando legt als automatisch beide Adapter an, auf Wunsch kann dies durch Verwendung entsprechender Optionen („-c“ client adapter only) verhindert werden.
Das Heraussuchen einer freien virtuellen Slot-Nummer auf dem Virtual-I/O-Server kann in größeren Umgebungen mühsam sein, da ein Virtual-I/O-Server leicht mehrere hundert virtuelle Adapter besitzen kann. Die virtuelle Slot-Nummer auf dem Virtual-I/O-Server spielt im Prinzip aber gar keine Rolle. Außerdem gibt es keine Garantie dafür, das bei einer LPM-Operation die virtuelle Slot-Nummer auf dem Virtual-I/O-Server gleich bleibt. (Der virtuelle Slot 111 z.B. könnte ja auf dem Ziel Virtual-I/O-Server schon in Verwendung sein.) Lässt man die Angabe der virtuellen Slot-Nummer auf dem Virtual-I/O-Server im Kommando „lpar addscsi“ einfach weg, dann wird automatisch eine freie Slot-Nummer auf dem Virtual-I/O-Server ermittelt:
$ lpar addscsi aix22 11 ms03-vio1
aix22: slot 11 -> ms03-vio1/33 added by DLPAR operation
aix22: slot 11 -> ms03-vio1/33 added to current profile (standard)
ms03-vio1: slot 33 -> aix22/11 added by DLPAR operation
$
Hier wurde beispielsweise die Slot-Nummer 33 auf dem Virtual-I/O-Server verwendet.
Möchte man auch auf der Client-LPAR die Slot-Nummer nicht vorgeben, kann man diese ebenfalls weglassen. Es wird dann auch für den Client eine freie virtuelle Slot-Nummer für den virtuellen SCSI-Client Adapter ermittelt. Normalerweise ist das die erste freie Slot-Nummer. Dies lässt sich aber konfigurieren.
Unter AIX wird für den Gerätenamen eines virtuellen SCSI-Client Adapter der Name vscsi verwendet. Nach dem Hinzufügen eines virtuellen SCSI-Client Adapters zu einer LPAR wird das zugehörige neue Gerät nicht automatisch vom Betriebssystem erkannt.
aix22 # lscfg -l vscsi*
lscfg: device vscsi* not found.
aix22 #
Die Fehlermeldung zeigt eindeutig, das der oben angelegte Adapter in Slot 11, dem Betriebssystem noch nicht bekannt ist.
Nach dem Hinzufügen eines virtuellen SCSI-Client Adapters in einer Client-LPAR, muß das Betriebssystem der Client-LPAR den neuen Client-Adapter erst erkennen. Im Falle von AIX als Betriebssystem muß dazu der Config-Manager cfgmgr gestartet werden:
aix22 # cfgmgr -v
cfgmgr is running in phase 2
----------------
…
----------------
Attempting to configure device 'vscsi0'
Time: 0 LEDS: 0x25b3
Invoking /usr/lib/methods/cfg_vclient -l vscsi0
Number of running methods: 1
----------------
Completed method for: vscsi0, Elapsed time = 1
Return code = 0
*** no stdout ****
*** no stderr ****
…
aix22 #
Die Ausgabe zeigt das der Adapter vscsi0 erkannt wurde. Allerdings werden keine Kind-Geräte aufgelistet. Dies liegt daran, daß zwar der virtuelle SCSI-Client und virtuelle SCSI-Server Adapter angelegt wurden, aber es wurden dem virtuellen SCSI-Server noch keine Ziel-Geräte zugeordnet.
Hat eine LPAR keine aktive RMC-Verbindung oder ist nicht aktiv, dann kann ein virtueller SCSI Adapter nur einem der Profile der LPAR hinzugefügt werden. Dies ist z.B. immer der Fall, wenn die LPAR gerade neu angelegt wurde und noch nicht installiert ist.
In diesem Fall muß bei den gezeigten Kommandos lediglich die Option „-p“ mit einem Profil-Namen verwendet werden. Welche Profile eine LPAR besitzt kann mittels „lpar lsprof“ (list profiles) einfach herausgefunden werden:
$ lpar lsprof aix22
NAME MEM_MODE MEM PROC_MODE PROCS PROC_COMPAT
standard ded 7168 ded 2 default
last*valid*configuration ded 7168 ded 2 default
$
(Im Profil mit dem Namen last*valid*configuration ist die letzte aktive Konfiguration hinterlegt.)
Die im Profil standard definierten virtuellen Adapter lassen sich dann unter Angabe des Profil-Namens mit „lpar lsvslot“ anzeigen:
$ lpar -p standard 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
$
Beim Hinzufügen des Adapters muß lediglich der entsprechende Profil-Name angegeben werden, ansonsten sieht das Kommando genauso aus, wie oben gezeigt:
$ lpar -p standard addscsi aix22 11 ms03-vio1
aix22: slot 11 -> ms03-vio1 slot 33 added to current profile (standard)
ms03-vio1: slot 33 -> aix22 slot 11 added by DLPAR operation
$
Um den neuen Adapter in Slot 11 verfügbar zu machen, muß die LPAR unter Angabe des Profil-Namens standard neu aktiviert werden.