Die Oracle Solaris Live Upgrade-Funktionen aus früheren Versionen sind weiterhin verfügbar und verhalten sich in Bezug auf UFS-Komponenten unverändert.
Folgende Funktionen stehen ebenfalls zur Verfügung:
Für die Migration eines UFS-Root-Dateisystems in ein ZFS-Root-Dateisystem muss mit der Option -p ein vorhandener ZFS-Speicher-Pool bestimmt werden.
Wenn das UFS-Root-Dateisystem Komponenten auf verschiedenen Bereichen umfasst, werden diese in den ZFS-Root-Pool überführt.
Sie können ein System mit Zonen zwar migrieren, die unterstützten Konfigurationen sind in Solaris 10 10/08 jedoch beschränkt. Ab Solaris 10 5/09 werden mehr Zonenkonfigurationen unterstützt. Weitere Informationen finden Sie in den folgenden Abschnitten:
Informieren Sie sich unter Migration in ein ZFS-Root-Dateisystem mit Oracle Solaris Live Upgrade (ohne Zonen) , wenn Sie ein ZFS-Root-Dateisystem ohne Zonen migrieren möchten.
Oracle Solaris Live Upgrade kann die ZFS-Snapshot- und -Klon-Funktionen verwenden, wenn Sie eine neue ZFS-BU in demselben Pool erstellen. Dadurch wird die BU-Erstellung wesentlich schneller als in vorherigen Solaris-Versionen.
Ausführliche Informationen zu den Oracle Solaris-Installations- und Oracle Solaris Live Upgrade-Funktionen finden Sie in Oracle Solaris 10 9/10 Installationshandbuch: Solaris Live Upgrade und Planung von Upgrades .
Die Migration eines UFS-Root-Dateisystems in ein ZFS-Root-Dateisystem läuft in folgenden Grundschritten ab:
Installieren Sie Solaris 10 10/08, Solaris 10 5/09, Solaris 10 10/09 oder Oracle Solaris 10 9/10 oder verwenden Sie das Standard-Upgrade-Programm, um eine Aktualisierung einer frühren Solaris 10-Version auf einem beliebigen unterstützten SPARC- oder x 86-System durchzuführen.
Wenn Sie Solaris 10 10/08 oder eine höhere Version ausführen, erstellen Sie einen ZFS-Speicher-Pool für das ZFS-Root-Dateisystem.
Verwenden Sie Oracle Solaris Live Upgrade, um das UFS-Root-Dateisystem in ein ZFS-Root-Dateisystem zu migrieren.
Aktivieren der ZFS-BU mit dem Befehl luactivate.
Informationen zu Voraussetzungen für ZFS und Oracle Solaris Live Upgrade finden Sie unter Oracle Solaris-Installation und Oracle Solaris Live Upgrade: Voraussetzungen für die ZFS-Unterstützung.
Für die Migration eines UFS-Root-Dateisystems in ein ZFS-Root-Dateisystem mithilfe von Oracle Solaris Live Upgrade sind folgende Probleme zu berücksichtigen:
Die standardmäßige Upgrade-Option der grafischen Oracle Solaris-Installationsoberfläche ist für die Migration von einem UFS- in ein ZFS-Root-Dateisystem nicht verfügbar. Hierzu müssen Sie Oracle Solaris Live Upgrade verwenden.
Vor dem Oracle Solaris Live Upgrade müssen Sie den ZFS-Speicher-Pool erstellen, der zum Booten verwendet werden soll. Aufgrund von derzeitigen Boot-Einschränkungen muss der ZFS-Root-Pool außerdem mit Bereichen anstatt mit ganzen Festplatten erstellt werden. Beispiel:
# zpool create rpool mirror c1t0d0s0 c1t1d0s0 |
Vergewissern Sie sich vor dem Erstellen des neuen Pools, dass die für den Pool vorgesehenen Festplatten ein SMI-Label (VTOC) anstatt eines EFI-Labels aufweisen. Bei einer Neubezeichnung der Festplatte mit einem SMI-Label ist darauf zu achten, dass durch die Bezeichnung keine Änderungen am Partitionierungsschema erfolgt sind. In den meisten Fällen sollte die gesamte Festplattenkapazität in den für den Root-Pool vorgesehenen Bereichen liegen.
Die Erstellung einer UFS-BU aus einer ZFS-BU ist mit Oracle Solaris Live Upgrade nicht möglich. Wenn Sie eine UFS-BU in eine ZFS-BU migrieren und die UFS-BU beibehalten, kann sowohl aus der UFS-BU als auch der ZFS-BU gebootet werden.
Benennen Sie die ZFS-BUs nicht mit dem Befehl zfs rename um, da Oracle Solaris Live Upgrade diese Namensänderung nicht erkennt. Nachfolgende Befehle wie z. B. ludelete schlagen fehl. Sehen Sie davon ab, ZFS-Pools oder -Dateisysteme umzubenennen, wenn Sie bereits vorhandene BUs weiterhin verwenden möchten.
Wenn Sie eine alternative BU erstellen, die ein Klon der primären BU ist, können Sie nicht auf die Optionen -f, -x, -y, -Y und -z zum Einbinden oder Ausschließen von Dateien in die bzw. aus der primären BU zurückgreifen. Diese Optionen zum Einbinden und Ausschließen können weiterhin in folgenden Fällen verwendet werden:
UFS -> UFS UFS -> ZFS ZFS -> ZFS (different pool) |
Während die Aktualisierung eines UFS-Root-Dateisystems auf ein ZFS-Root-Dateisystem mit Oracle Solaris Live Upgrade möglich ist, können Sie mit Oracle Solaris Live Upgrade keine Aktualisierung von Nicht-Root- oder freigegebenen Dateisystemen vornehmen.
Der Befehl lu kann nicht zum Erstellen bzw. Migrieren eines ZFS-Root-Dateisystems verwendet werden.
Die folgenden Beispiele veranschaulichen die Migration eines UFS-Root-Dateisystems in ein ZFS-Root-Dateisystem.
Wenn Sie ein System mit Zonen migrieren oder aktualisieren, lesen Sie folgende Abschnitte:
Das folgende Beispiel zeigt, wie eine BU eines ZFS-Root-Dateisystems aus einem UFS-Root-Dateisystem erstellt wird. Die aktuelle BU ufsBE, die ein UFS-Root-Dateisystem enthält, wird mit der Option -c angegeben. Wenn Sie die Option - c nicht angeben, wird als BU-Name standardmäßig der Gerätename verwendet. Die neue BU zfsBE wird mit der Option -n angegeben. Vor der Ausführung des lucreate-Vorgangs muss bereits ein ZFS-Speicher-Pool vorhanden sein.
Damit ein ZFS-Speicher-Pool upgrade- und bootfähig ist, muss er auf Datenträger-Speicherbereichen und darf nicht auf einer gesamten Festplatte erstellt werden. Vergewissern Sie sich vor dem Erstellen des neuen Pools, dass die für den Pool vorgesehenen Festplatten ein SMI-Label (VTOC) anstatt eines EFI-Labels aufweisen. Bei einer Neubezeichnung der Festplatte mit einem SMI-Label ist darauf zu achten, dass durch die Bezeichnung keine Änderungen am Partitionierungsschema erfolgt sind. In den meisten Fällen sollte die gesamte Festplattenkapazität in den für den Root-Pool vorgesehenen Bereichen liegen.
# zpool create rpool mirror c1t2d0s0 c2t1d0s0 # lucreate -c ufsBE -n zfsBE -p rpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <ufsBE>. Creating initial configuration for primary boot environment <ufsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <ufsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <ufsBE> 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/c1t2d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfsBE>. Source boot environment is <ufsBE>. Creating boot environment <zfsBE>. Creating file systems on boot environment <zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfsBE>. Populating file systems on boot environment <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 </rpool/ROOT>. Creating compare database for file system </>. Updating compare databases on boot environment <zfsBE>. Making boot environment <zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-qD.mnt updating /.alt.tmp.b-qD.mnt/platform/sun4u/boot_archive Population of boot environment <zfsBE> successful. Creation of boot environment <zfsBE> successful. |
Prüfen Sie nach Abschluss der lucreate-Vorgangs den BU-Status mithilfe des Befehls lustatus. Beispiel:
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes yes yes no - zfsBE yes no no yes - |
Kontrollieren Sie dann die Liste der ZFS-Komponenten. Beispiel:
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.17G 59.8G 95.5K /rpool rpool/ROOT 4.66G 59.8G 21K /rpool/ROOT rpool/ROOT/zfsBE 4.66G 59.8G 4.66G / rpool/dump 2G 61.8G 16K - rpool/swap 517M 60.3G 16K - |
Aktivieren Sie dann mit dem Befehl luactivate die neue ZFS-BU. 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. ********************************************************************** . . . Modifying boot archive service Activation of boot environment <zfsBE> successful. |
Als Nächstes starten Sie das System in der ZFS-BU neu.
# init 6 |
Vergewissern Sie sich, dass die ZFS-BU aktiv ist:
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes no no yes - zfsBE yes yes yes no - |
Wenn Sie wieder auf die UFS-BU zurückschalten, müssen Sie während des Bootens der ZFS-BU erstellte ZFS-Speicher-Pools zurückimportieren, da sie nicht automatisch in der UFS-BU verfügbar sind.
Wird die UFS-BU nicht mehr benötigt, kann Sie mit dem Befehl ludelete gelöscht werden.
Das Erstellen einer ZFS-BU aus einer ZFS-BU in demselben Pool ist eine sehr schnelle Angelegenheit, da für diesen Vorgang die ZFS-Snapshot- und -Klon-Funktionen verwendet werden. Wenn die aktuelle BU in demselben ZFS-Pool enthalten ist, wird die Option -p nicht berücksichtigt.
Wenn mehrere ZFS-BUs vorhanden sind, gehen Sie wie folgt vor, um auszuwählen, aus welcher BU gebootet werden soll:
SPARC: Sie können mit dem Befehl boot -L die verfügbaren BUs ermitteln und mit dem Befehl boot -Z die BU auswählen, aus der gebootet werden soll.
x86: Sie können eine BU aus dem GRUB-Menü auswählen.
Weitere Informationen finden Sie unter Beispiel 5–9.
# lucreate -n zfs2BE Analyzing system configuration. No name for current boot environment. INFORMATION: The current boot environment is not named - assigning name <zfsBE>. Current boot environment is named <zfsBE>. Creating initial configuration for primary boot environment <zfsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <zfsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. 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. Updating system configuration files. Creating configuration for boot environment <zfs2BE>. Source boot environment is <zfsBE>. Creating boot environment <zfs2BE>. Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>. Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>. Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>. Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful. |
Sie können die ZFS-BU mithilfe von zusätzliche Packages oder Patches aktualisieren.
Dieser Vorgang läuft im Wesentlichen wie folgt ab:
Erstellen Sie mit dem Befehl lucreate eine alternative BU.
Aktivieren Sie die alternative BU und booten Sie.
Fügen Sie der primären ZFS-BU mit dem Befehl luupgrade die Packages oder Patches hinzu.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes no no yes - zfs2BE yes yes yes no - # luupgrade -p -n zfsBE -s /net/system/export/s10up/Solaris_10/Product SUNWchxge Validating the contents of the media </net/install/export/s10up/Solaris_10/Product>. Mounting the BE <zfsBE>. Adding packages to the BE <zfsBE>. Processing package instance <SUNWchxge> from </net/install/export/s10up/Solaris_10/Product> Chelsio N110 10GE NIC Driver(sparc) 11.10.0,REV=2006.02.15.20.41 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. This appears to be an attempt to install the same architecture and version of a package which is already installed. This installation will attempt to overwrite this package. Using </a> as the package base directory. ## Processing package information. ## Processing system information. 4 package pathnames are already properly installed. ## Verifying package dependencies. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. ## Checking for setuid/setgid programs. This package contains scripts which will be executed with super-user permission during the process of installing this package. Do you want to continue with the installation of <SUNWchxge> [y,n,?] y Installing Chelsio N110 10GE NIC Driver as <SUNWchxge> ## Installing part 1 of 1. ## Executing postinstall script. Installation of <SUNWchxge> was successful. Unmounting the BE <zfsBE>. The package add to the BE <zfsBE> completed. |
Sie können ein System mit Zonen mithilfe von Oracle Solaris Live Upgrade zwar migrieren, die unterstützten Konfigurationen sind in Solaris 10 10/08 jedoch beschränkt. Nach der Installation von Solaris 10 5/09 oder einer höheren Version oder der Aktualisierung auf Solaris 10 5/09 oder eine höhere Version werden mehr Zonenkonfigurationen unterstützt. Weitere Informationen finden Sie unter Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (ab Solaris 10 5/09).
In diesem Abschnitt wird beschrieben, wie Sie ein System mit Zonen installieren und konfigurieren müssen, damit es mit Solaris Oracle Live Upgrade aktualisiert und gepatcht werden kann. Informieren Sie sich unter Migration in ein ZFS-Root-Dateisystem mit Oracle Solaris Live Upgrade (ohne Zonen) , wenn Sie ein ZFS-Root-Dateisystem ohne Zonen migrieren möchten.
Wenn Sie ein System mit Zonen migrieren möchten bzw. die Konfiguration eines Systems mit Zonen in Betracht ziehen, berücksichtigen·Sie in Solaris 10 10/08 die folgenden Vorgehensweisen:
Halten Sie sich an die empfohlenen Vorgehensweisen zum Einrichten von Zonen mit einem ZFS-Root-Dateisystem, damit Sie für dieses System Oracle Solaris Live Upgrade verwenden können.
Dieses Verfahren erklärt, wie ein UFS-Root-Dateisystem mit installierten Zonen in ein ZFS-Root-Dateisystem migriert wird, damit die ZFS-Zonen-Root-Konfiguration aktualisiert oder gepatcht werden kann.
In den nachfolgenden Schritten ist der Name des Beispiel-Pools rpool, und der Name der aktiven Boot-Umgebung ist s10BE*.
Rüsten·Sie das System auf Solaris 10 10/08 auf, falls darauf ein früheres Solaris 10-Release installiert ist.
Weitere Informationen zum Aktualisieren eines Systems, auf dem Solaris 10 installiert ist, finden Sie in Oracle Solaris 10 9/10 Installationshandbuch: Solaris Live Upgrade und Planung von Upgrades .
Erstellen Sie den Root-Pool.
# zpool create rpool mirror c0t1d0 c1t1d0 |
Informationen zu Voraussetzungen für den Root-Pool finden Sie unter Oracle Solaris-Installation und Oracle Solaris Live Upgrade: Voraussetzungen für die ZFS-Unterstützung.
Überprüfen Sie, ob die Zonen aus der UFS-Umgebung gebootet wurden.
Erstellen Sie die neue ZFS-Boot-Umgebung.
# lucreate -n s10BE2 -p rpool |
Dieser Befehl erstellt im Root-Pool Datasets für die neue Boot-Umgebung und kopiert die aktuelle Boot-Umgebung einschließlich der Zonen in diese Datasets.
Aktivieren Sie die neue ZFS-Boot-Umgebung.
# luactivate s10BE2 |
Jetzt besitzt das System ein ZFS-Root-Dateisystem, die Zonen-Roots auf UFS befinden sich jedoch noch im UFS-Root-Dateisystem. Als nächster Schritt müssen die UFS-Zonen vollständig in eine unterstützte ZFS-Konfiguration migriert werden.
Starten Sie das System neu.
# init 6 |
Migrieren Sie die Zonen in eine ZFS-BU.
Beseitigen Sie alle potenziellen Probleme mit Einhängepunkten.
Aufgrund eines Fehlers im Oracle Solaris Live Upgrade kann das Booten der nichtaktiven Boot-Umgebung fehlschlagen, wenn ein ZFS-Dataset oder ein ZFS-Dataset einer Zone in der Boot-Umgebung einen ungültigen Einhängepunkt besitzt.
Überprüfen Sie die Ausgabe des Befehls zfs list.
Suchen Sie ungültige temporäre Einhängepunkte. Beispiel:
# zfs list -r -o name,mountpoint rpool/ROOT/s10u6 NAME MOUNTPOINT rpool/ROOT/s10u6 /.alt.tmp.b-VP.mnt/ rpool/ROOT/s10u6/zones /.alt.tmp.b-VP.mnt//zones rpool/ROOT/s10u6/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA |
Der Einhängepunkt für die ZFS-Root-BU (rpool/ROOT/s10u6) muss / sein.
Setzen Sie die Einhängepunkte für die ZFS-BU und ihre Datasets zurück.
Beispiel:
# zfs inherit -r mountpoint rpool/ROOT/s10u6 # zfs set mountpoint=/ rpool/ROOT/s10u6 |
Starten Sie das System neu.
Wählen Sie die Boot-Umgebung aus, deren Einhängepunkte Sie gerade korrigiert haben, wenn im GRUB-Menü bzw. in der Eingabeaufforderung des OpenBoot-PROM die Option zum Booten einer spezifischen Boot-Umgebung angezeigt wird.
In diesem Verfahren wird erklärt, wie ein ZFS-Root-Dateisystem und eine ZFS-Zonen-Root-Konfiguration einrichtet werden, die aktualisiert oder gepatcht werden können. In dieser Konfiguration werden die ZFS-Zonen-Roots als ZFS-Datasets erstellt.
In den nachfolgenden Schritten ist der Name des Beispiel-Pools rpool, und der Name der aktiven Boot-Umgebung ist s10BE. Der Name für das Zonen-Dataset kann ein beliebiger zulässiger Dataset-Name sein. Der Name des Zonen-Dataset im folgenden Beispiel ist zones.
Installieren Sie mithilfe der interaktiven Solaris-Textmodus-Installationsoption oder des Solaris JumpStart-Installationsverfahrens ein System mit ZFS-Root.
Weitere Informationen zur Installation eines ZFS-Root-Dateisystems mithilfe des Erstinstallationsverfahrens bzw. mit Solaris JumpStart finden Sie unter Installieren eines ZFS-Root-Dateisystems (Erstinstallation) oder Installieren eines ZFS-Root-Dateisystems (Oracle Solaris JumpStart-Installation).
Booten Sie das System vom neu erstellten Root-Pool.
Erstellen Sie ein Dataset zum Gruppieren der Zonen-Roots.
Beispiel:
# zfs create -o canmount=noauto rpool/ROOT/s10BE/zones |
Das Setzen des Wertes noauto der Eigenschaft canmount garantiert, dass das Dataset nur von der speziellen Aktion von Oracle Solaris Live Upgrade und dem Startup-Code des Systems eingehängt werden kann.
Hängen Sie das neu erstellte Zonen-Dataset ein.
# zfs mount rpool/ROOT/s10BE/zones |
Das Dataset wird unter /zones eingehängt.
Erstellen Sie für jede Zonen-Root ein·Dataset und hängen Sie dieses ein.
# zfs create -o canmount=noauto rpool/ROOT/s10BE/zones/zonerootA # zfs mount rpool/ROOT/s10BE/zones/zonerootA |
Setzen Sie für das Zonen-Root-Verzeichnis die entsprechenden Zugriffsrechte.
# chmod 700 /zones/zonerootA |
Konfigurieren Sie die Zone und setzen Sie den Zonen-Pfad wie folgt:
# zonecfg -z zoneA zoneA: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:zoneA> create zonecfg:zoneA> set zonepath=/zones/zonerootA |
Mithilfe der folgenden Syntax können Sie festlegen, dass die Zonen beim Booten des Systems automatisch gebootet werden sollen:
zonecfg:zoneA> set autoboot=true |
Installieren Sie die Zone.
# zoneadm -z zoneA install |
Booten Sie die Zone.
# zoneadm -z zoneA boot |
Verwenden Sie dieses Verfahren, wenn Sie ein ZFS-Root-Dateisystem mit Zonen-Roots auf ZFS aktualisieren bzw. patchen müssen. Bei solchen Aktualisierungen·kann es sich um eine Systemaufrüstung oder das Anwenden von Patches handeln.
In den nachfolgenden Schritten ist newBE der Beispielname der Boot-Umgebung, die aktualisiert bzw. gepatcht werden soll.
Erstellen Sie die Boot-Umgebung, die aktualisiert bzw. gepatcht werden soll.
# lucreate -n newBE |
Die vorhandene Boot-Umgebung sowie sämtliche Zonen werden geklont. Für jedes Dataset der ursprünglichen Boot-Umgebung wird ein Dataset erstellt. Die neuen Datasets werden im gleichen Pool erstellt, in dem sich auch der aktuelle Root-Pool befindet.
Wählen Sie eines der folgenden Verfahren aus, um das System aufzurüsten oder Patches auf die neue Boot-Umgebung anzuwenden:
Rüsten·Sie das System auf.
# luupgrade -u -n newBE -s /net/install/export/s10u7/latest |
Die Option -s gibt an, wo sich der Solaris-Installationsdatenträger befindet.
Wenden Sie auf die neue Boot-Umgebung Patches an.
# luupgrade -t -n newBE -t -s /patchdir 139147-02 157347-14 |
Aktivieren Sie die neue Boot-Umgebung.
# luactivate newBE |
Booten Sie das System von der neu aktivierten Boot-Umgebung.
# init 6 |
Beseitigen Sie alle potenziellen Probleme mit Einhängepunkten.
Aufgrund eines Fehlers im Oracle Solaris Live Upgrade kann das Booten der nichtaktiven Boot-Umgebung fehlschlagen, wenn ein ZFS-Dataset oder ein ZFS-Dataset einer Zone in der Boot-Umgebung einen ungültigen Einhängepunkt besitzt.
Überprüfen Sie die Ausgabe des Befehls zfs list.
Suchen Sie ungültige temporäre Einhängepunkte. Beispiel:
# zfs list -r -o name,mountpoint rpool/ROOT/newBE NAME MOUNTPOINT rpool/ROOT/newBE /.alt.tmp.b-VP.mnt/ rpool/ROOT/newBE/zones /.alt.tmp.b-VP.mnt/zones rpool/ROOT/newBE/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA |
Der Einhängepunkt für die ZFS-Root-BU (rpool/ROOT/newBE) muss / sein.
Setzen Sie die Einhängepunkte für die ZFS-BU und ihre Datasets zurück.
Beispiel:
# zfs inherit -r mountpoint rpool/ROOT/newBE # zfs set mountpoint=/ rpool/ROOT/newBE |
Starten Sie das System neu.
Wählen Sie die Boot-Umgebung aus, deren Einhängepunkte Sie gerade korrigiert haben, wenn im GRUB-Menü bzw. in der Eingabeaufforderung des OpenBoot-PROM die Option zum Booten einer spezifischen Boot-Umgebung angezeigt wird.
Ab Solaris 10 10/08 können Sie Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen verwenden. Zusätzliche Konfigurationen von Sparse-Root- und Gesamt-Root-Zonen werden durch Live Upgrade ab Solaris 10 5/09 unterstützt.
In diesem Abschnitt wird beschrieben, wie Sie ein System mit Zonen konfigurieren, damit es mit Oracle Solaris Live Upgrade ab Solaris 10 5/09 aktualisiert und gepatcht werden kann. Informieren Sie sich unter Migration in ein ZFS-Root-Dateisystem mit Oracle Solaris Live Upgrade (ohne Zonen) , wenn Sie ein ZFS-Root-Dateisystem ohne Zonen migrieren möchten.
Berücksichtigen Sie folgende Punkte, wenn Sie Oracle Solaris Live Upgrade für ZFS und Zonen ab Solaris 10 5/09 verwenden:
Wenn Sie Oracle Solaris Live Upgrade für in Solaris 10 5/09 unterstützte Zonenkonfigurationen verwenden, müssen Sie zunächst mit dem standardmäßigen Upgrade-Programm eine Aktualisierung auf Solaris 10 5/09 durchführen.
Dann können Sie mit Oracle Solaris Live Upgrade Ihr UFS-Root-Dateisystem mit Zonen-Roots in ein ZFS-Root-Dateisystem migrieren oder ein Upgrade oder Patch auf Ihr ZFS-Root-Dateisystem und Zonen-Roots anwenden.
Nicht unterstützte Zonenkonfigurationen aus einer früheren Solaris 10-Version können nicht direkt in Solaris 10 5/09 migriert werden.
Anhand der folgende Vorgehensweisen können Sie mit Solaris ab Version 10 5/09 ein System mit Zonen migrieren oder konfigurieren:
Unterstütztes ZFS mit Zonen-Root-Konfigurationsinformationen (ab Solaris 10 5/09)
So aktualisieren oder patchen Sie ein ZFS-Root-Dateisystem mit Zonen-Roots (ab Solaris 10 5/09)
Überprüfen Sie die unterstützten Zonenkonfigurationen, bevor Sie Oracle Solaris Live Upgrade zur Migration oder zum Upgrade eines Systems mit Zonen verwenden.
Migrieren eines UFS-Root-Dateisystems in ein ZFS-Root-Dateisystem – Die folgenden Zonen-Root-Konfigurationen werden unterstützt:
In einem Verzeichnis des UFS-Root-Dateisystems
In einem Unterverzeichnis eines Einhängepunkts im UFS-Root-Dateisystem
UFS-Root-Dateisystem mit einem Zonen-Root in einem UFS-Root-Dateisystem-Verzeichnis eines UFS-Root-Dateisystem-Einhängepunkts und ein ZFS-Nicht-Root-Pool mit einem Zonen-Root
Die folgende UFS-/Zonen-Konfiguration wird nicht unterstützt: UFS-Root-Dateisystem mit einem Zonen-Root als Einhängepunkt.
Migrieren oder Aktualisieren eines UFS-Root-Dateisystems auf ein ZFS-Root-Dateisystem – Die folgenden Zonen-Root-Konfigurationen werden ununterstützt:
In einem Dataset im ZFS-Root-Pool. In einigen Fällen erstellt Oracle Solaris Live Upgrade ein Dataset für das Zonen-Root (zoneds), wenn vor dem Oracle Solaris Live Upgrade kein solches Dataset vorhanden ist.
In einem Unterverzeichnis des ZFS-Root-Dateisystems
In einem Dataset außerhalb des ZFS-Root-Dateisystems
In einem Unterverzeichnis eines Dataset außerhalb des ZFS-Root-Dateisystems
In einem Dataset in einem Pool außerhalb der Root. Im folgenden Beispiel ist zonepool/zones ein Dataset, das die Zonen-Roots enthält, und rpool enthält die ZFS-BU:
zonepool zonepool/zones zonepool/zones/myzone rpool rpool/ROOT rpool/ROOT/myBE |
Mit der folgenden Syntax erstellt Oracle Solaris Live Upgrade Snapshots und Klone in zonepool und der BU rpool:
# lucreate -n newBE |
Die BU newBE in rpool/ROOT/newBE wird erstellt. Wenn die BU newBE aktiviert ist, bietet sie Zugriff auf die zonepool-Komponenten.
Wäre /zonepool/zones im vorherigen Beispiel ein Unterverzeichnis und kein separates Dataset, dann würde Live Upgrade es als Komponente des Root-Pools rpool migrieren.
Informationen zur Migration oder Aktualisierung von UFS- und ZFS-Zonen – Berücksichtigen Sie folgende Informationen zur Migration oder Aktualisierung einer UFS- oder ZFS-Umgebung:
Wenn Sie Ihre Zonen wie unter Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (Solaris 10 10/08) in Solaris 10 10/08 konfiguriert und eine Aktualisierung auf Solaris 10 5/09 oder eine höhere Version durchgeführt haben, sollten Sie in ein ZFS-Root-Dateisystem migrieren oder Solaris Live Upgrade für eine Aktualisierung auf Solaris 10 5/09 oder eine höhere Version verwenden können.
Erstellen Sie keine Zonen-Roots in verschachtelten Verzeichnissen wie zones/zone1 und zones/zone1/zone2. Anderenfalls kann das Einhängen während des Boot-Vorgangs fehlschlagen.
Verwenden Sie dieses Verfahren, nachdem Sie eine Erstinstallation von Solaris 10 5/09 oder einer höheren Version durchgeführt haben, um ein ZFS-Root-Dateisystem zu erstellen. Verwenden Sie dieses Verfahren ebenfalls, nachdem Sie die Funktion luupgrade verwendet haben, um ein ZFS-Root-Dateisystem auf Solaris 10 5/09 oder eine höhere Version zu aktualisieren. Eine mit dieser Vorgehensweise erstellte ZFS-BU kann aktualisiert oder gepatcht werden.
Das in den folgenden Schritten verwendete Oracle Solaris 10 9/10-Beispielsystem besitzt ein ZFS-Root-Dateisystem und ein Zonen-Root-Dataset in /rpool/zones. Eine ZFS-BU mit dem Namen zfs2BE wird erstellt, die aktualisiert oder gepatcht werden kann.
Überprüfen Sie die vorhandenen ZFS-Dateisysteme.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.26G 59.7G 98K /rpool rpool/ROOT 4.64G 59.7G 21K legacy rpool/ROOT/zfsBE 4.64G 59.7G 4.64G / rpool/dump 1.00G 59.7G 1.00G - rpool/export 44K 59.7G 23K /export rpool/export/home 21K 59.7G 21K /export/home rpool/swap 1G 60.7G 16K - rpool/zones 633M 59.7G 633M /rpool/zones |
Stellen Sie sicher, dass die Zonen installiert und gebootet sind.
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /rpool/zones native shared |
Erstellen Sie die ZFS-BU.
# lucreate -n zfs2BE Analyzing system configuration. No name for current boot environment. INFORMATION: The current boot environment is not named - assigning name <zfsBE>. Current boot environment is named <zfsBE>. Creating initial configuration for primary boot environment <zfsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <zfsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. 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. Updating system configuration files. Creating configuration for boot environment <zfs2BE>. Source boot environment is <zfsBE>. Creating boot environment <zfs2BE>. Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>. Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>. Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>. Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful. |
Aktivieren Sie die ZFS-BU.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes yes yes no - zfs2BE yes no no yes - # luactivate zfs2BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs2BE>. . . . # init 6 |
Überprüfen Sie, ob die ZFS-Dateisysteme und Zonen in der neuen BU erstellt wurden.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.38G 59.6G 98K /rpool rpool/ROOT 4.72G 59.6G 21K legacy rpool/ROOT/zfs2BE 4.72G 59.6G 4.64G / rpool/ROOT/zfs2BE@zfs2BE 74.0M - 4.64G - rpool/ROOT/zfsBE 5.45M 59.6G 4.64G /.alt.zfsBE rpool/dump 1.00G 59.6G 1.00G - rpool/export 44K 59.6G 23K /export rpool/export/home 21K 59.6G 21K /export/home rpool/swap 1G 60.6G 16K - rpool/zones 17.2M 59.6G 633M /rpool/zones rpool/zones-zfsBE 653M 59.6G 633M /rpool/zones-zfsBE rpool/zones-zfsBE@zfs2BE 19.9M - 633M - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /rpool/zones native shared |
Verwenden Sie dieses Verfahren, wenn Sie ein ZFS-Root-Dateisystem mit Zonen-Roots in Solaris 10 5/09 oder einer höheren Version aktualisieren oder patchen müssen. Bei solchen Aktualisierungen·kann es sich um eine Systemaufrüstung oder das Anwenden von Patches handeln.
In den nachfolgenden Schritten ist zfs2BE der Beispielname der Boot-Umgebung, die aktualisiert·bzw. gepatcht werden soll.
Überprüfen Sie die vorhandenen ZFS-Dateisysteme.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.38G 59.6G 100K /rpool rpool/ROOT 4.72G 59.6G 21K legacy rpool/ROOT/zfs2BE 4.72G 59.6G 4.64G / rpool/ROOT/zfs2BE@zfs2BE 75.0M - 4.64G - rpool/ROOT/zfsBE 5.46M 59.6G 4.64G / rpool/dump 1.00G 59.6G 1.00G - rpool/export 44K 59.6G 23K /export rpool/export/home 21K 59.6G 21K /export/home rpool/swap 1G 60.6G 16K - rpool/zones 22.9M 59.6G 637M /rpool/zones rpool/zones-zfsBE 653M 59.6G 633M /rpool/zones-zfsBE rpool/zones-zfsBE@zfs2BE 20.0M - 633M - |
Stellen Sie sicher, dass die Zonen installiert und gebootet sind.
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 5 zfszone running /rpool/zones native shared |
Erstellen Sie die ZFS-BU, die aktualisiert oder gepatcht werden soll.
# lucreate -n zfs2BE 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. Updating system configuration files. Creating configuration for boot environment <zfs2BE>. Source boot environment is <zfsBE>. Creating boot environment <zfs2BE>. Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>. Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>. Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>. Creating snapshot for <rpool/zones> on <rpool/zones@zfs10092BE>. Creating clone for <rpool/zones@zfs2BE> on <rpool/zones-zfs2BE>. Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful. |
Wählen Sie eines der folgenden Verfahren aus, um das System aufzurüsten oder Patches auf die neue Boot-Umgebung anzuwenden:
Rüsten·Sie das System auf.
# luupgrade -u -n zfs2BE -s /net/install/export/s10up/latest |
Die Option -s gibt an, wo sich der Solaris-Installationsdatenträger befindet.
Dieser Vorgang kann sehr viel Zeit beanspruchen.
Ein vollständiges Beispiel für den luupgrade-Vorgang finden Sie in Beispiel 5–6.
Wenden Sie auf die neue Boot-Umgebung Patches an.
# luupgrade -t -n zfs2BE -t -s /patchdir patch-id-02 patch-id-04 |
Aktivieren Sie die neue Boot-Umgebung.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes yes yes no - zfs2BE yes no no yes - # luactivate zfs2BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs2BE>. . . . |
Booten Sie das System von der neu aktivierten Boot-Umgebung.
# init 6 |
In diesem Beispiel wird eine auf einem Solaris 9 10/10-System erstellte ZFS-BU (zfsBE) mit einem ZFS-Root-Dateisystem und einer Zonen-Root in einem Pool außerhalb des Root auf Oracle Solaris 10 10/09 aktualisiert. Dieser Vorgang kann viel Zeit beanspruchen. Dann wird die aktualisierte BU (zfs2BE) aktiviert. Stellen Sie vor dem Aktualisierungsversuch sicher, dass die Zonen installiert und gebootet wurden.
In diesem Beispiel werden der Pool zonepool, das Dataset /zonepool/zones und die Zone zfszone wie folgt erstellt:
# zpool create zonepool mirror c2t1d0 c2t5d0 # zfs create zonepool/zones # chmod 700 zonepool/zones # zonecfg -z zfszone zfszone: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:zfszone> create zonecfg:zfszone> set zonepath=/zonepool/zones zonecfg:zfszone> verify zonecfg:zfszone> exit # zoneadm -z zfszone install cannot create ZFS dataset zonepool/zones: dataset already exists Preparing to install zone <zfszone>. Creating list of files to copy from the global zone. Copying <8960> files to the zone. . . . |
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /zonepool/zones native shared # lucreate -n zfsBE . . . # luupgrade -u -n zfsBE -s /net/install/export/s10up/latest 40410 blocks miniroot filesystem is <lofs> Mounting miniroot at </net/system/export/s10up/latest/Solaris_10/Tools/Boot> Validating the contents of the media </net/system/export/s10up/latest>. The media is a standard Solaris media. The media contains an operating system upgrade image. The media contains <Solaris> version <10>. 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. Updating package information on boot environment <zfsBE>. Package information successfully updated on boot environment <zfsBE>. 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. Installing failsafe Failsafe install is complete. # luactivate zfsBE # init 6 # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes no no yes - zfs2BE yes yes yes no - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /zonepool/zones native shared |
Verwenden Sie dieses Verfahren, um ein System mit einem UFS-Root-Dateisystem und einer Zonen-Root auf Solaris 10 5/09 oder eine höhere Version zu migrieren. Erstellen Sie dann mit Oracle Solaris Live Upgrade eine ZFS-BU.
In den folgenden Schritten lautet der Name der UFS-Beispiel-BU c0t1d0s0, der UFS-Zonen-Root heißt zonepool/zfszone und die ZFS-Root-BU heißt zfsBE.
Aktualisieren Sie das System auf Solaris 10 5/09 oder eine höhere Version, falls darauf eine frühere Solaris 10-Version installiert ist.
Weitere Informationen zum Aktualisieren eines Systems, auf dem Solaris 10 installiert ist, finden Sie in Oracle Solaris 10 9/10 Installationshandbuch: Solaris Live Upgrade und Planung von Upgrades .
Erstellen Sie den Root-Pool.
Informationen zu Voraussetzungen für den Root-Pool finden Sie unter Oracle Solaris-Installation und Oracle Solaris Live Upgrade: Voraussetzungen für die ZFS-Unterstützung.
Überprüfen Sie, ob die Zonen aus der UFS-Umgebung gebootet wurden.
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /zonepool/zones native shared |
Erstellen Sie die neue ZFS-Boot-Umgebung.
# lucreate -c c1t1d0s0 -n zfsBE -p rpool |
Dieser Befehl erstellt im Root-Pool Datasets für die neue Boot-Umgebung und kopiert die aktuelle Boot-Umgebung einschließlich der Zonen in diese Datasets.
Aktivieren Sie die neue ZFS-Boot-Umgebung.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t1d0s0 yes no no yes - zfsBE yes yes yes no - # luactivate zfsBE A Live Upgrade Sync operation will be performed on startup of boot environment <zfsBE>. . . . |
Starten Sie das System neu.
# init 6 |
Überprüfen Sie, ob die ZFS-Dateisysteme und Zonen in der neuen BU erstellt wurden.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT/zfsBE 4.67G 60.8G 4.67G / rpool/dump 1.00G 60.8G 1.00G - rpool/swap 517M 61.3G 16K - zonepool 634M 7.62G 24K /zonepool zonepool/zones 270K 7.62G 633M /zonepool/zones zonepool/zones-c1t1d0s0 634M 7.62G 633M /zonepool/zones-c1t1d0s0 zonepool/zones-c1t1d0s0@zfsBE 262K - 633M - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /zonepool/zones native shared |
In diesem Beispiel wird ein Oracle Solaris 9 10/10-System mit einem UFS-Root-Dateisystem, einem Zonen-Root (/uzone/ufszone), einem ZFS-Pool außerhalb des Roots (pool ) und einem Zonen-Root (/pool/zfszone) in ein ZFS-Root-Dateisystem migriert. Stellen Sie vor dem Migrationsversuch sicher, dass der ZFS-Root-Pool erstellt sowie die Zonen installiert und gebootet wurden.
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 ufszone running /uzone/ufszone native shared 3 zfszone running /pool/zones/zfszone native shared |
# lucreate -c ufsBE -n zfsBE -p rpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <zfsBE>. Creating initial configuration for primary boot environment <zfsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <ufsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <ufsBE> 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/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfsBE>. Source boot environment is <ufsBE>. Creating boot environment <zfsBE>. Creating file systems on boot environment <zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfsBE>. Populating file systems on boot environment <zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Copying root of zone <ufszone> to </.alt.tmp.b-EYd.mnt/uzone/ufszone>. Creating snapshot for <pool/zones/zfszone> on <pool/zones/zfszone@zfsBE>. Creating clone for <pool/zones/zfszone@zfsBE> on <pool/zones/zfszone-zfsBE>. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </rpool/ROOT>. Creating compare database for file system </>. Updating compare databases on boot environment <zfsBE>. Making boot environment <zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-DLd.mnt updating /.alt.tmp.b-DLd.mnt/platform/sun4u/boot_archive Population of boot environment <zfsBE> successful. Creation of boot environment <zfsBE> successful. # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes yes yes no - zfsBE yes no no yes - # luactivate zfsBE . . . # init 6 . . . # zfs list NAME USED AVAIL REFER MOUNTPOINT pool 628M 66.3G 19K /pool pool/zones 628M 66.3G 20K /pool/zones pool/zones/zfszone 75.5K 66.3G 627M /pool/zones/zfszone pool/zones/zfszone-ufsBE 628M 66.3G 627M /pool/zones/zfszone-ufsBE pool/zones/zfszone-ufsBE@zfsBE 98K - 627M - rpool 7.76G 59.2G 95K /rpool rpool/ROOT 5.25G 59.2G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.25G 59.2G 5.25G / rpool/dump 2.00G 59.2G 2.00G - rpool/swap 517M 59.7G 16K - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - ufszone installed /uzone/ufszone native shared - zfszone installed /pool/zones/zfszone native shared |