Status und Konfiguration von LPARs sind regelmäßig benötigte Informationen bei der Administration von LPARs. Mit dem LPAR-Tool lassen sich Informationen wie Status, RMC-Status, Anzahl Cores, Größe RAM, OS-Version und andere Daten, sehr leicht und schnell ermitteln, auch bei hunderten oder tausenden von LPARs. Welche LPARs keine RMC-Verbindung haben, wird in einem der Beispiele gezeigt.
Alle folgenden Beispiele wurden auf einer Umgebung mit 10 HMCs, 50 Managed Systems und etwas über 500 LPARs durchgeführt. Zur Orientierung wie lange das LPAR-Tool benötigt, wurden jeweils die Laufzeiten der Kommandos mit time gemessen und angegeben.
Die Namen der LPARs wurden in den gezeigten Ausgaben manuell abgeändert und durch generische Namen lparXX und aixYY ersetzt.
Zunächst einmal der Status einer einzelnen LPAR:
$ time lpar status aix01 NAME LPAR_ID LPAR_ENV STATE PROFILE SYNC RMC PROCS PROC_UNITS MEM OS_VERSION aix01 27 aixlinux Running standard 0 active 1 0.1 8192 AIX 7.1 7100-04-02-1614 real 0m0.210s user 0m0.011s sys 0m0.013s $
Natürlich kann man auch mehrere LPARs angeben. Möchte man den Status aller LPARs (in unserem Falle etwas über 500 LPARs) wissen, läßt man einfach das Argument weg:
$ time lpar status NAME LPAR_ID LPAR_ENV STATE PROFILE SYNC RMC PROCS PROC_UNITS MEM OS_VERSION aix01 27 aixlinux Running standard 0 active 1 0.1 8192 AIX 7.1 7100-04-02-1614 aix02 1 aixlinux Running standard - - 1 - 8320 Unknown ... lpar01 6 aixlinux Running standard 0 active 1 0.4 20480 AIX 7.1 7100-04-05-1720 real 0m18.933s user 0m3.819s sys 0m3.789s $
Hierbei werden im Hintergrund vom LPAR-Tool mehr als 150 Kommandos (lshwres und lssyscfg) auf den HMCs abgesetzt!
Die Ausgabe soll jetzt eingeschränkt werden auf LPARs die gerade aktiv sind (state=Running). Hierzu gibt es die Option „-s„, mit der Kriterien für Attribute angegeben werden können, die erfüllt sein müssen. Nur LPARs die diese Kriterien erfüllen, werden ausgegeben:
$ time lpar status -s state=Running NAME LPAR_ID LPAR_ENV STATE PROFILE SYNC RMC PROCS PROC_UNITS MEM OS_VERSION aix01 27 aixlinux Running standard 0 active 1 0.1 8192 AIX 7.1 7100-04-02-1614 aix02 1 aixlinux Running standard - - 1 - 8320 Unknown ... lpar01 6 aixlinux Running standard 0 active 1 0.4 20480 AIX 7.1 7100-04-05-1720 real 0m17.998s user 0m3.692s sys 0m3.647s $
Wir wollen jetzt wissen, auf welchen dieser LPARs RMC nicht funktioniert/nicht aktiv ist. Die Option „-s“ erlaubt es beliebig viele Kriterien zu kombinieren. Es müssen dann alle angegebenen Kriterien erfüllt sein (logischen UND). Der RMC-Zustand findet sich im Attribut rmc_state:
$ time lpar status -s state=Running,rmc_state!=active NAME LPAR_ID LPAR_ENV STATE PROFILE SYNC RMC PROCS PROC_UNITS MEM OS_VERSION aix02 1 aixlinux Running standard - - 1 - 8320 Unknown aix03 2 aixlinux Running standard - - 1 - 8320 Unknown ... lpar07 4 aixlinux Running standard 0 none 1 1.0 4352 Unknown real 0m19.057s user 0m3.550s sys 0m3.512s $
Als weiteres Beispiel wollen wir wissen auf welchen LPARs AIX 7.1 TL5 installiert ist. Im Attribut os_version findet sich die OS-Version. Mit dem ‚~‚ Operator kann gegen einen regulären Ausdruck verglichen werden (ähnlich wie beim Kommando grep). Wir verwenden den regulären Ausdruck 7100-05:
$ time lpar status -s os_version~7100-05 NAME LPAR_ID LPAR_ENV STATE PROFILE SYNC RMC PROCS PROC_UNITS MEM OS_VERSION aix14 14 aixlinux Running standard 0 active 2 0.2 16384 AIX 7.1 7100-05-02-1810 aix16 24 aixlinux Running standard 0 active 2 0.2 16384 AIX 7.1 7100-05-03-1846 ... lpar10 10 aixlinux Running standard 0 active 3 0.3 32768 AIX 7.1 7100-05-02-1810 real 0m18.212s user 0m3.726s sys 0m3.676s $
Bisher haben wir immer das Default Ausgabeformat verwendet. Jetzt würden wir gerne alle Systeme auflisten, die noch unter AIX 6.1 laufen. Aber dieses Mal soll nur der LPAR-Name und die OS-Version ausgegeben werden. Hierfür gibt es die Option „-F„, mit der die gewünschten Ausgabe-Felder angegeben werden können:
$ time lpar status -s os_version~6100 -F name:os_version aix39:AIX 6.1 6100-07-04-1216 aix46:AIX 6.1 6100-07-04-1216 ... lpar35:AIX 6.1 6100-09-05-1524 real 0m18.041s user 0m3.619s sys 0m3.699s $
Wer lieber JSON-Output hat, kann dies ganz einfach mit der Option „-j“ erreichen, hier das gleiche Beispiel mit JSON-Ausgabe:
$ time lpar status -s os_version~6100 -F name:os_version -j { "name": "aix39", "os_version": "AIX 6.1 6100-07-04-1216" } { "name": "aix46", "os_version": "AIX 6.1 6100-07-04-1216" } ... { "name": "lpar35", "os_version": "AIX 6.1 6100-09-05-1524" } real 0m21.247s user 0m3.670s sys 0m3.720s $
Natürlich kann man nicht alle Attribut-Namen auswendig wissen! Das ist aber auch gar nicht notwendig, da man sich alle Attribut-Namen einfach anzeigen lassen kann. Man verwendet die Option „-f“ (Stanza-Format) und gibt eine beliebige LPAR an:
$ lpar status -f lpar19 lpar19: curr_lpar_proc_compat_mode = POWER7 curr_mem = 8192 curr_proc_mode = shared curr_proc_units = 0.3 curr_procs = 2 name = lpar19 os_version = AIX 6.1 6100-09-05-1524 ... $
Über die Optionen „-h“ und „-m“ können die LPARs noch in Abhängigkeit von zugehöriger HMC und/oder Managed System ausgewählt werden.
Status aller LPARs mit zugehöriger HMC hmc01:
$ lpar -h hmc01 status
Status aller LPARs deren zugehörige HMC den Typ 7042-CR6 hat:
$ lpar -h 7042-CR6 status
Status aller LPARs deren zugehörige HMC den Typ 7042-CR6 hat und deren Name mit lpar beginnt:
$ lpar -h 7042-CR6 status lpar*
Status aller LPARs auf dem Managed System ms13:
$ lpar -m ms13 status
Status aller LPARs deren Managed System eine S922 ist:
$ lpar -m 9009-22A status
Die vorgestellten Auswahl- und Ausgabemöglichkeiten gelten für alle Ausgabe-Kommandos des LPAR-Tools (außer dem Kommando vios).