Under Construction

Beispiel 2: Interim Fix Installation mit AIX Live Update

Nachdem im vorigen Beispiel erfolgreich ein Preview einer Interim Fix Installation mit AIX Live Update durchgeführt wurde, führen wir jetzt die Live Update Operation durch.

Ausgangszustand war ein AIX System mit AIX 7300-02-02-2420. Der zu installierende IFix ist /tmp/IJ52421s2a.241031.epkg.Z. Als Management Konsole wird die HMC mit der IP-Adresse 192.168.199.15 verwendet. Der Benutzer liveup wird auf der HMC verwendet. Diesem ist die Task-Rolle hmcclientliveupdate zugeordnet:

$ hmc lshmcusr hmc01 liveup
NAME    DESCRIPTION  TASKROLE             RESOURCEROLE
liveup  HMC User     hmcclientliveupdate  ALL:
$

Als verfügbare Physical Volumes werden hdisk2 und hdisk5 verwendet.

Die Konfigurationsdatei /var/adm/ras/liveupdate/lvupdate.data sieht dann wie folgt aus:

# cat /var/adm/ras/liveupdate/lvupdate.data
hmc:
        management_console = 192.168.199.15
        user = liveup

disks:
        nhdisk = hdisk0
        mhdisk = hdisk2

#

Ein Authentifizierungs-Token für Live Update kann bei der HMC (192.168.199.15) mit dem Benutzer liveup angefordert werden:

# hmcauth -a 192.168.199.15 -u liveup             
Enter HMC password: XXXXXXXX
#

Auf dem System ist bisher nur der folgende IFix installiert:

# emgr -l

ID  STATE LABEL      INSTALL TIME      UPDATED BY ABSTRACT
=== ===== ========== ================= ========== ======================================
1    S    3013ma     02/25/25 15:57:33            ifix for CVE-2024-6119               

STATE codes:
S = STABLE
M = MOUNTED
U = UNMOUNTED
Q = REBOOT REQUIRED
B = BROKEN
I = INSTALLING
R = REMOVING
T = TESTED
P = PATCHED
N = NOT PATCHED
SP = STABLE + PATCHED
SN = STABLE + NOT PATCHED
QP = BOOT IMAGE MODIFIED + PATCHED
QN = BOOT IMAGE MODIFIED + NOT PATCHED
RQ = REMOVING + REBOOT REQUIRED
#

Der IFix für IJ52421 ist nicht installiert und auch der offizielle Fix für den APAR IJ52421 ist nicht installiert:

$ instfix -ik IJ52421
    There was no data for IJ52421 in the fix database.
$

Bevor wir den Live Update starten, zeigen wir hier zunächst die Übersicht aller Physical Volumes des Systems:

$ lspv
hdisk0          00cafe0000000000                    None                          <- nhdisk
hdisk1          00cafe0000000001                    datavg          active    
hdisk3          00cafe0000000003                    rootvg          active     
hdisk4          00cafe0000000004                    None                       
hdisk2          00cafe0000000002                    None                         <- mhdisk
hdisk5          00cafe0000000005                    altinst_rootvg              
hdisk6          00cafe0000000006                    appvg        active    
$

Die rootvg besteht nur aus einem Physical Volume (hdisk3). Als Absicherung für größere Probleme haben wir mittels alt_disk_copy eine Kopie der rootvg auf dem Physical Volume hdisk5 erzeugt. Es gibt zwei weitere VGs (datavg und appvg) bestehend aus jeweils einem Physical Volume (hdisk1 bzw. hdisk6). Die Physical Volumes hdisk0, hdisk2 und hdisk4 sind bisher nicht benutzt. Alle drei PVs haben die Größe 50 GB, was mit der Größe von hdisk3 (rootvg) und hdisk5 (altinst_rootvg) übereinstimmt. Die hdisk0 ist als nhdisk für Live Update konfiguriert, d.h. die Ersatz-LPAR (surrogate) die von AIX Live Update angelegt wird, wird von diesem Physical Volume booten. Die hdisk2 ist als mhdisk für Live Update konfiguriert. Diese wird zum Spiegeln der Ausgangs rootvg verwendet.

Nachdem alle Vorbereitungen getroffen sind, starten wir wieder das Kommando geninstall, lassen aber dieses Mal die Option „-p“ für den Preview weg:

# geninstall -k -d /tmp IJ52421s2a.241031.epkg.Z


+-----------------------------------------------------------------------------+
                    Pre-Live Update Verification...
+-----------------------------------------------------------------------------+
Verifying environment...done
Verifying /var/adm/ras/liveupdate/lvupdate.data file...done
Computing the estimated time for the live update operation...done
Results...

