Technology Level Upgrade einer geklonten rootvg
Inhalt
- Einleitung
- Aufbrechen des Spiegels der rootvg
- Bereitstellung des neuen Technology Levels
- Durchführung des Upgrades
- Neustart des Systems
- Wiederherstellung des Spiegels der rootvg
1. Einleitung
Alternate Disk Installation ist eine elegante Art, den Technology Level (früher: Maintenance Level) auf den neuseten Stand zu bringen. Der größte Vorteil gegenüber einem einfachen smitty update_all liegt in der Tatsache, dass das laufende System unberührt bleibt. Dieses Verfahren läßt sich durchaus mit der AIX Migration mittels nimadm vergleichen, wie sie in einem älteren Artikel auf unixwerk beschrieben wurde (AIX-Migration von 5.2 nach 5.3 mit minimaler Downtime). Ein NIM-Server wird aber nicht benötigt.
Dieser Artikel beschreibt Schritt für Schritt die Migration eines AIX-Systems von 5200-05-00 nach 5200-08-CSP.
2. Aufbrechen des Spiegels der rootvg
Üblicherweise wird die rootvg über zwei Platten gespiegelt sein. Um Platz für ein geklontes System zu bekommen, müssen wir den Spiegel aufbrechen. Da während der Migration u.a. auch ein bosboot durchgeführt wird, überprüfen wir zunächst, von welcher Platte das System beim letzten Hochfahren geladen wurde:
# bootinfo -b hdisk0
Um zu vermeiden, dass bosboot fehlschlägt, entfernen wir die andere Platte (hdisk1) von der rootvg
Ein kurzer Blick zeigt uns, dass die rootvg ordnungsgemäß gepiegelt ist und alle Logical Volumes synchronisiert sind:
# lsvg -l rootvg rootvg: LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT hd5 boot 1 2 2 closed/syncd N/A hd6 paging 128 256 2 open/syncd N/A hd8 jfslog 1 2 2 open/syncd N/A hd4 jfs 1 2 2 open/syncd / hd2 jfs 26 52 2 open/syncd /usr hd9var jfs 4 8 2 open/syncd /var hd3 jfs 8 16 2 open/syncd /tmp hd1 jfs 1 2 2 open/syncd /home hd10opt jfs 2 4 2 open/syncd /opt dumplv00 sysdump 77 77 1 open/syncd N/A dumplv01 sysdump 77 77 1 open/syncd N/A
Wir können den Spiegel also aufbrechen:
# unmirrorvg rootvg hdisk1
Schauen wir uns die aus dem Spiegel genommene Platte noch einmal an:
# lspv -l hdisk1 hdisk0: LV NAME LPs PPs DISTRIBUTION MOUNT POINT dumplv01 77 77 77..00..00..00..00 N/A
Eine Ausgabe wie oben sehen Sie nur, wenn Sie auch ein sekundäres Dump LV (dumplv00 und dumplv01 in unserem Beispiel) eingerichtet haben - In diesem Fall legen wir das sekundäre Dump-Device auf /dev/sysdumpnull und löschen das LV:
# sysdumpdev -Ps /dev/sysdumpnull primary /dev/dumplv00 secondary /dev/sysdumpnull copy directory /var/adm/ras forced copy flag TRUE always allow dump TRUE dump compression ON # rmlv dumplv01 Warning, all data contained on logical volume dumplv01 will be destroyed. rmlv: Do you wish to continue? y(es) n(o)? y rmlv: Logical volume dumplv01 is removed.
Falls Sie genug Platz haben, können Sie das Dump-Device auch einfach auf die andere Platte schieben:
# lspv -l hdisk0 hdisk0: LV NAME LPs PPs DISTRIBUTION MOUNT POINT dumplv00 77 77 77..00..00..00..00 N/A # migratepv -l dumplv00 hdisk1 hdisk0 # sysdumpdev -l primary /dev/dumplv00 secondary /dev/dumplv01 copy directory /var/adm/ras forced copy flag TRUE always allow dump TRUE dump compression ON
Das Verschieben auf die verbleibende Platte empfiehlt sich auch, falls das primäre Dump-Device auf hdisk1 liegt...
Ist hdisk1 frei von Logical Volumes, wird die Platte aus der rootvg entfernt:
# reducevg rootvg hdisk1
3. Bereitstellung des neuen Technology Levels
Der neue Technology Level auf dem System in einem Verzeichnis bereitgestellt werden - dies kann ein lokales Verzeichnis, eine CD oder ein NFS-Server (auch Linux) sein. Im Beispiel gehen wir von einem Installationserver aus, der unter AIX läuft.
Auf dem Installationsserver muss das Verzeichnis mit dem Technology-Level an unsere AIX-Box (aix01) exportiert werden. Befinden sich die Filesets im Verzeichnis /install/AIX5.2/TL8CSP, fügen wir folgende Zeile der Datei /etc/exports auf dem Installationsserver hinzu...
/install/AIX5.2/TL8CSP -ro,access=aix01,root=aix01
...und exportieren es:
instserver:/# exportfs -a
Auf unserer AIX-Box können wir das exportierte Verzeichnis nun einhängen:
# mount instserver:/install/AIX5.2/TL8CSP /mnt
4. Durchführung des Upgrades
Anders als bei der Migration mittels nimadm wird der TL-Update nicht auf dem Installationsserver, sondern auf dem Migrationsobjekt, also unserer AIX-Box, selbst angestoßen:
# alt_disk_install -C -b update_all -l /mnt hdisk1 Calling mkszfile to create new /image.data file. Checking disk sizes. Creating cloned rootvg volume group and associated logical volumes. : : : Changing logical volume names in volume group descriptor area. Fixing LV control blocks... Fixing file system superblocks... Bootlist is set to the boot disk: hdisk1
Haben Sie es bis an diese Stelle gebracht, ist die Migration geschafft. In der Liste der Volume Groups taucht eine neue Volume Group namens altinst_rootvg auf:
# lsvg rootvg oraclevg applvg datavg altinst_rootvg
5. Neustart des Systems
Das System kann nun zu jeder Zeit neugestartet werden (z.B. außerhalb der Geschäftszeiten oder am Wochenende)...
# shutdown -Fr
... und das System kommt mit dem neuen Technology Level hoch:
# oslevel -s 5200-08-CSP
6. Wiederherstellung des Spiegels der rootvg
Eine Weile möchten Sie sich den Weg zurück auf den alten Stand noch offen halten, aber nach einer gewissen Zeit sollte das Vertrauen in den neuen Technology Level groß genug sein, um die alte Installation zu verwerfen und den Spiegel der rootvg wieder aufzusetzen.
Zunächst löschen wir die alte rootvg vom System (diese erscheint jetzt übrigens als old_rootvg):
# alt_disk_install -X old_rootvg
Danach setzen wir den Spiegel der rootvg wieder auf:
# extendvg -f rootvg hdisk1 # mirrorvg -s rootvg hdisk1
Spiegeln Sie die rootvg wie im Beispiel oben, wird der Spiegel nicht synchronisiert - dies kann auf eine Zeit verschoben werden, in der die I/O-Last des Systems geringer ist, z.B. nachts:
# echo varyonvg rootvg | at 23:00
Am nächsten Morgen sollte dann alles synchronisiert sein und es ergibt sich folgendes Bild:
# lsvg -l rootvg rootvg: LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT hd5 boot 1 2 2 closed/syncd N/A hd6 paging 128 256 2 open/syncd N/A hd8 jfslog 1 2 2 open/syncd N/A hd4 jfs 1 2 2 open/syncd / hd2 jfs 26 52 2 open/syncd /usr hd9var jfs 4 8 2 open/syncd /var hd3 jfs 8 16 2 open/syncd /tmp hd1 jfs 1 2 2 open/syncd /home hd10opt jfs 2 4 2 open/syncd /opt dumplv00 sysdump 77 77 1 open/syncd N/A
Möglicherweise möchten Sie auch (wieder) ein zweites Dump-LV erzeugen. Die Ausgabe oben zeigt 77 PPs für dumplv00, also legen wir ein genauso großes LV auf hdisk0 an:
# mklv -c 1 -t sysdump -y dumplv01 rootvg 77 hdisk0
und aktivieren es mit:
# sysdumpdev -Ps /dev/dumplv01 primary /dev/dumplv00 secondary /dev/dumplv01 copy directory /var/adm/ras forced copy flag TRUE always allow dump TRUE dump compression ON
Um sicher zu gehen, schreiben wir die BLVs neu:
# bosboot -ad hdisk0 bosboot: Boot image is 30112 512 byte blocks. # bosboot -ad hdisk1 bosboot: Boot image is 30112 512 byte blocks
Die Bootliste sollte nun auch wieder beide Platten enthalten:
# bootlist -m normal hdisk0 hdisk1