Einlegen und Auswerfen von virtuellen Medien

Damit ein virtuelles Medium von einer LPAR verwendet werden kann, muss das Medium zunächst in das zugehörige virtuelle optische Laufwerk eingelegt werden. Dies erfolgt durch Aufruf des Kommandos „vios loadopt“.

Bevor wir das durchführen, listen wir zunächst erst noch einmal die verfügbaren virtuellen Medien und die existierenden virtuellen optischen Laufwerke auf:

$ vios lsmedia ms12-vio1
NAME                  FILE SIZE  OPTICAL  ACCESS
AIX_720500_DVD_1.iso    3.56 GB  None     ro
AIX_720500_DVD_2.iso    4.00 GB  None     ro
AIX_720501_flash.iso    7.56 GB  None     rw
$ vios lsvopt ms12-vio1
VTD       MEDIA     SIZE
aix04_cd  No Media  n/a
vtopt0    No Media  n/a
vtopt1    No Media  n/a
$

Wir legen das virtuelle Medium AIX_720500_DVD_1.iso in das Laufwerk der LPAR aix04 (aix04_cd) ein:

$ vios loadopt ms12-vio1 AIX_720500_DVD_1.iso aix04_cd
$

Die Ausgabe von „vios lsvopt“ zeigt das in das Laufwerk aix04_cd jetzt das genannte virtuelle Medium eingelegt ist:

$ vios lsvopt ms12-vio1
VTD       MEDIA                 SIZE
aix04_cd  AIX_720500_DVD_1.iso    3.56 GB
vtopt0    No Media              n/a
vtopt1    No Media              n/a
$

Auf der Client-LPAR kann dann das virtuelle Medium sofort genutzt werden. Z.B. in dem man das im Medium enthaltene Dateisystem mountet:

aix04 # mount -o ro -V cdrfs /dev/cd0 /cdrom
aix04 # ls -l /cdrom
total 80
drwxr-xr-x    2 4000     4000           2048 Dec  8 2020  7200-05/
-rw-r--r--    1 4000     4000             16 Dec  8 2020  OSLEVEL
-rw-r--r--    1 4000     4000            901 Dec  8 2020  README.aix
drwxrwxr-x    4 4000     4000           2048 Dec  8 2020  RPMS/
-rw-r--r--    1 4000     4000           6529 Dec  8 2020  bosinst.data
-rw-r--r--    1 4000     4000          15430 Dec  8 2020  image.data
drwxr-xr-x    4 4000     4000           2048 Dec  8 2020  installp/
drwxr-xr-x    3 4000     4000           2048 Dec  8 2020  ppc/
drwxr-xr-x    3 4000     4000           2048 Dec  8 2020  root/
drwxr-xr-x   10 4000     4000           2048 Dec  8 2020  usr/
aix04 #

Um ein virtuelles Medium wieder auszuwerfen, kann das Kommando „vios unloadopt“ verwendet werden. Allerdings darf das Medium dann nicht mehr in der Client-LPAR in Benutzung sein, wie das folgende Beispiel zeigt:

$ vios unloadopt ms12-vio1 aix04_cd
hmc01: viosvrcmd -m ms12 -p ms12-vio1 -c \"unloadopt -vtd aix04_cd\“
ERROR: remote HMC command returned an error (1)
StdErr: HSCL2970 The IOServer command has failed because of the following reason:
StdErr: Unable to perform the requested operation.
StdErr: aix04_cd’ is currently reserved by the client.
StdErr:
StdErr: Use the -release flag to remove the reserve
StdErr:
StdErr: rc=41
$

Das Dateisystem des virtuellen Mediums ist noch in der LPAR gemountet. Man kann zwar mit der Option „-r“ erzwingen das das Medium ausgeworfen wird, aber dann hängt das gemountete Dateisystem in der Client-LPAR in der Luft und ist nicht mehr benutzbar. Wir hängen daher zunächst das Dateisystem in der Client-LPAR aus

aix04 # umount /cdrom
aix04 #

und versuchen dann erneut das Medium auszuwerfen:

$ vios unloadopt ms12-vio1 aix04_cd
$

Es gibt keine Fehlermeldung und ein Auflisten der virtuellen optischen Laufwerke zeigt auch, das das Medium nicht mehr eingelegt ist:

$ vios lsvopt ms12-vio1
VTD       MEDIA     SIZE
aix04_cd  No Media  n/a
vtopt0    No Media  n/a
vtopt1    No Media  n/a
$

Ein read-only Medium kann ohne weiteres von mehreren LPARs (virtuellen optischen Laufwerken) gleichzeitig genutzt werden:

$ vios lsmedia ms12-vio1
NAME                  FILE SIZE  OPTICAL   ACCESS
AIX_720500_DVD_1.iso    3.56 GB  aix04_cd  ro
AIX_720500_DVD_1.iso    3.56 GB  vtopt0    ro
AIX_720500_DVD_2.iso    4.00 GB  None      ro
AIX_720501_flash.iso    7.56 GB  None      rw
$

Bei Medien mit Schreibberechtigungen ist das aber nicht der Fall. Ein solches Medium kann nur einmal zeitgleich verwendet werden:

$ vios loadopt ms12-vio1 mksysb_aix01.iso aix04_cd
$ vios loadopt ms12-vio1 mksysb_aix01.iso vtopt0
hmc01: viosvrcmd -m ms12 -p ms12-vio1 -c \"loadopt -disk mksysb_aix01.iso -vtd vtopt0\"
ERROR: remote HMC command returned an error (1)
StdErr: HSCL2970 The IOServer command has failed because of the following reason:
StdErr: The specified virtual disk is not read-only, and cannot be
StdErr: loaded into multiple devices simultaneously
StdErr:
StdErr: rc=4
$

Was die Fehlermeldung auch ganz eindeutig sagt!