Wird eine LPAR heruntergefahren, werden Resourcen, wie Prozessoren, Speicher und I/O-Slots, der LPAR nicht automatisch freigegeben. Die Resourcen bleiben weiterhin der LPAR zugeordnet und werden dann beim nächsten Aktivieren (mit der aktuellen Konfiguration) wiederverwendet.
Im Artikel soll gezeigt werden wie das automatische Freigeben der Resourcen erfolgt und falls gewünscht, wie man manuell Resourcen einer nicht aktivierten LPAR freigeben kann.
(Hinweis: In den Beispiel-Ausgaben benutzen wir die Version 1.4 des LPAR-Tools, zeigen aber in allen Fällen die unterliegenden Kommandos auf der HMC Kommandozeile. Man kann also alles auch ohne die Verwendung des LPAR-Tools ausprobieren.)
Die Beispiel LPAR lpar1 wurde heruntergefahren, belegt aber aktuell immer noch 100 GB Speicher:
linux $ lpar status lpar1 NAME LPAR_ID LPAR_ENV STATE PROFILE SYNC RMC PROCS PROC_UNITS MEM OS_VERSION lpar1 39 aixlinux Not Activated standard 0 inactive 1 0.2 102400 Unknown linux $
Auf der zugehörigen HMC hmc01 wurden die folgenden Kommandos für die Ausgabe oben ausgeführt:
hmc01: lssyscfg -r lpar -m ms09 --filter lpar_names=lpar1 hmc01: lshwres -r mem -m ms09 --level lpar --filter lpar_names=lpar1 hmc01: lshwres -r proc -m ms09 --level lpar --filter lpar_names=lpar1
Das Attribut resource_config einer LPAR gibt an, ob die LPAR aktuell Resourcen alloziert hat (resource_config=1) oder nicht (resource_config=0):
linux $ lpar status -F resource_config lpar1 1 linux $
Entsprechend auf der HMC Kommandozeile:
hmc01: lssyscfg -r lpar -m ms09 --filter lpar_names=lpar1 –F resource_config
Die von einer nicht aktivierten LPAR allozierten Resourcen können auf 2 verschiedenen Wegen freigegeben werden:
- Automatisch: Die belegten Resourcen werden von einer anderen LPAR benötigt, z.B. weil Speicher dynamisch erweitert wird oder eine LPAR aktiviert wird, die nicht ausreichend Resourcen besitzt. In diesem Fall werden einer deaktivierten LPAR automatisch Resourcen weggenommen. Wir zeigen dies weiter unten anhand eines Beispiels.
- Manuell: Die allozierten Resourcen werden vom Administrator explizit frei gegeben. Auch dies zeigen wir nachfolgend in einem Beispiel.
Zunächst zeigen wir ein Beispiel bei dem einer nicht aktivierten LPAR automatisch Resourcen weggenommen werden.
Das Managed System ms09 besitzt aktuell noch ca 36 GB freien Speicher:
linux $ ms lsmem ms09 NAME INSTALLED FIRMWARE CONFIGURABLE AVAIL MEM_REGION_SIZE ms09 786432 33792 786432 36352 256 linux $
HMC-Kommandozeile:
hmc01: lshwres -r mem -m ms09 --level sys
Wir starten eine LPAR (lpar2) die mit 100 GB RAM konfiguriert wurde. Das Managed System besitzt nur 36 GB RAM und ist daher gezwungen inaktiven LPARs Resourcen wegzunehmen um die benötigten 100 GB zur Verfügung stellen zu können. Wir starten lpar2 mit dem Profil standard und schauen uns die Speicherverhältnisse an:
linux $ lpar activate -b sms -p standard lpar2 linux $
HMC-Kommandozeile:
hmc01: chsysstate -m ms09 -r lpar -o on -n lpar2 -b sms -f standard
Übersicht über die Speicherverhältnisse von lpar1 und lpar2:
linux $ lpar status lpar\* NAME LPAR_ID LPAR_ENV STATE PROFILE SYNC RMC PROCS PROC_UNITS MEM OS_VERSION lpar1 4 aixlinux Not Activated standard 0 inactive 1 0.2 60160 Unknown lpar2 8 aixlinux Open Firmware standard 0 inactive 1 0.2 102400 Unknown linux $ ms lsmem ms09 NAME INSTALLED FIRMWARE CONFIGURABLE AVAIL MEM_REGION_SIZE ms09 786432 35584 786432 0 256 linux $
HMC-Kommandozeile:
hmc01: lssyscfg -r lpar -m ms09 hmc01: lshwres -r mem -m ms09 --level lpar hmc01: lshwres -r proc -m ms09 --level lpar hmc01: lshwres -r mem -m ms09 --level sys
Die LPAR lpar2 hat 100 GB RAM, das Managed System hat keinen freien Speicher mehr und der LPAR lpar1 zugewiesene Speicher wurde auf ca 60 GB reduziert. Allozierte Resourcen von nicht aktivierten LPARs werden bei Bedarf also automatisch weggenommen und anderen LPARs zugewiesen.
Man kann aber auch die Resourcen manuell freigeben. Dies soll hier auch noch kurz gezeigt werden. Wir reduzieren den Speicher von LPAR lpar1 um 20 GB:
linux $ lpar -d rmmem lpar1 20480 linux $
HMC Kommandozeile:
hmc01: chhwres -m ms09 -r mem -o r -p lpar1 -q 20480
Wie angegeben wurde der zugewiesene Speicher um 20 GB reduziert:
linux $ lpar status lpar\* NAME LPAR_ID LPAR_ENV STATE PROFILE SYNC RMC PROCS PROC_UNITS MEM OS_VERSION lpar1 4 aixlinux Not Activated standard 0 inactive 1 0.2 39680 Unknown lpar2 8 aixlinux Open Firmware standard 0 inactive 1 0.2 102400 Unknown linux $ ms lsmem ms09 NAME INSTALLED FIRMWARE CONFIGURABLE AVAIL MEM_REGION_SIZE ms09 786432 35584 786432 20480 256 linux $
HMC-Kommandozeile:
hmc01: lssyscfg -r lpar -m ms09 hmc01: lshwres -r mem -m ms09 --level lpar hmc01: lshwres -r proc -m ms09 --level lpar hmc01: lshwres -r mem -m ms09 --level sys
Die 20 GB stehen dem Managed System sofort wieder als freier Speicher zur Verfügung. Nimmt man den kompletten Speicher oder alle Prozessoren (oder Prozessor-Units) weg, dann werden alle Resourcen einer inaktiven LPAR wieder freigegeben:
linux $ lpar -d rmmem lpar1 39680 linux $
HMC Kommandozeile:
hmc01: chhwres -m ms09 -r mem -o r -p lpar1 -q 39680
Hier die resultierenden Speicherverhältnisse:
linux $ lpar status lpar\* NAME LPAR_ID LPAR_ENV STATE PROFILE SYNC RMC PROCS PROC_UNITS MEM OS_VERSION lpar1 4 aixlinux Not Activated standard 0 inactive 0 0.0 0 Unknown lpar2 8 aixlinux Open Firmware standard 0 inactive 1 0.2 102400 Unknown linux $ ms lsmem ms09 NAME INSTALLED FIRMWARE CONFIGURABLE AVAIL MEM_REGION_SIZE ms09 786432 31232 786432 64512 256 linux $
HMC Kommandozeile:
hmc01: lssyscfg -r lpar -m ms09 hmc01: lshwres -r mem -m ms09 --level lpar hmc01: lshwres -r proc -m ms09 --level lpar hmc01: lshwres -r mem -m ms09 --level sys
Die LPAR lpar1 hat nun 0 Prozessoren, 0.0 Prozessor-Units und 0 MB Speicher! Außerdem hat nun das Attribut resource_config den Wert 0 und gibt damit an das die LPAR keine konfigurierten Resourcen mehr besitzt!
linux $ lpar status -F resource_config lpar1 0 linux $
HMC Kommandozeile:
hmc01: lssyscfg -r lpar -m ms09 --filter lpar_names=lpar1 –F resource_config
Es stellt sich abschließend die Frage warum man unter Umständen Resourcen manuell freigeben sollte, wenn diese vom Managed System bei Bedarf doch automatisch freigegeben werden?
Dieser Frage gehen wir in einem zweiten Artikel nach.