EXECUTION INFORMATION
---------------------
LPAR: aix01
  HMC: 192.168.199.15
  user: liveup

  Blackout time(in seconds): 12
  Total operation time(in seconds): 980

  << End of Information Section >>

+-----------------------------------------------------------------------------+
                    Live Update Requirement Verification...
+-----------------------------------------------------------------------------+

INFORMATION
-----------
INFO: Any system dumps present in the current dump logical volumes will not be available after live update is complete.

  << End of Information Section >>

+-----------------------------------------------------------------------------+
                    Live Update Preview Summary...
+-----------------------------------------------------------------------------+
The live update preview succeeded.

Non-interruptable live update operation begins in 10 seconds.


Broadcast message from root@aix01 (pts/0) at 11:58:35 ...

Live AIX update in progress.

Initializing live update on original LPAR.

Validating original LPAR environment.

Beginning live update operation on original LPAR.

Requesting resources required for live update.
............
Notifying applications of impending live update.
....
Creating rootvg for boot of surrogate.
........................................................................
Starting the surrogate LPAR.
....................................................
Creating mirror of original LPAR's rootvg.
........................
Moving workload to surrogate LPAR.
............
        Blackout Time started.

        Blackout Time end.

Workload is running on surrogate LPAR.
............................................
Shutting down the Original LPAR.
................
The live update operation succeeded.

Broadcast message from root@aix01 (pts/0) at 12:10:17 ...

Live AIX update completed.

File /etc/inittab has been modified.

One or more of the files listed in /etc/check_config.files have changed.
        See /var/adm/ras/config.diff for details.
#

Der Ifix wurde installiert, wie die Ausgabe von „emgr -l“ zeigt:

# emgr -l

ID  STATE LABEL      INSTALL TIME      UPDATED BY ABSTRACT
=== ===== ========== ================= ========== ======================================
1    S    3013ma     02/25/25 15:57:33            ifix for CVE-2024-6119               
2    S    IJ52421s2a 02/26/25 12:07:38            IJ52421 POTENTIAL SECURITY ISSUE     

STATE codes:
S = STABLE
M = MOUNTED
U = UNMOUNTED
Q = REBOOT REQUIRED
B = BROKEN
I = INSTALLING
R = REMOVING
T = TESTED
P = PATCHED
N = NOT PATCHED
SP = STABLE + PATCHED
SN = STABLE + NOT PATCHED
QP = BOOT IMAGE MODIFIED + PATCHED
QN = BOOT IMAGE MODIFIED + NOT PATCHED
RQ = REMOVING + REBOOT REQUIRED
#

Wir werfen abschließend einen Blick auf die Verwendung der Physical Volumes:

$ lspv
hdisk0          00cafe0000000000                    lvup_rootvg                 <- nhdisk
hdisk1          00cafe0000000001                    datavg          active    
hdisk3          00cafe0000000003                    rootvg          active     
hdisk4          00cafe0000000004                    None                       
hdisk2          00cafe0000000002                    old_rootvg                   <- mhdisk
hdisk5          00cafe0000000005                    altinst_rootvg             
hdisk6          00cafe0000000006                    appvg       active    
$

Die rootvg (hdisk3), die altinst_rootvg (hdisk5) und die beiden VGs datavg und appvg (hdisk1 und hdisk6) sind unverändert geblieben. Das als nhdisk angegebene Physical Volume hdisk0 gehört nun zur nicht aktiven lvup_rootvg. Die beim AIX Live Update erzeugte Ersatz-LPAR (surrogate) hat dieses Physical Volume zum Booten verwendet. Auch wenn es auf den ersten Blick nicht so aussieht, ist dieses Physical Volume in aktiver Verwendung. Die Dateisysteme und Prozesse der ursprünglichen (original) LPAR sind über chroot verfügbar. Die unterliegenden Dateisysteme der lvup_rootvg sind daher nicht sichtbar, werden aber vom Kernel verwendet. Erst bei einem Reboot der LPAR oder einer erneuten Live Update Operation wird die hdisk0 wieder verfügbar.

Das als mhdisk angegebene Physical Volume hdisk2 realisiert jetzt die old_rootvg. Diese ist eine Kopie der ursprünglichen rootvg (ohne installierten Ifix) und könnte im Problemfall für eine Wiederherstellung des Ausgangssystems (vor dem Live Update) verwendet werden.

Hinweis: Eine weitere Live Update Operation ist in dieser Konstellation nicht möglich, da nur ein frei verfügbares Physical Volume (hdisk4) vorhanden ist. Für Live Update werden aber immer mindestens 2 frei verfügbare Physical Volumes benötigt (nhdisk und mhdisk).