Navigationslinks überspringen | |
Druckansicht beenden | |
![]() |
Oracle Solaris 10 1/13 Installationshandbuch: Live Upgrade und Planung von Upgrades Oracle Solaris 10 1/13 Information Library (Deutsch) |
Teil I Upgraden mit Live Upgrade
1. Informationen zur Planung einer Oracle Solaris-Installation
4. Erstellen einer Boot-Umgebung mit Live Upgrade (Vorgehen)
5. Ausführen eines Upgrades mit Live Upgrade (Vorgehen)
6. Wiederherstellen nach Fehler: Zurückgreifen auf die ursprüngliche Boot-Umgebung (Vorgehen)
7. Verwalten von Live Upgrade-Boot-Umgebungen (Vorgehen)
Teil II Upgraden und Migrieren mit Live Upgrade auf einen ZFS-Root-Pool
10. Live Upgrade und ZFS (Überblick)
11. Live Upgrade für ZFS (Planung)
12. Erstellen einer Boot-Umgebung für ZFS-Root-Pools
13. Live Upgrade für ZFS mit installierten nicht-globalen Zonen
A. Live Upgrade-Befehlsreferenz
C. Zusätzliche SVR4-Packaging-Anforderungen (Referenz)
D. Verwenden des Patch Analyzers beim Durchführen von Upgrades (Vorgehen)
Dieser Abschnitt enthält schrittweise Anleitungen zur Migration von einem UFS-Root-Dateisystem (/) auf einen ZFS-Root-Pool auf einem System mit installierten nicht-globalen Zonen. In einem UFS-Dateisystem befinden sich nicht-globale Zonen nicht in gemeinsam nutzbaren Dateisystemen.
Der Befehl lucreate erstellt aus einem UFS-Root-Dateisystem (/) eine Boot-Umgebung eines ZFS-Root-Pools. Vor der Ausführung des Befehls lucreate muss ein ZFS-Root-Pool vorhanden und mit Bereichen statt auf einer gesamten Festplatte erstellt worden sein, damit es upgrade- und bootfähig ist. Hier wird gezeigt, wie eine dem UFS-Root-Dateisystem (/) zugeordnete und bereits vorhandene nicht-globale Zone in die neue Boot-Umgebung in einem ZFS-Root-Pool kopiert wird.
Hinweis - Damit Sie mit Live Upgrade neue ZFS-Boot-Umgebungen installieren können, muss auf Ihrem System mindestens Solaris-Version 10 10/08 installiert sein. In früheren Releases ist die ZFS- und Live Upgrade-Software zum Durchführen dieser Aufgaben nicht enthalten.
Die drei Live Upgrade-Packages SUNWluu, SUNWlur und SUNWlucfg enthalten die zum Upgraden mithilfe von Live Upgrade erforderliche Software. Diese Pakete enthalten die bestehende Software, neue Funktionen sowie Bugkorrekturen. Wenn Sie die vorhandenen Packages nicht entfernen und die neuen Packages auf Ihrem System installieren, bevor Sie Live Upgrade ausführen, verläuft das Upgrade auf die Zielversion nicht erfolgreich.
# pkgrm SUNWlucfg SUNWluu SUNWlur
Eine stets aktuelle Patchliste finden Sie unter My Oracle Support. Suchen Sie auf der Website My Oracle Support nach Knowledge Document 1004881.1 - "Live Upgrade Software Patch Requirements" (zuvor 206844).
Melden Sie sich als Superuser an oder nehmen Sie eine entsprechende Rolle an.
Hinweis - Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.
Zum Speichern der Patches auf einer lokalen Festplatte sollten Sie ein Verzeichnis wie z. B. /var/tmp/lupatches erstellen und die Patches in dieses Verzeichnis herunterladen.
Rufen Sie die Patchliste von der My Oracle Support-Website ab.
Wechseln Sie in das Patch-Verzeichnis.
# cd /var/tmp/lupatches
Installieren Sie die Patches mit dem Befehl patchadd.
# patchadd patch_id
Patch_ID sind die Patchnummern. Trennen Sie mehrere Patch-Namen mit Leerzeichen voneinander.
Hinweis - Die Patches müssen in der Reihenfolge eingespielt werden, die auf der Website My Oracle Support im Knowledge Document 1004881.1 "Solaris Live Upgrade Software Patch Requirements" (zuvor 206844) angegeben ist.
Starten Sie, falls erforderlich, das System neu. Bei einigen Patches ist ein Systemneustart erforderlich.
Nur x86: Das System muss neu gestartet werden, anderenfalls verläuft Solaris Live Upgrade nicht erfolgreich.
# init 6
Damit der ZFS-Root-Pool boot- und upgradefähig ist, muss er sich auf einem einzigen Bereich befinden.
# zpool create rpool c3t0d0s0
In diesem Beispiel heißt der neu zu erstellende ZFS-Pool rpool. Der Pool wird auf dem bootfähigen Bereich c3t0d0s0 erstellt.
Informationen zum Erstellen eines neuen Root-Pools finden Sie im Oracle Solaris ZFS-Administrationshandbuch.
# lucreate [-c ufsBE] -n new-zfsBE -p rpool
Der Name der aktuellen UFS-Boot-Umgebung. Diese Option ist nicht obligatorisch und wird nur beim Erstellen der ersten Boot-Umgebung verwendet. Wenn Sie lucreate zum ersten Mal ausführen und dabei keine Option -c angeben, erstellt die Software automatisch einen Standardnamen.
Der Name der zu erstellenden Boot-Umgebung. Der Name muss auf dem System einmalig sein.
Legt das neu erstellte ZFS-Root-Dateisystem (/) in dem in rpool definierten ZFS-Root-Pool an.
Alle nicht gemeinsam nutzbaren nicht-globalen Zonen werden zusammen mit kritischen Dateisystemen in die neue Boot-Umgebung kopiert. Das Erstellen der neuen ZFS-Boot-Umgebung kann eine gewisse Zeit dauern. Die Daten des UFS-Dateisystems werden in den ZFS-Root-Pool kopiert. Nach dem Erstellen der inaktiven Boot-Umgebung können Sie die neue ZFS-Boot-Umgebung mithilfe der Befehle luupgrade bzw. luactivate aktualisieren bzw. aktivieren.
Der Befehl lustatus erzeugt einen Bericht, ob die erstellte Boot-Umgebung vollständig und bootfähig ist.
# lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ ufsBE yes yes yes no - new-zfsBE yes no no yes -
Der Befehl list zeigt die Namen aller auf dem System vorhandenen Datasets an. In diesem Beispiel ist rpool der Name des ZFS-Pools und neue-zfsBU der Name der neu erstellten ZFS-Boot-Umgebung.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 11.4G 2.95G 31K /rpool rpool/ROOT 4.34G 2.95G 31K legacy rpool/ROOT/new-zfsBE 4.34G 2.95G 4.34G / rpool/dump 2.06G 5.02G 16K - rpool/swap 5.04G 7.99G 16K -
Die für die neue Boot-Umgebung angezeigten Einhängepunkte sind temporär und gelten nur bis zur Ausführung des Befehls luactivate. Die Volumes /dump und /swap werden nicht gemeinsam mit der ursprünglichen UFS-Boot-Umgebung, sondern innerhalb des ZFS-Root-Pools und mit Boot-Umgebungen innerhalb des Root-Pools genutzt.
Beispiel 13-1 Migration von einem UFS-Root-Dateisystem (/) mit installierten nicht-globalen Zonen auf einen ZFS-Root-Pool
Im folgenden Beispiel besitzt die vorhandene nicht-globale Zone meineZone ihre nicht-globale Zonen-Root in einem UFS-Root-Dateisystem (/). Die Zone zzone besitzt ihre Zonen-Root in einem ZFS-Dateisystem im vorhandenen ZFS-Speicherpool pool. Die UFS-Boot-Umgebung c2t2d0s0 wird mithilfe von Live Upgrade auf die ZFS-Boot-Umgebung zfs2BU migriert. Die UFS-basierte Zone myzone migriert in den neuen ZFS-Speicherpool mpool, der vor dem Ausführen von Live Upgrade erstellt worden ist. Die ZFS-basierte, nicht-globale Zone zzone wird geklont, aber im ZFS-Pool pool beibehalten und auf die neue Boot-Umgebung zfs2BU migriert.
Folgende Befehle können zur Erstellung der Boot-Umgebung verwendet werden:
# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - myzone installed /zones/myzone native shared - zzone installed /pool/zones native shared # zpool create mpool mirror c3t0d0s0 c4td0s0 # lucreate -c c1t2d0s0 -n zfs2BE -p mpool Checking GRUB menu... Analyzing system configuration. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfs2BE>. Source boot environment is <c1t2d0s0>. Creating file systems on boot environment <zfs2BE>. Creating <zfs> file system for </> in zone <global> on <mpool/ROOT/zfs2BE>. Populating file systems on boot environment <zfs2BE>. Analyzing zones. Mounting ABE <zfs2BE>. Generating file list. Copying data from PBE <c1t2d0s0> to ABE <zfs2BE>. 100% of filenames transferred Finalizing ABE. Fixing zonepaths in ABE. Unmounting ABE <zfs2BE>. Fixing properties on ZFS datasets in ABE. Reverting state of zones in PBE <c1t2d0s0>. Making boot environment <zfs2BE> bootable. Updating bootenv.rc on ABE <zfs2BE>. Saving existing file </boot/grub/menu.lst> in top level dataset for BE <zfs2BE> as <mount-point>//boot/grub/menu.lst.prev. File </boot/grub/menu.lst> propagation successful Copied GRUB menu from PBE to ABE No entry for BE <zfs2BE> in GRUB menu Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful.
Wenn die Ausführung des Befehls lucreate abgeschlossen ist, können Sie sich die Boot-Umgebung mithilfe des Befehls lustatus anzeigen lassen (siehe Beispiel).
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t2d0s0 yes yes yes no - zfsBE yes no no yes -
# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - myzone installed /zones/myzone native shared - zzone installed /pool/zones native shared
Danach können Sie mit dem Befehl luactivate die neue ZFS-Boot-Umgebung aktivieren. Beispiel:
# luactivate zfsBE A Live Upgrade Sync operation will be performed on startup of boot environment <zfsBE>. ********************************************************************** The target boot environment has been activated. It will be used when you reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You MUST USE either the init or the shutdown command when you reboot. If you do not use either init or shutdown, the system will not boot using the target BE. ********************************************************************** In case of a failure while booting to the target BE, the following process needs to be followed to fallback to the currently working boot environment: 1. Enter the PROM monitor (ok prompt). 2. Boot the machine to Single User mode using a different boot device (like the Solaris Install CD or Network). Examples: At the PROM monitor (ok prompt): For boot to Solaris CD: boot cdrom -s For boot to network: boot net -s 3. Mount the Current boot environment root slice to some directory (like /mnt). You can use the following command to mount: mount -Fufs /dev/dsk/c1t0d0s0 /mnt 4. Run <luactivate> utility with out any arguments from the current boot environment root slice, as shown below: /mnt/sbin/luactivate 5. luactivate, activates the previous working boot environment and indicates the result. 6. Exit Single User mode and reboot the machine. ********************************************************************** Modifying boot archive service Activation of boot environment <zfsBE> successful.
Booten Sie das System mit der ZFS-BU neu.
# init 6 # svc.startd: The system is coming down. Please wait. svc.startd: 79 system services are now being stopped. . . .
Bestätigen Sie die neue Boot-Umgebung und den Status der migrierten Zonen (siehe Beispiel).
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t2d0s0 yes yes yes no - zfsBE yes no no yes -
Wenn Sie einen Fallback auf die UFS-Boot-Umgebung durchführen, müssen Sie alle in der ZFS-Boot-Umgebung erstellten ZFS-Speicherpools neu importieren, da diese·in der UFS-Boot-Umgebung nicht automatisch verfügbar sind. Beim Zurückschalten auf die UFS-Boot-Umgebung werden Meldungen wie im folgenden Beispiel angezeigt.
# luactivate c1t2d0s0 WARNING: The following files have changed on both the current boot environment <ZFSbe> zone <global> and the boot environment to be activated <c1t2d0s0>: /etc/zfs/zpool.cache INFORMATION: The files listed above are in conflict between the current boot environment <ZFSbe> zone <global> and the boot environment to be activated <c1t2d0s0>. These files will not be automatically synchronized from the current boot environment <ZFSbe> when boot environment <c1t2d0s0>