8.6.2. Erzeugen von Backing-Devices

Ein Storage Pool erlaubt die einfache und schnelle Erzeugung von Backing-Devices für Client-LPARs. Solange ein Storage Pool noch freie Kapazitäten besitzt, können jederzeit Backing-Devices erzeugt und Client-LPARs zugeordnet werden (VSCSI-Mapping).

Um ein Backing-Device in einem Storage Pool zu erzeugen, gibt es das Kommando „vios mkbdsp“ (make backing-device in storage pool). Neben dem Storage Pool muß ein Name für das zu erzeugende Backing-Device angegeben werden, sowie die gewünschte Größe:

$ vios mkbdsp ms05-vio1 testpool bd001 1g
$

In der Übersicht der Storage Pools des Virtual-I/O-Servers ist die Anzahl der Backing-Devices für den Storage Pool testpool von 0 auf 1 gestiegen:

$ vios lssp ms05-vio1
POOL      TYPE    SIZE       FREE       ALLOC      BDS
rootvg    LVPOOL  558.00 GB   68.00 GB  512.00 MB  0
testpool  LVPOOL    9.93 GB    8.93 GB    8.00 MB  1
$

Natürlich können die Backing-Devices eines Storage-Pools ebenfalls aufgelistet werden, hierzu gibt es das Kommando „vios lsbdsp“ (list backing-devices of storage pool):

$ vios lsbdsp ms05-vio1 testpool
BDNAME  SIZE     VTD   SVSA
bd001   1.00 GB  None  None
$

Das gerade erzeugte Backing-Device wird aufgelistet, ist allerdings noch keinem vhost-Adapter (VSCSI-Mapping) zugeordnet. Um das Backing-Device einer Client-LPAR zuordnen zu können, benötigt man den zur Client-LPAR zugehörigen vhost-Adapter. Mit dem Kommando „vios lsvscsi“ lassen sich alle vhost-Adapter eines Virtual-I/O-Servers auflisten:

$ vios lsvscsi ms05-vio1
SVSA    SLOT  CLIENT              LUNS
vhost0  C25   lpar1(3)            2
vhost1  C28   lpar2(4)            2
vhost2  C31   lpar3(5)            2
$

Die Ausgabe zeigt für jeden vhost-Adapter (Spalte SVSA) die virtuelle Slot-Nummer auf dem Virtual-I/O-Server, sowie die Client-LPAR und die Anzahl der zugeordneten Backing-Devices (Spalte LUNS).

Um das gerade erzeugte Backing-Device z.B. der Client-LPAR lpar1 (vhost0) zuzuordnen, kann erneut das Kommando „vios mkbdsp“ verwendet werden. Es muß das schon erzeugte Backing-Device, sowie der vhost-Adapter angegeben werden, dem das Backing-Device zugeordnet werden soll:

$ vios mkbdsp ms05-vio1 testpool bd001 vhost0
$

Anstelle des Kommandos „vios mkbdsp“ kann auch das schon früher benutzte Kommando „vios map“ verwendet werden:

$ vios map ms05-vio1 bd001 vhost0
$

Eine Überprüfung der vhost-Adapter zeigt, das die Anzahl der LUNs (Backing-Devices) für den Adapter vhost0 auf 3 Backing-Devices angestiegen ist:

$ vios lsvscsi ms05-vio1
SVSA    SLOT  CLIENT              LUNS
vhost0  C25   lpar1(3)            3
vhost1  C28   lpar2(4)            2
vhost2  C31   lpar3(5)            2
$

Möchte man die LUNs (Backing-Devices) im Detail sehen, kann zusätzlich der vhost-Adapter angegeben werden:

$ vios lsvscsi ms05-vio1 vhost0
VTD      STATUS     BACKING                             BDPHYSLOC  MIRRORED  LUN
vtopt0   Available  /var/vio/VMLibrary/AIX710506_2.iso  -          N/A       0x8100000000000000
vtscsi0  Available  lpar1_hd00                          -          N/A       0x8200000000000000
vtscsi5  Available  bd001                               -          N/A       0x8300000000000000
$

Von der Installation ist noch eine virtuelle AIX Installations-CD eingelegt (AIX710506_2.iso) und beim virtuellen Target Gerät vtscsi0 (Backing-Device lpar1_hd00) handelt es sich vermutlich um die Boot-Platte der LPAR lpar1. Das neu zugeordnete Backing-Device bd001 ist als Gerät vtscsi5 gemappt.

Das das Backing-Device bd001 nun einer LPAR zugeordnet ist, lässt sich natürlich auch anhand der Ausgabe von „vios lsbdsp“ sehen:

$ vios lsbdsp ms05-vio1 testpool
BDNAME  SIZE     VTD      SVSA
bd001   1.00 GB  vtscsi5  vhost0
$

