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 („-cclient 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.