6.2.3. Anlegen von LPARs mit Shared Memory

Ob eine LPAR dedizierten Speicher oder geteilten Speicher verwenden soll, kann beim Anlegen einer LPAR über das Attribut mem_mode entschieden werden. Dieses kann die folgenden beiden Werte annehmen:

mem_mode : memory mode
ded - dedicated memory
shared - shared memory

Wir legen die LPAR shlpar1 mit Shared Memory an. Wie bei dediziertem Memory kann über die Attribute min_mem, desired_mem und max_mem vorgegeben werden wieviel Speicher die LPAR mindestens, normalerweise (gewünscht) und maximal haben soll.

$ lpar -m ms03 create shlpar1 mem_mode=shared desired_mem=4G max_mem=8G
    > shlpar1
$

Die Überprüfung des Profils standard zeigt das eine LPAR mit Shared Memory angelegt wurde. Der primäre Paging Virtual-I/O-Server ist ms03-vio1:

$ lpar -p standard lsmem shlpar1
             MEMORY           MEMORY             HUGE_PAGES           MEM         PAGING_VIOS       
LPAR_NAME  MODE    AME  MIN   DESIRED  MAX   MIN   DESIRED  MAX   IO_ENTITLED  PRIMARY    SECONDARY
shlpar1    shared  0.0  1024  4096     8192  null  null     null  auto         ms03-vio1  -
$

Durch das Anlegen einer LPAR mit Shared Memory wird allerdings noch kein Paging-Device zugewiesen, wie die Ausgabe von „ms lspgdev“ zeigt:

$ ms lspgdev ms03
                                             REDUNDANT
MS_NAME  DEVICE_NAME  PAGING_VIOS_NAME  STATE     DEVICE_NAME  PAGING_VIOS_NAME  STATE  SIZE   TYPE  LPAR_ID
ms03   hdisk4       ms03-vio1   Inactive  -            -                 -      51200  phys  none
ms03   hdisk3       ms03-vio1    Inactive  -            -                 -      51200  phys  none
$

Bei beiden Paging-Devices ist noch keine LPAR zugeordnet (Spalte LPAR_ID). Daher aktivieren wir die LPAR als nächstes unter Verwendung des Profils standard:

$ lpar -p standard activate shlpar1
hmc01: chsysstate -m ms03 -r lpar -o on -n shlpar1 -f standard
ERROR: remote HMC command returned an error (1)
StdErr: HSCLA457 Partition shlpar1(6) cannot be activated because its profile is missing a necessary virtual I/O adapter. Shared memory partitions are required to have at least one virtual I/O adapter of any type other than virtual serial.
$

Das funktioniert leider so noch nicht. Wir hatten die LPAR shlpar1 ohne virtuelle Adapter angelegt, allerdings gelten für die Verwendung von Shared Memory die folgenden beiden Bedingungen:

    1. Eine Shared Memory LPAR darf keine physikalischen I/O-Adapter besitzen.
    2. Eine Shared Memory LPAR muß mindestens einen virtuellen Adapter (außer den beiden standardmäßigen virtuellen seriellen Adaptern) besitzen.

Wir fügen einen virtuellen Ethernet Adapter in Slot 2 hinzu, um die LPAR aktivieren zu können:

$ lpar -p standard addeth shlpar1 2 900
$

(Das letzte Argument ist die PVID des virtuellen Ethernet Adapters, spielt aber hier keine Rolle, da dieser nicht verwendet wird.)

Ein Aktivieren der LPAR ist jetzt erfolgreich:

$ lpar -p standard activate shlpar1
$

Nun ist auch eines der beiden Paging-Devices zugewiesen, wie die Ausgabe von „ms lspgdev“ zeigt:

$ ms lspgdev ms03
                                                                  REDUNDANT
MS_NAME  DEVICE_NAME  PAGING_VIOS_NAME  STATE     DEVICE_NAME  PAGING_VIOS_NAME  STATE  SIZE   TYPE  LPAR_ID
ms03  hdisk4       ms03-vio1   Inactive  -            -                 -      51200  phys  none
ms03  hdisk3       ms03-vio1   Active    -            -                 -      51200  phys  6
$

Laut Ausgabe wurde die hdisk3 als Paging-Device zugeordnet. Die Auswahl wird durch den Hypervisor automatisch durchgeführt. Es wird ein verfügbares Paging-Device ausgewählt, welches mindestens die Kapazität max_mem der LPAR besitzt. Damit ist sichergestellt das theoretisch sogar der komplette Speicher der LPAR auf Paging-Device ausgelagert werden könnte. Dies passiert aber nicht, es bleibt immer eine von der LPAR abhängige minimale Hauptspeichermenge zugeordnet.