Die Zuordnung eines Backing-Devices zu einer Client-LPAR ist dieser Ausgabe nicht direkt zu entnehmen. Um die Zuordnung für den Administrator optisch einfacher zu machen, verwenden viele Administratoren die Möglichkeit den Namen des virtuellen Target Devices (default vtscsiN) mit anzugeben. Dies ist im Folgenden kurz gezeigt.

Zunächst benötigt man ein weiteres Backing-Device:

$ vios mkbdsp ms05-vio1 testpool bd002 1g
$

Beim Mapping kann der gewünschte Name für das virtuelle Target Device als letztes Argument angegeben werden:

$ vios mkbdsp ms05-vio1 testpool bd002 vhost0 lpar1_hd02
$

Oder unter Verwendung von „vios map“:

$ vios map ms05-vio1 bd002 vhost0 lpar1_hd02
$

Der benutzerdefinierte Name für das virtuelle Target Device taucht dann entsprechend in den Ausgaben der Kommandos auf:

$ vios lsbdsp ms05-vio1 testpool
BDNAME  SIZE     VTD      SVSA
bd001   1.00 GB  vtscsi5  vhost0
bd002   1.00 GB  lpar1_hd02  vhost0
$

Der Namensbestandteil lpar1 des virtuellen Target Devices deutet nun direkt auf die zugehörige Client-LPAR hin. Dies kann eine große Hilfe sein, wenn sehr viele Backing-Devices in einer Umgebung zum Einsatz kommen.

Damit die gemappten Backing-Device in der Client-LPAR auch sichtbar sind, muß unter AIX ein Lauf des Config-Managers cfgmgr erfolgen:

lpar1 # lspv
hdisk0          00fbabe641e13592                    rootvg          active     
lpar1 #
lpar1 # cfgmgr -l vio0
lpar1 #
lpar1 # lspv
hdisk0          00fbabe641e13592                    rootvg          active     
hdisk1          none                                None                       
hdisk2          none                                None                       
lpar1 #

Die gemappten Backing-Devices tauchen erst nach dem Config-Manager Lauf in der Auflistung als Physical Volumes auf. Der Physical Location Code der Physical Volumes lässt sich mit Hilfe des AIX Kommandos lscfg anzeigen:

lpar1 # lscfg -l hdisk*
  hdisk0           U8205.E6C.05E4E5Q-V3-C5-T1-L8200000000000000  Virtual SCSI Disk Drive
  hdisk1           U8205.E6C.05E4E5Q-V3-C5-T1-L8300000000000000  Virtual SCSI Disk Drive
  hdisk2           U8205.E6C.05E4E5Q-V3-C5-T1-L8400000000000000  Virtual SCSI Disk Drive
lpar1 #

Über die LUN-ID im Physical Location Code (z.B. L8400000000000000) und der Ausgabe der Mappings für die Client-LPAR auf dem Virtual-I/O-Server („vios lsvscsi“) lässt sich leicht eine Zuordnung zwischen Backing-Device auf dem Virtual-I/O-Server und dem Physical Volume in der AIX LPAR herstellen:

$ vios lsvscsi ms05-vio1 vhost0
VTD      STATUS     BACKING                             BDPHYSLOC  MIRRORED  LUN
vtopt0   Available  /var/vio/VMLibrary/AIX710506_2.iso  -          N/A       0x8100000000000000
vtscsi0  Available  lpar1_hd00                          -          N/A       0x8200000000000000
vtscsi5  Available  bd001                               -          N/A       0x8300000000000000
lpar1_hd02  Available  bd002                               -          N/A       0x8400000000000000
$

Die hdisk2 der LPAR lpar1 beispielsweise hat gemäß lscfg die LUN-ID 8400000000000000. Diese LUN-ID findet man in der Ausgabe von „vios lsvscsi“ in der letzten Zeile beim Backing-Device bd002 wieder (die Spalte LUN ist hier relevant).

Die neuen Physical Volumes können auf der LPAR beliebig genutzt werden, z.B. zum Erstellen einer Volume Group:

lpar1 # mkvg -S hdisk1
0516-1254 mkvg: Changing the PVID in the ODM.
vg00
lpar1 #

In den bisherigen Beispielen wurde immer zunächst das Backing-Device erzeugt (Kommando „vios mkbdsp“) und dann im zweiten Schritt einem vhost-Adapter zugeordnet (Kommando „vios mkbdsp“ oder „vios map“). Das Kommando „vios mkbdsp“ erlaubt es beide Schritte mit einer Operation durchzuführen. Dabei wird neben der Größe des Backing-Devices einfach der gewünschte vhost-Adapter angegeben. Optional kann auch noch ein Name für das zu erzeugende virtuelle Target Device angegeben werden:

$ vios mkbdsp ms05-vio1 testpool bd003 1g vhost0 lpar1_hd03
$

Das geht natürlich noch etwas schneller als mit 2 separaten Kommandos.