Dieses Kapitel enthält schrittweise Anleitungen zum Erstellen einer ZFS-Boot-Umgebung mit Solaris Live Upgrade.
Die Migration von einem UFS-Dateisystem auf ein ZFS-Root-Pool bzw. das Erstellen von ZFS-Bootumgebungen mit Solaris Live Upgrade ist ein neues Leistungsmerkmal im Solaris-Release 10 10/08. Informationen zur Verwendung von Solaris Live Upgrade auf Systemen mit UFS-Dateisystemen finden Sie in Teil I, Ausführen eines Upgrades mit Solaris Live Upgrade dieses Handbuchs.
Dieses Kapitel enthält Anleitungen für die folgenden Aufgaben:
Erstellen einer Boot-Umgebung innerhalb des gleichen ZFS-Root-Pools
Erstellen einer Boot-Umgebung von einem anderen System als dem aktuell laufenden System
Anweisungen zur Verwendung von ZFS auf Systemen mit installierten nicht-globalen Zonen finden Sie in Kapitel 14Solaris Live Upgrade für ZFS mit installierten nicht-globalen Zonen.
In diesem Abschnitt wird die Migration eines UFS-Dateisystems auf eine ZFS-Dateisystem beschrieben. Durch das Erstellen einer Boot-Umgebung können kritische Dateisysteme von einer aktiven UFS-Boot-Umgebung in ein ZFS-Root-Pool kopiert werden. Der Befehl lucreate kopiert die kritischen Dateisysteme in eine neue Boot-Umgebung innerhalb eines vorhandenen ZFS-Root-Pools. Benutzerdefinierte (gemeinsam nutzbare) Dateisysteme werden nicht kopiert und mit der ursprünglichen UFS-Boot-Umgebung nicht gemeinsam genutzt. Darüber hinaus wird der /swap -Bereich nicht vom UFS-Dateisystem und dem ZFS-Root-Pool gemeinsam genutzt. Unter Arten von Dateisystemen finden Sie einen Überblick der kritischen und gemeinsam nutzbaren Dateisysteme.
Damit Sie ein aktives UFS-Root-Dateisystem (/) in ein ZFS-Root-Pool migrieren können, müssen Sie den Namen des Root-Pools angeben. Die kritischen Dateisysteme werden dann in das Root-Pool kopiert.
Vor dem erstmaligen Ausführen von Solaris Live Upgrade müssen Sie die neuesten Solaris Live Upgrade-Pakete vom Installationsdatenträger und die im SunSolve-Informationsdokument 206844 aufgeführten Patches installieren. Suchen Sie auf der SunSolve-Website nach dem Informationsdokument 206844 (früher 72099).
Die neuesten Packages und Patches gewährleisten, dass auf Ihrem System die neuesten Fehlerbehebungen und Leistungsmerkmale installiert sind. Stellen Sie die Installation aller für Ihr System erforderlichen Patches sicher, bevor Sie damit beginnen, eine neue Boot-Umgebung zu erstellen.
Die folgenden Schritte geben die Schritte im SunSolve-Informationsdokument 206844 wieder.
Damit Sie mit Solaris Live Upgrade neue ZFS-Boot-Umgebungen installieren können, muss auf Ihrem System mindestens Solaris-Release 10 10/08 installiert sein. In früheren Releases ist die ZFS- und Solaris Live Upgrade-Software zum Durchführen dieser Aufgaben nicht enthalten.
Melden Sie sich als Superuser an oder nehmen Sie eine entsprechende Rolle an.
Befolgen Sie von der SunSolve-Website aus die Anweisungen zum Entfernen und Hinzufügen von Solaris Live Upgrade-Packages im Informationsdokument 206844.
Die drei Solaris Live Upgrade-Packages SUNWluu, SUNWlur und SUNWlucfg enthalten die zum Aktualisieren mithilfe von Solaris Live Upgrade erforderliche Software. Diese Pakete enthalten die bestehende Software, neue Funktionen sowie Bugfixes. Wenn Sie die vorhandenen Packages nicht entfernen und die neuen Packages auf Ihrem System installieren, bevor Sie Solaris Live Upgrade ausführen, schlägt das Aktualisieren auf die Zielversion fehl. Das Package SUMWlucfg ist ab Solaris-Release 10 8/07 neu. Wenn Sie Solaris Live Upgrade-Packages mit einem Release vor Solaris 10 8/07 verwenden, müssen Sie dieses Package nicht entfernen.
# pkgrm SUNWlucfg SUNWluu SUNWlur |
Installieren Sie die Solaris Live Upgrade-Packages des Release, auf das Sie aktualisieren möchten. Eine Anleitung finden Sie unter Installieren von Solaris Live Upgrade.
Vor der Installation und dem Ausführen von Solaris Live Upgrade müssen Sie die folgenden Patches installieren. Diese Patches gewährleisten, dass auf Ihrem System die neuesten Fehlerbehebungen und Leistungsmerkmale installiert sind.
Vergewissern Sie sich auf SunSolve, dass Sie die aktuellste Patch-Liste haben. Suchen Sie auf der SunSolve-Website nach dem Informationsdokument 206844 (früher 72099).
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.
Laden Sie von der SunSolve -Website die Patchliste herunter.
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.
Sie müssen die Patches in der im Dokument 206844 angegebenen Reihenfolge installieren.
Starten Sie, falls erforderlich, das System neu. Bei einigen Patches ist ein Systemneustart erforderlich.
Nur x86: Das System muss neu gestartet werden, anderenfalls schlägt Solaris Live Upgrade fehl.
# init 6 |
Nun verfügen Sie über die für eine erfolgreiche Migration erforderlichen Packages und Patches.
Erstellen Sie ein ZFS-Root-Pool.
Damit das ZFS-Root-Pool gebootet und aktualisiert werden kann, muss es sich auf einem einzigen Slice befinden.
# zpool create rpool c0t1d0s5 |
Legt den Namen des neu anzulegenden ZFS-Root-Pools fest.
Erstellt das neue Root-Pool auf Festplatten-Slice c0t1d0s5 .
Informationen zum Erstellen eines neuen Root-Pools finden Sie in Solaris ZFS - Administrationshandbuch.
Migrieren Sie das UFS-Root-Dateisystem (/) auf das neue ZFS-Root-Pool.
# lucreate [-c ufsBE] -n new-zfsBE -p rpool |
Weist der aktuellen Boot-Umgebung den Namen ufsBU zu. 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.
Weist der zu erstellenden Boot-Umgebung den Namen neue-zfsBU zu. Der Name muss auf dem System einmalig sein.
Legt das neu erstellte ZFS-Root-Dateisystem (/) in dem in rpool definierten ZFS-Root-Pool an.
Das Erstellen der neuen ZFS-Boot-Umgebung kann eine gewisse Zeit dauern. Die Daten des UFS-Dateisystems werden in das 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.
(Optional) Überprüfen Sie, ob die Boot-Umgebung vollständig ist.
In diesem Beispiel erzeugt der Befehl lustatus 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 - |
(Optional) Überprüfen Sie die grundlegenden Dataset-Informationen auf dem System.
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 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
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.
Sie können die neue Boot-Umgebung jetzt aktualisieren und aktivieren. Siehe Beispiel 13–1.
In diesem Beispiel wird das neue ZFS-Root-Pool rpool auf dem separaten Slice C0t0d0s4 erstellt. Der Befehl lucreate migriert die aktuell laufende UFS-Boot-Umgebung c0t0d0 auf die neue ZFS-Boot-Umgebung neue-zfsBU und legt die neue Boot-Umgebung in rpool an.
# zpool create rpool C0t0d0s4 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool # lucreate -c c0t0d0 -n new-zfsBE -p rpool Analyzing system configuration. Current boot environment is named <c0t0d0>. Creating initial configuration for primary boot environment <c0t0d0>. The device </dev/dsk/c0t0d0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <c0t0d0> PBE Boot Device </dev/dsk/c0t0d0>. Comparing source boot environment <c0t0d0> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <new-zfsBE>. Source boot environment is <c0t0d0>. Creating boot environment <new-zfsBE>. Creating file systems on boot environment <new-zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/new-zfsBE>. Populating file systems on boot environment <new-zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </>. Making boot environment <zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-cBc.mnt updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive Population of boot environment <new-zfsBE> successful. Creation of boot environment <new-zfsBE> successful. # lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ c0t0d0 yes yes yes no - new-zfsBE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.38G 57.6G 551M rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
Sie können die neue Boot-Umgebung jetzt aktualisieren bzw.·aktivieren.
In diesem Beispiel wird die neue Boot-Umgebung mithilfe des Befehls luupgrade von einem Abbild aktualisiert, das sich in dem in der Option -s angegebenen Verzeichnis befindet.
# luupgrade -n zfsBE -u -s /net/install/export/s10/combined.s10 51135 blocks miniroot filesystem is <lofs> Mounting miniroot at </net/install/export/solaris_10/combined.solaris_10_wos /Solaris_10/Tools/Boot> Validating the contents of the media </net/install/export/s10/combined.s10>. The media is a standard Solaris media. The media contains an operating system upgrade image. The media contains Solaris version <10_1008>. Constructing upgrade profile to use. Locating the operating system upgrade program. Checking for existence of previously scheduled Live Upgrade requests. Creating upgrade profile for BE <zfsBE>. Determining packages to install or upgrade for BE <zfsBE>. Performing the operating system upgrade of the BE <zfsBE>. CAUTION: Interrupting this process may leave the boot environment unstable or unbootable. Upgrading Solaris: 100% completed Installation of the packages from this media is complete. Adding operating system patches to the BE <zfsBE>. The operating system patch installation is complete. INFORMATION: The file /var/sadm/system/logs/upgrade_log on boot environment <zfsBE> contains a log of the upgrade operation. INFORMATION: The file var/sadm/system/data/upgrade_cleanup on boot environment <zfsBE> contains a log of cleanup operations required. INFORMATION: Review the files listed above. Remember that all of the files are located on boot environment <zfsBE>. Before you activate boot environment <zfsBE>, determine if any additional system maintenance is required or if additional media of the software distribution must be installed. The Solaris upgrade of the boot environment <zfsBE> is complete. |
Die neue Boot-Umgebung kann zu einem beliebigen Zeitpunkt nach ihrer Erstellung aktiviert werden.
# luactivate new-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. Change the boot device back to the original boot environment by typing: setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a 3. Boot to the original boot environment by typing: boot ********************************************************************** Modifying boot archive service Activation of boot environment <new-zfsBE> successful. |
Booten Sie das System mit der ZFS-Boot-Umgebung neu.
# init 6 # svc.startd: The system is coming down. Please wait. svc.startd: 79 system services are now being stopped. . . . |
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 Umschalten auf die UFS-Boot-Umgebung werden Meldungen wie im folgenden Beispiel angezeigt.
# luactivate c0t0d0 WARNING: The following files have changed on both the current boot environment <new-zfsBE> zone <global> and the boot environment to be activated <c0t0d0>: /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 <c0t0d0>. These files will not be automatically synchronized from the current boot environment <new-zfsBE> when boot environment <c0t0d0> |
Wenn Sie in einem bereits vorhandenen ZFS-Root-Pool eine neue ZFS-Boot-Umgebung erstellen wollen, müssen Sie die folgenden Schritte abarbeiten. Nach dem Erstellen einer inaktiven Boot-Umgebung kann diese neue Boot-Umgebung nach Ihrem Ermessen aktualisiert und aktiviert werden. Die Option -p ist nicht erforderlich, wenn Sie eine Boot-Umgebung im gleichen Pool erstellen.
Vor dem erstmaligen Ausführen von Solaris Live Upgrade müssen Sie die neuesten Solaris Live Upgrade-Pakete vom Installationsdatenträger und die im SunSolve-Informationsdokument 206844 aufgeführten Patches installieren. Suchen Sie auf der SunSolve-Website nach dem Informationsdokument 206844 (früher 72099).
Die neuesten Packages und Patches gewährleisten, dass auf Ihrem System die neuesten Fehlerbehebungen und Leistungsmerkmale installiert sind. Stellen Sie die Installation aller für Ihr System erforderlichen Patches sicher, bevor Sie damit beginnen, eine neue Boot-Umgebung zu erstellen.
Die folgenden Schritte geben die Schritte im SunSolve-Informationsdokument 206844 wieder.
Damit Sie mit Solaris Live Upgrade neue ZFS-Boot-Umgebungen installieren können, muss auf Ihrem System mindestens Solaris-Release 10 10/08 installiert sein. In früheren Releases ist die ZFS- und Solaris Live Upgrade-Software zum Durchführen dieser Aufgaben nicht enthalten.
Melden Sie sich als Superuser an oder nehmen Sie eine entsprechende Rolle an.
Befolgen Sie von der SunSolve-Website aus die Anweisungen zum Entfernen und Hinzufügen von Solaris Live Upgrade-Packages im Informationsdokument 206844.
Die drei Solaris Live Upgrade-Packages SUNWluu, SUNWlur und SUNWlucfg enthalten die zum Aktualisieren mithilfe von Solaris Live Upgrade erforderliche Software. Diese Pakete enthalten die bestehende Software, neue Funktionen sowie Bugfixes. Wenn Sie die vorhandenen Packages nicht entfernen und die neuen Packages auf Ihrem System installieren, bevor Sie Solaris Live Upgrade ausführen, schlägt das Aktualisieren auf die Zielversion fehl. Das Package SUMWlucfg ist ab Solaris-Release 10 8/07 neu. Wenn Sie Solaris Live Upgrade-Packages mit einem Release vor Solaris 10 8/07 verwenden, müssen Sie dieses Package nicht entfernen.
Das Package SUMWlucfg ist ab Solaris-Release 10 8/07 neu. Wenn Sie Solaris Live Upgrade-Packages eines früheren Release verwenden, brauchen Sie diese Packages nicht zu entfernen.
# pkgrm SUNWlucfg SUNWluu SUNWlur |
Installieren Sie die neuen Solaris Live Upgrade-Packages. Eine Anleitung finden Sie unter Installieren von Solaris Live Upgrade.
Vor der Installation und dem Ausführen von Solaris Live Upgrade müssen Sie die folgenden Patches installieren. Diese Patches gewährleisten, dass auf Ihrem System die neuesten Fehlerbehebungen und Leistungsmerkmale installiert sind.
Vergewissern Sie sich auf SunSolve, dass Sie die aktuellste Patch-Liste haben. Suchen Sie auf der SunSolve-Website nach dem Informationsdokument 206844 (früher 72099).
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.
Laden Sie von der SunSolve -Website die Patchliste herunter.
Wechseln Sie wie in diesem Beispiel zum Patch-Verzeichnis.
# cd /var/tmp/lupatches |
Installieren Sie die Patches mit dem Befehl patchadd.
# patchadd path-to-patches patch_id patch_id |
Path-to-Patches steht für den Pfad zum Patch-Verzeichnis, wie z. B. /var/tmp/lupatches. Patch_ID sind die Patchnummern. Trennen Sie mehrere Patch-Namen mit Leerzeichen voneinander.
Sie müssen die Patches in der im Dokument 206844 angegebenen Reihenfolge installieren.
Starten Sie, falls erforderlich, das System neu. Bei einigen Patches ist ein Systemneustart erforderlich.
Nur x86: Das System muss neu gestartet werden, anderenfalls schlägt Solaris Live Upgrade fehl.
# init 6 |
Sie haben nun die für die erfolgreiche Erstellung einer neuen Boot-Umgebung erforderlichen Packages und Patches.
Erstellen Sie die neue Boot-Umgebung.
# lucreate [-c zfsBE] -n new-zfsBE |
Weist der aktuellen Boot-Umgebung den Namen zfsBU zu. 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, so erstellt die Software automatisch einen Standardnamen.
Weist der zu erstellenden Boot-Umgebung einen Namen zu. Der Name muss auf dem System einmalig sein.
Die neue Boot-Umgebung wird fast unverzüglich erstellt. Von jedem Dataset im aktuellen ZFS-Root-Pool wird ein Snapshot erstellt, und von jedem Snapshot wird dann ein Klon angelegt. Snapshots sind sehr speicherplatzeffizient, sodass bei diesem Vorgang nur sehr wenig Festplattenspeicherplatz belegt wird. Nach dem Erstellen der inaktiven Boot-Umgebung können Sie die neue ZFS-Boot-Umgebung mithilfe der Befehle luupgrade bzw. luactivate aktualisieren bzw. aktivieren.
(Optional) Überprüfen Sie, ob die Boot-Umgebung vollständig ist.
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 ------------------------------------------------------------------------ zfsBE yes yes yes no - new-zfsBE yes no no yes - |
(Optional) Überprüfen Sie die grundlegenden Dataset-Informationen auf dem System.
In diesem Beispiel heißt das ZFS-Root-Pool rpool, und das @-Zeichen zeigt an, dass es sich um einen Snapshot handelt. Die Einhängepunkte der neuen Boot-Umgebung sind temporär und gelten nur bis zur Ausführung des Befehls luactivate Die Volumes·/dump und /swap werden mit dem ZFS-Root-Pool und den Boot-Umgebungen des Root-Pools gemeinsam genutzt.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.38G 57.6G 551M rpool/ROOT/zfsBE@new-zfsBE 66.5K - 551M - rpool/ROOT/new-zfsBE 85.5K 57.6G 551M /tmp/.alt.103197 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
Sie können die neue Boot-Umgebung jetzt aktualisieren und aktivieren. Siehe Beispiel 13–2.
Die folgenden Befehle erstellen die neue ZFS-Boot-Umgebung neue-zfsBU . Die Option -p ist nicht erforderlich, da die Boot-Umgebung innerhalb des gleichen Root-Pools erstellt wird.
# lucreate [-c zfsBE] -n new-zfsBE Analyzing system configuration. Comparing source boot environment <zfsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Creating configuration for boot environment new-zfsBE. Source boot environment is zfsBE. Creating boot environment new-zfsBE. Cloning file systems from boot environment zfsBE to create boot environment new-zfsBE. Creating snapshot for <rpool> on <rpool> Creating clone for <rpool>. Setting canmount=noauto for <rpool> in zone <global> on <rpool>. Population of boot environment zfsBE successful on <rpool>. # lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ zfsBE yes yes yes no - new-zfsBE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.38G 57.6G 551M rpool/ROOT/zfsBE@new-zfsBE 66.5K - 551M - rpool/ROOT/new-zfsBE 85.5K 57.6G 551M /tmp/.alt.103197 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
Sie können die neue Boot-Umgebung jetzt aktualisieren und aktivieren. Ein Beispiel zum Aktualisieren einer ZFS-Boot-Umgebung finden Sie in Beispiel 13–1. Weitere Beispiele zur Verwendung des Befehls luupgrade finden Sie in Kapitel 5Ausführen eines Upgrades mit Solaris Live Upgrade (Vorgehen).
# luactivate new-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. Change the boot device back to the original boot environment by typing: setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a 3. Boot to the original boot environment by typing: boot ********************************************************************** Modifying boot archive service Activation of boot environment <new-zfsBE> successful. |
Booten Sie das System mit der ZFS-Boot-Umgebung neu.
# init 6 # svc.startd: The system is coming down. Please wait. svc.startd: 79 system services are now being stopped. . . . |
Wenn auf Ihrem System bereits ein ZFS-Root-Pool vorhanden ist und Sie eine neue ZFS-Boot-Umgebung in einem neuen ZFS-Root-Pool erstellen wollen, müssen Sie die folgenden Schritte abarbeiten. Nach dem Erstellen einer inaktiven Boot-Umgebung kann diese neue Boot-Umgebung nach Ihrem Ermessen aktualisiert und aktiviert werden. Die Option -p ist erforderlich, da sie angibt, wo die neue Boot-Umgebung angelegt werden soll. Damit das vorhandene ZFS-Root-Pool gebootet und aktualisiert werden kann, muss es sich auf einem separaten Slice befinden.
Vor dem erstmaligen Ausführen von Solaris Live Upgrade müssen Sie die neuesten Solaris Live Upgrade-Pakete vom Installationsdatenträger und die im SunSolve-Informationsdokument 206844 aufgeführten Patches installieren. Suchen Sie auf der SunSolve-Website nach dem Informationsdokument 206844 (früher 72099).
Die neuesten Packages und Patches gewährleisten, dass auf Ihrem System die neuesten Fehlerbehebungen und Leistungsmerkmale installiert sind. Stellen Sie die Installation aller für Ihr System erforderlichen Patches sicher, bevor Sie damit beginnen, eine neue Boot-Umgebung zu erstellen.
Die folgenden Schritte geben die Schritte im SunSolve-Informationsdokument 206844 wieder.
Damit Sie mit Solaris Live Upgrade neue ZFS-Boot-Umgebungen installieren können, muss auf Ihrem System mindestens Solaris-Release 10 10/08 installiert sein. In früheren Releases ist die ZFS- und Solaris Live Upgrade-Software zum Durchführen dieser Aufgaben nicht enthalten.
Melden Sie sich als Superuser an oder nehmen Sie eine entsprechende Rolle an.
Befolgen Sie von der SunSolve-Website aus die Anweisungen zum Entfernen und Hinzufügen von Solaris Live Upgrade-Packages im Informationsdokument 206844.
Die drei Solaris Live Upgrade-Packages SUNWluu, SUNWlur und SUNWlucfg enthalten die zum Aktualisieren mithilfe von Solaris Live Upgrade erforderliche Software. Diese Pakete enthalten die bestehende Software, neue Funktionen sowie Bugfixes. Wenn Sie die vorhandenen Packages nicht entfernen und die neuen Packages auf Ihrem System installieren, bevor Sie Solaris Live Upgrade ausführen, schlägt das Aktualisieren auf die Zielversion fehl. Das Package SUMWlucfg ist ab Solaris-Release 10 8/07 neu. Wenn Sie Solaris Live Upgrade-Packages mit einem Release vor Solaris 10 8/07 verwenden, müssen Sie dieses Package nicht entfernen.
Das Package SUMWlucfg ist ab Solaris-Release 10 8/07 neu. Wenn Sie Solaris Live Upgrade-Packages eines früheren Release verwenden, brauchen Sie diese Packages nicht zu entfernen.
# pkgrm SUNWlucfg SUNWluu SUNWlur |
Installieren Sie die neuen Solaris Live Upgrade-Packages. Eine Anleitung finden Sie unter Installieren von Solaris Live Upgrade.
Vor der Installation und dem Ausführen von Solaris Live Upgrade müssen Sie die folgenden Patches installieren. Diese Patches gewährleisten, dass auf Ihrem System die neuesten Fehlerbehebungen und Leistungsmerkmale installiert sind.
Vergewissern Sie sich auf SunSolve, dass Sie die aktuellste Patch-Liste haben. Suchen Sie auf der SunSolve-Website nach dem Informationsdokument 206844 (früher 72099).
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.
Laden Sie von der SunSolve -Website die Patchliste herunter.
Wechseln Sie wie in diesem Beispiel zum Patch-Verzeichnis.
# cd /var/tmp/lupatches |
Installieren Sie die Patches mit dem Befehl patchadd.
# patchadd path-to-patches patch_id patch_id |
Path-to-Patches steht für den Pfad zum Patch-Verzeichnis, wie z. B. /var/tmp/lupatches. Patch_ID sind die Patchnummern. Trennen Sie mehrere Patch-Namen mit Leerzeichen voneinander.
Sie müssen die Patches in der im Dokument 206844 angegebenen Reihenfolge installieren.
Starten Sie, falls erforderlich, das System neu. Bei einigen Patches ist ein Systemneustart erforderlich.
Nur x86: Das System muss neu gestartet werden, anderenfalls schlägt Solaris Live Upgrade fehl.
# init 6 |
Nun verfügen Sie über die für eine erfolgreiche Migration erforderlichen Packages und Patches.
Erstellen Sie ein ZFS-Root-Pool.
Damit das ZFS-Root-Pool boot- und upgradefähig ist, muss es sich auf einem einzigen Slice befinden.
# zpool create rpool2 c0t1d0s5 |
Der Name des neuen ZFS-Root-Pools.
Gibt an, dass rpool2 auf dem bootfähigen Slice c0t1d0s5 angelegt werden soll.
Informationen zum Erstellen eines neuen Root-Pools finden Sie in Solaris ZFS - Administrationshandbuch.
Erstellen Sie die neue Boot-Umgebung.
# lucreate [-c zfsBE] -n new-zfsBE -p rpool2 |
Weist der aktuellen ZFS-Boot-Umgebung den Namen zfsBU zu.
Weist der zu erstellenden Boot-Umgebung einen Namen zu. Der Name muss auf dem System einmalig sein.
Legt die·neu erstellte ZFS-Boot-Umgebung in dem in rpool2 definierten ZFS-Root-Pool an.
Das Erstellen der neuen ZFS-Boot-Umgebung kann eine gewisse Zeit dauern. Die Daten des Dateisystems werden in das neue 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.
(Optional) Überprüfen Sie, ob die Boot-Umgebung vollständig ist.
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 ------------------------------------------------------------------------ zfsBE yes yes yes no - new-zfsBE yes no no yes - |
(Optional) Überprüfen Sie die grundlegenden Dataset-Informationen auf dem System.
Im folgenden Beispiel werden die Namen aller auf dem System vorhandenen Datasets angezeigt. Der für die neue Boot-Umgebung angezeigte Einhängepunkt ist temporär und gilt nur bis zur Ausführung des Befehls luactivate. Die neue Boot-Umgebung nutzt die Volumes rpool2/dump und rpool2/swap gemeinsam mit der ZFS-Boot-Umgebung rpool2.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool2/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool2/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool2/dump 3.99G - 3.99G - rpool2/swap 3.99G - 3.99G - rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
Sie können die neue Boot-Umgebung jetzt aktualisieren und aktivieren. Siehe Beispiel 13–3.
In diesem Beispiel wird das neue ZFS-Root-Pool rpool auf dem separaten Slice c0t2s0s5 erstellt. Der Befehl lucreate erstellt die neue ZFS-Boot-Umgebung neue-zfsBU. Die Option -p ist erforderlich, da die Boot-Umgebung in einem anderen Root-Pool erstellt wird.
# zpool create rpool C0t1d0s5 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - # lucreate -c rpool -n new-zfsBE -p rpool2 Analyzing system configuration. Current boot environment is named <rpool>. Creating initial configuration for primary boot environment <rpool>. The device </dev/dsk/c0t0d0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <rpool> PBE Boot Device </dev/dsk/rpool>. Comparing source boot environment <rpool> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <new-zfsBE>. Source boot environment is <rpool>. Creating boot environment <new-zfsBE>. Creating file systems on boot environment <new-zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool2/ROOT/new-zfsBE>. Populating file systems on boot environment <new-zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </>. Making boot environment <new-zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-cBc.mnt updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive Population of boot environment <new-zfsBE> successful. Creation of boot environment <new-zfsBE> successful. # lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ zfsBE yes yes yes no - new-zfsBE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool2/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool2/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool2/dump 3.99G - 3.99G - rpool2/swap 3.99G - 3.99G - rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
Wenn Sie ein ZFS-Root-Pool bzw. eine UFS-Boot-Umgebung besitzen, die gegenwärtig nicht als aktuelle Boot-Umgebung verwendet wird, können Sie mithilfe des folgenden Beispiels aus dieser Boot-Umgebung eine neue ZFS-Boot-Umgebung erstellen. Nach dem Erstellen der neuen ZFS-Boot-Umgebung kann diese neue Boot-Umgebung nach Ihrem Ermessen aktualisiert und aktiviert werden.
Wenn Sie eine Boot-Umgebung von einem anderen System als dem aktuell laufenden System erstellen, müssen Sie den Befehl lucreate mit der Option -s verwenden. Die Wirkungsweise der Option -s ist die gleiche wie bei UFS-Dateisystemen. Die Option -s gibt den Pfad zum alternativen Root-Dateisystem (/) an. Von diesem alternativen Root-Dateisystem (/) wird das neue ZFS-Root-Pool erstellt. Die alternative Root kann ein UFS-Root-Dateisystem (/) oder ein ZFS-Root-Pool sein. Je nach System kann der Kopiervorgang einige Zeit in Anspruch nehmen.
Das folgende Beispiel zeigt die Verwendung der Option -s zum Erstellen einer Boot-Umgebung auf einem anderen ZFS-Root-Pool.
Mithilfe des folgenden Befehls wird ein neues ZFS-Root-Pool von einem vorhandenen ZFS-Root-Pool erstellt. Die Option -n weist der neu zu erstellenden Boot-Umgebung den Namen neue-zfsBU zu. Die Option -s gibt an, dass die neue Boot-Umgebung statt von der aktuell laufenden Boot-Umgebung von der Boot-Umgebung rpool3 erstellt werden soll. Die Option -p legt fest, dass die neue Boot-Umgebung in rpool2 angelegt werden soll.
# lucreate -n new-zfsBE -s rpool3 -p rpool2 # lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ zfsBE yes yes yes no - zfsBE2 yes no no yes - zfsBE3 yes no no yes - new-zfsBE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool2/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool2/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool2/dump 3.99G - 3.99G - rpool2/swap 3.99G - 3.99G - rpool3 9.29G 57.6G 20K /rpool2 rpool3/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool3/ROOT/zfsBE3 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool3/dump 3.99G - 3.99G - rpool3/swap 3.99G - 3.99G - prool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
Sie können die neue Boot-Umgebung jetzt aktualisieren und aktivieren.
Wenn nach dem Upgrade eine Fehlfunktion festgestellt wird oder Anwendungen nicht mit aktualisierten Komponenten kompatibel sind, können Sie mithilfe des Befehls luactivate einen Fallback auf die ursprüngliche Boot-Umgebung durchführen.
Wenn Sie eine UFS-Boot-Umgebung auf ein ZFS-Root-Pool migriert haben und Sie sich dann für einen Fallback auf die alte UFS-Boot-Umgebung entscheiden, müssen Sie wiederum alle ZFS-Speicherpools importieren, die in der ZFS-Boot-Umgebung erstellt wurden. Diese ZFS-Speicherpools sind in der UFS-Boot-Umgebung nicht automatisch verfügbar. Beim Umschalten auf die UFS-Boot-Umgebung werden Meldungen wie im folgenden Beispiel angezeigt.
# luactivate c0t0d0 WARNING: The following files have changed on both the current boot environment <new-ZFSbe> zone <global> and the boot environment to be activated <c0t0d0>: /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 <c0t0d0>. These files will not be automatically synchronized from the current boot environment <new-ZFSbe> when boot environment <c0t0d0> |
Beispiele für Fallbacks zur ursprünglichen Boot-Umgebung finden Sie in Kapitel 6Wiederherstellen nach Fehler: Zurückgreifen auf die ursprüngliche Boot-Umgebung (Vorgehen) .
Weitere Informationen zu den in diesem Kapitel enthaltenen Themen finden Sie in den in Tabelle 13–1 aufgeführten Ressourcen.
Tabelle 13–1 Weitere Ressourcen
Ressource |
Zu finden in: |
---|---|
Informationen zu ZFS einschließl. Übersicht, Planung und schrittweise Anleitungen | |
Verwendung von Solaris Live Upgrade auf Systemen mit UFS-Dateisystemen |
Teil I, Ausführen eines Upgrades mit Solaris Live Upgrade of this book |