In diesem Kapitel erfahren Sie, wie ein Oracle Solaris ZFS-Dateisystem installiert und gebootet wird. Darüber hinaus wird die Migration eines UFS-Root-Dateisystems in ein ZFS-Dateisystem mithilfe des Oracle Solaris Live Upgrade behandelt.
Dieses Kapitel enthält die folgenden Abschnitte:
Installieren und Booten eines Oracle Solaris ZFS-Root-Dateisystems (Übersicht)
Installieren eines ZFS-Root-Dateisystems (Oracle Solaris Flash-Archiv-Installation)
Installieren eines ZFS-Root-Dateisystems (Oracle Solaris JumpStart-Installation)
Migration eines UFS-Root-Dateisystems in ein ZFS-Root-Dateisystem (Oracle Solaris Live Upgrade)
Wiederherstellen von ZFS-Root-Pools oder Root-Pool-Snapshots
Oracle Solaris 10 9/10 - Versionshinweise.
Stets aktuelle Informationen zur Fehlerbehebung finden Sie unter:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Ab dem Release Solaris 10 10/08 stehen folgende Methoden zum Installieren und Booten eines ZFS-Root-Dateisystems zur Verfügung:
Sie können eine Erstinstallation durchführen und dabei ZFS als Root-Dateisystem auswählen.
Sie können Oracle Solaris Live Upgrade verwenden, um ein UFS-Root-Dateisystem auf ein ZFS-Root-Dateisystem zu migrieren. Außerdem können Sie mit Oracle Solaris Live Upgrade folgende Aufgaben durchführen:
Erstellen einer neuen Boot-Umgebung innerhalb eines vorhandenen ZFS-Root-Pools.
Erstellen einer neuen Boot-Umgebung in einem neuen ZFS-Root-Pool.
Sie können ein Oracle Solaris JumpStart-Profil zur automatischen Installation eines Systems mit einem ZFS-Root-Dateisystem verwenden.
Solaris 10 10/09 ermöglicht Ihnen die automatische Installation eines Systems mit ZFS-Flash-Archiv mithilfe eines JumpStart-Profils.
Nach der Installation eines ZFS-Root-Dateisystems oder der Migration in ein ZFS-Root-Dateisystem auf einem SPARC- oder x86-System startet das System automatisch aus dem ZFS-Root-Dateisystem. Weitere Informationen zum Ändern des Boot-Verhaltens finden Sie unter Booten aus einem ZFS-Root-Dateisystem.
In diesem Solaris-Release stehen die folgenden Leistungsmerkmale für die ZFS-Installation zur Verfügung:
Die interaktive Textmodus-Installationsoption von Solaris ermöglicht die Installation eines UFS- oder ZFS-Root-Dateisystems. In diesem Solaris-Release ist UFS weiterhin das Standarddateisystem. Auf die interaktive Textmodus-Installationsoption können Sie wie folgt zugreifen:
SPARC: Verwenden Sie die folgende Syntax von der Solaris-Installations-DVD:
ok boot cdrom - text |
SPARC: Verwenden Sie die folgende Syntax beim Booten über das Netzwerk:
ok boot net - text |
x86: Wählen Sie die Textmodus-Installationsoption.
Ein benutzerdefiniertes JumpStart-Profil bietet folgende Funktionen:
Sie können ein Profil zum Erstellen eines ZFS-Speicher-Pools anlegen und ein bootfähiges ZFS-Dateisystem benennen.
Sie können ein Profil zur Identifizierung eines Flash-Archivs eines ZFS-Root-Pools anlegen.
Sie können ein UFS-Root-Dateisystem mithilfe des Oracle Solaris Live Upgrade in ein ZFS-Root-Dateisystem migrieren. Die Befehle lucreate und luactivate wurden um Unterstützung für ZFS-Pools und -Dateisysteme erweitert.
Sie können bei der Installation zwei Festplatten auswählen und einen gespiegelten Speicher-Pool mit ZFS-Root-Dateisystem (im Folgenden „ZFS-Root-Pool“) einrichten. Alternativ lassen sich auch nach der Installation zusätzliche Festplatten anhängen, um einen gespiegelten ZFS-Root-Pool herzustellen.
Swap- und Dump-Geräte werden automatisch auf ZFS-Volumes im ZFS-Root-Pool erstellt.
Die folgenden Installationsfunktionen stehen in diesem Release nicht zur Verfügung:
Die GUI-Installationsfunktion steht derzeit nicht zum Installieren eines ZFS-Root-Dateisystems zur Verfügung.
Die Oracle Solaris Flash-Installationsfunktion zum Installieren eines ZFS-Root-Dateisystems ist nicht verfügbar, wenn die Option "Flash-Installation" aus der Erstinstallationsoption gewählt wird. Sie können jedoch ein JumpStart-Profil zur Identifizierung eines Flash-Archivs eines ZFS-Root-Pools erstellen. Weitere Informationen finden Sie unter Installieren eines ZFS-Root-Dateisystems (Oracle Solaris Flash-Archiv-Installation).
Ein Upgrade des UFS-Root-Dateisystems zu einem ZFS-Root-Dateisystem ist nicht mithilfe des Standard-Upgrade-Programms möglich.
Vergewissern Sie sich vor dem Versuch, ein ZFS-Root-Dateisystem auf einem System zu installieren oder ein UFS- in ein ZFS-Root-Dateisystem zu migrieren, dass folgende Voraussetzungen erfüllt sind:
Sie haben folgende Möglichkeiten, ein ZFS-Root-Dateisystem zu installieren und zu booten oder in ein ZFS-Root-Dateisystem zu migrieren:
Installieren eines ZFS-Root-Dateisystems – ab Solaris 10 10/08 verfügbar.
Migrieren aus einem UFS-Root-Dateisystem in ein ZFS-Root-Dateisystem mit Oracle Solaris Live Upgrade. – Sie müssen Solaris 10 10/08 oder eine höhere Version installiert oder auf Solaris 10 10/08 oder eine höhere Version aktualisiert haben.
In den folgenden Abschnitte werden der Speicherplatz für ZFS-Root-Pools und Konfigurationsvoraussetzungen beschrieben.
Ein ZFS-Root-Dateisystem benötigt mehr Speicherplatz im Pool als ein UFS-Root-Dateisystem, da Swap- und Dump-Geräte in einer ZFS-Root-Umgebung separate Speichergeräte sein müssen. In UFS-Root-Dateisystemen sind Swap- und Dump-Geräte standardmäßig dasselbe Gerät.
Wenn auf einem System ein ZFS-Root-Dateisystem installiert oder ein Upgrade darauf vorgenommen wird, hängen die Größe des Swap-Bereichs und des Dump-Geräts von der physischen Speicherkapazität ab. Der mindestens erforderliche Speicherplatz im Pool für ein boot-fähiges ZFS-Root-Dateisystem richtet sich nach der Größe des physischen Speichers, dem freien Speicherplatz auf der Festplatte und der Anzahl der zu erstellenden Boot-Umgebungen (BUs).
Beachten Sie die erforderliche Festplattenkapazität für ZFS-Speicher-Pools:
Für die Installation eines ZFS-Root-Dateisystems sind mindestens 768 MB Arbeitsspeicher erforderlich.
Für die optimale Leistung des gesamten ZFS-Dateisystems wird 1 GB empfohlen.
Es werden mindestens 16 GB Festplattenkapazität empfohlen. Der Festplattenspeicher wird wie folgt belegt:
Swap-Bereich und Dump-Gerät – Die Solaris-Installationsprogramme erstellen Swap- und Dump-Volumes in den folgenden Standardgrößen:
Erstinstallation von Solaris – Die Größe des Standard-Swap-Volume ist in der neuen ZFS-BU halb so groß wie der physische Speicher, im Allgemeinen zwischen 512 MB und 2 GB. Die Größe des Swap-Volume kann während einer Erstinstallation angepasst werden.
Die Dump-Volume-Größe wird vom Kernel basierend auf den dumpadm-Informationen und der Größe des physikalischen Speichers berechnet. Die Größe des Dump-Volume kann während einer Erstinstallation angepasst werden.
Oracle Solaris Live Upgrade – Wenn ein UFS-Root-Dateisystem auf ein ZFS-Root-Dateisystem umgestellt wird, wird die Größe des Standard-Swap-Volume für die ZFS-Boot-Umgebung (ZFS-BU) als Größe des Swap-Geräts der UFS-BU berechnet. Bei der Berechnung der Größe des Standard-Swap-Volume werden die Größen aller Swap-Geräte in der UFS-BU addiert, und es wird ein ZFS-Volume der entsprechenden Größe in der ZFS-BU erstellt. Wenn keine Swap-Geräte in der UFS-BU definiert sind, wird die Größe des Standard-Swap-Volume auf 512 MB gesetzt.
Die Größe des Standard-Dump-Volume ist in der ZFS-BU halb so groß wie der physische Speicher, zwischen 512 MB und 2 GB.
Sie können die Größen der Swap- und Dump-Volumes ändern, sofern die neuen Größen den Betrieb des Systems unterstützen. Weitere Informationen finden Sie unter Anpassen der Größe von ZFS-Swap- und Dump-Geräten.
Boot-Umgebung (BU) – Zusätzlich zu dem für neue Swap- und Dump-Geräte erforderlichen oder nachträglich geänderten Speicherplatz werden für eine ZFS-BU bei Migration von einer UFS-BU ungefähr 6 GB benötigt. Für ZFS-BUs, die aus anderen ZFS-BUs geklont werden, ist kein zusätzlicher Speicherplatz erforderlich. Beachten Sie jedoch, dass die BU-Größe durch die Installation von Patches zunimmt. Alle ZFS-BUs in demselben Root-Pool greifen auf dieselben Swap- und Dump-Geräte zu.
Komponenten des Solaris-Betriebssystems – Alle Unterverzeichnisse des Root-Dateisystems, die zum Betriebssystem-Image gehören, ausgenommen /var müssen im selben Dataset wie das Root-Dateisystem enthalten sein. Außerdem müssen alle Komponenten des Solaris-Betriebssystems im Root-Pool enthalten sein, mit Ausnahme der Swap- und Dump-Geräte.
Eine weitere Beschränkung ist, dass das Verzeichnis bzw. Dataset /var ein einzelnes Dataset sein muss. Sie können kein untergeordnetes /var-Dataset wie beispielsweise /var/tmp erstellen, wenn Sie Oracle Solaris Live Upgrade verwenden möchten, um eine ZFS-BU zu migrieren oder zu patchen oder ein ZFS-Flash-Archiv dieses Pools zu erstellen.
Beispielsweise könnte ein System mit 12 GB Festplattenkapazität zu klein für eine boot-fähige ZFS-Umgebung sein, da 2 GB je Swap- und Dump-Gerät und rund 6 GB für die ZFS-BU benötigt werden, die aus einer UFS-BU migriert wird.
Machen Sie sich mit folgenden Voraussetzungen bezüglich der Konfiguration von ZFS-Speicher-Pools vertraut:
Der als Root-Pool bestimmte Pool muss ein SMI-Label haben. Diese Anforderung wird erfüllt, wenn der Pool mithilfe von Festplattenbereichen erstellt wird.
Der Pool muss entweder auf einem Festplattenbereich oder auf gespiegelten Festplattenbereichen vorhanden sein. Wenn Sie versuchen, eine nicht unterstützte Pool-Konfiguration bei einer Oracle Solaris Live Upgrade-Migration zu verwenden, wird eine Meldung wie die folgende angezeigt:
ERROR: ZFS pool name does not support boot environments |
Weitere Informationen zu unterstützten Konfigurationen von ZFS-Root-Pools finden Sie unter Erstellen eines ZFS-Root-Pools.
x86: Die Festplatte muss eine Solaris-fdisk-Partition enthalten. Eine Solaris-fdisk-Partition wird bei der Installation eines x86-Systems automatisch installiert. Weitere Informationen zu Solaris-fdisk-Partitionen finden Sie in Guidelines for Creating an fdisk Partition in System Administration Guide: Devices and File Systems.
Datenträger, die für das Booten in einem ZFS-Root-Pool bestimmt sind, dürfen auf SPARC- sowie auf x86-Systemen nicht mehr als 1 TB umfassen.
Auf dem Root-Pool kann die Komprimierung aktiviert werden, allerdings erst nach Installation des Root-Pools. Während der Installation eines Root-Pools kann die Komprimierung nicht aktiviert werden. Der Komprimierungs-Algorithmus gzip wird auf Root-Pools nicht unterstützt.
Benennen Sie den Root-Pool nicht um, nachdem dieser in einer Erstinstallation erstellt wurde oder nachdem eine Solaris Live Upgrade-Migration auf ein ZFS-Root-Dateisystem durchgeführt wurde. Das Umbenennen des Root-Pools kann dazu führen, dass das System nicht gebootet werden kann.
In diesem Solaris-Release können Sie eine Erstinstallation durchführen und mit der interaktiven Textmodus-Installationsoption von Solaris einen ZFS-Speicher-Pool erstellen, das ein boot-fähiges ZFS-Root-Dateisystem enthält. Wenn Sie einen bereits vorhandenen ZFS-Speicher-Pool für das ZFS-Root-Dateisystem verwenden möchten, müssen Sie das vorhandene UFS-Root-Dateisystem mit Oracle Solaris Live Upgrade in ein ZFS-Root-Dateisystem in einem vorhandenen ZFS-Speicher-Pool migrieren. Weitere Informationen finden Sie unter Migration eines UFS-Root-Dateisystems in ein ZFS-Root-Dateisystem (Oracle Solaris Live Upgrade).
Informationen zum Konfigurieren von Zonen und zum Patchen oder Aktualisieren des Systems nach der Erstinstallation eines ZFS-Root-Dateisystems finden Sie unter Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (Solaris 10 10/08) oder Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (ab Solaris 10 5/09).
Sollten bereits ZFS-Speicher-Pools auf dem System vorhanden sein, werden sie durch die folgende Meldung bestätigt. Diese Pools bleiben jedoch unverändert, es sei denn, Sie wählen die Festplatten in den vorhandenen Pools aus, um den neuen Speicher-Pool zu erstellen.
There are existing ZFS pools available on this system. However, they can only be upgraded using the Live Upgrade tools. The following screens will only allow you to install a ZFS root system, not upgrade one. |
Vorhandene Pools werden überschrieben, falls einige ihrer Datenträger für den neuen Pool ausgewählt werden.
Bevor Sie mit der Erstinstallation für die Erstellung eines ZFS-Speicher-Pools beginnen, lesen Sie den Abschnitt Oracle Solaris-Installation und Oracle Solaris Live Upgrade: Voraussetzungen für die ZFS-Unterstützung.
Der interaktive, textgestützte Solaris-Installationsprozess ist im Wesentlichen derselbe wie in der vorherigen Solaris-Versionen, mit der Ausnahme, dass Sie gefragt werden, ob ein UFS- oder ZFS-Root-Dateisystem erstellt werden soll. UFS ist auch in diesem Release weiterhin das Standarddateisystem. Wenn Sie ein ZFS-Root-Dateisystem wählen, werden Sie aufgefordert, einen ZFS-Speicher-Pool zu erstellen. Es folgen die Schritte zur Installation eines ZFS-Root-Dateisystems:
Wählen Sie die interaktive Solaris-Installationsmethode, da die Solaris Flash-Installation zum Erstellen eines boot-fähigen ZFS-Root-Dateisystems nicht verfügbar ist. Sie können jedoch ein ZFS-Flash-Archiv zur Verwendung während einer JumpStart-Installation erstellen. Weitere Informationen finden Sie unter Installieren eines ZFS-Root-Dateisystems (Oracle Solaris Flash-Archiv-Installation).
Ab der Solaris-Version 10 10/08 können Sie ein UFS-Root-Dateisystem in ein ZFS-Root-Dateisystem migrieren. Hierfür muss mindestens Solaris 10 10/08 installiert sein. Weitere Informationen zur Migration in ein ZFS-Root-Dateisystem finden Sie unter Migration eines UFS-Root-Dateisystems in ein ZFS-Root-Dateisystem (Oracle Solaris Live Upgrade).
Wenn Sie ein ZFS-Root-Dateisystem erstellen möchten, wählen Sie die ZFS-Option. Beispiel:
Choose Filesystem Type Select the filesystem to use for your Solaris installation [ ] UFS [X] ZFS |
Nach der Auswahl der zu installierenden Software werden Sie zur Auswahl der Festplatten aufgefordert, auf denen der ZFS-Speicher-Pool installiert werden soll. Dieser Bildschirm sieht ähnlich aus wie in vorherigen Solaris-Versionen.
Select Disks On this screen you must select the disks for installing Solaris software. Start by looking at the Suggested Minimum field; this value is the approximate space needed to install the software you've selected. For ZFS, multiple disks will be configured as mirrors, so the disk you choose, or the slice within the disk must exceed the Suggested Minimum value. NOTE: ** denotes current boot disk Disk Device Available Space ============================================================================= [X] c1t0d0 69994 MB (F4 to edit) [ ] c1t1d0 69994 MB [-] c1t2d0 0 MB [-] c1t3d0 0 MB Maximum Root Size: 69994 MB Suggested Minimum: 8279 MB |
Sie können die Festplatte(n) auswählen, auf der/denen ein ZFS-Root-Pool installiert werden soll. Wenn Sie zwei Festplatten auswählen, wird für den Root-Pool eine aus zwei Platten bestehende Konfiguration mit Datenspiegelung ausgewählt. Optimal ist ein gespiegelter Pool mit zwei oder drei Festplatten. Wenn Sie über acht Datenträger verfügen und alle auswählen, werden diese acht Festplatten als große Datenspiegelung für den Root-Pool verwendet. Diese Konfiguration ist nicht optimal. Alternativ können Sie einen gespiegelten Root-Pool nach der Erstinstallation erstellen. RAID-Z-Konfigurationen werden für den Root-Pool nicht unterstützt. Weitere Informationen zur Konfiguration von ZFS-Speicher-Pools finden Sie unter Replikationsfunktionen eines ZFS-Speicher-Pools.
Um zwei Festplatten zur Erstellung eines gespiegelten Root-Pools auszuwählen, wählen Sie die zweite Festplatte mit dem Cursor aus. Im folgenden Beispiel werden sowohl c1t1d1 als auch c0t2d0 als Root-Pool-Festplatten ausgewählt. Beide Festplatten müssen ein SMI-Label und den Bereich 0 haben. Falls die Festplatten kein SMI-Label haben oder Bereiche enthalten, verlassen Sie das Installationsprogramm und verwenden das Dienstprogramm format zur Umbenennung und Neupartitionierung der Festplatten. Anschließend starten Sie das Installationsprogramm erneut.
Select Disks On this screen you must select the disks for installing Solaris software. Start by looking at the Suggested Minimum field; this value is the approximate space needed to install the software you've selected. For ZFS, multiple disks will be configured as mirrors, so the disk you choose, or the slice within the disk must exceed the Suggested Minimum value. NOTE: ** denotes current boot disk Disk Device Available Space ============================================================================= [X] c1t0d0 69994 MB [X] c1t1d0 69994 MB (F4 to edit) [-] c1t2d0 0 MB [-] c1t3d0 0 MB Maximum Root Size: 69994 MB Suggested Minimum: 8279 MB |
Wenn in der Spalte "Verfügbarer Speicherplatz" 0 MB angezeigt werden, bedeutet dies in der Regel, dass die Festplatte ein EFI-Label hat. Wenn Sie eine Festplatte mit einem EFI-Label verwenden möchten, verlassen Sie das Installationsprogramm, versehen die Festplatte mit einem neuen SMI-Label, indem Sie den Befehl format -e verwenden, und starten anschließend das Installationsprogramm erneut.
Wenn Sie während der Installation keinen gespiegelten Root-Pool erstellen, können Sie dies nach der Installation problemlos nachholen. Weitere Informationen finden Sie unter So erstellen Sie einen gespiegelten Root-Pool (nach der Installation).
Nach der Auswahl eines bzw. mehrerer Datenträger für den ZFS-Speicher-Pool wird ein Bildschirm wie der folgende angezeigt:
Configure ZFS Settings Specify the name of the pool to be created from the disk(s) you have chosen. Also specify the name of the dataset to be created within the pool that is to be used as the root directory for the filesystem. ZFS Pool Name: rpool ZFS Root Dataset Name: s10s_u9wos_08 ZFS Pool Size (in MB): 69995 Size of Swap Area (in MB): 2048 Size of Dump Area (in MB): 1536 (Pool size must be between 6231 MB and 69995 MB) [X] Keep / and /var combined [ ] Put /var on a separate dataset |
Auf diesem Bildschirm können Sie den Namen des ZFS-Pools, den Dataset-Namen, die Pool-Größe sowie die Größe der Swap- und Dump-Geräte ändern. Verschieben Sie hierzu den Cursor in den Einträgen und ersetzen Sie die Standardwerte durch die gewünschten Werte. Anderenfalls können Sie die Standardwerte übernehmen. Außerdem können Sie das Verfahren ändern, mit dem das Dateisystem /var erstellt und eingehängt wird.
In diesem Beispiel wird der Name des Root-Datasets in zfsBE abgeändert.
ZFS Pool Name: rpool ZFS Root Dataset Name: zfsBE ZFS Pool Size (in MB): 69995 Size of Swap Area (in MB): 2048 Size of Dump Area (in MB): 1536 (Pool size must be between 6231 MB and 69995 MB) [X] Keep / and /var combined [ ] Put /var on a separate dataset |
Dieser letzte Installationsbildschirm bietet die Möglichkeit, das Installationsprofil zu ändern. Beispiel:
Profile The information shown below is your profile for installing Solaris software. It reflects the choices you've made on previous screens. ============================================================================ Installation Option: Initial Boot Device: c1t0d0 Root File System Type: ZFS Client Services: None Regions: North America System Locale: C ( C ) Software: Solaris 10, Entire Distribution Pool Name: rpool Boot Environment Name: zfsBE Pool Size: 69995 MB Devices in Pool: c1t0d0 c1t1d0 |
Überprüfen Sie nach abgeschlossener Installation die Informationen zum erstellten ZFS-Speicher-Pool und Dateisystem. Beispiel:
# zpool status pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0 errors: No known data errors # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 8.03G 58.9G 96K /rpool rpool/ROOT 4.47G 58.9G 21K legacy rpool/ROOT/zfsBE 4.47G 58.9G 4.47G / rpool/dump 1.50G 58.9G 1.50G - rpool/export 44K 58.9G 23K /export rpool/export/home 21K 58.9G 21K /export/home rpool/swap 2.06G 61.0G 16K - |
In der Beispielausgabe von zfs list sind die Root-Pool-Komponenten wie z. B. das Verzeichnis rpool/ROOT aufgeführt, auf das standardmäßig nicht zugegriffen werden kann.
Um eine weitere ZFS-Boot-Umgebung (BU) im selben Speicher-Pool zu erstellen, verwenden Sie den Befehl lucreate. Im folgenden Beispiel wird eine neue BU namens zfs2BE erstellt. Die aktuelle BU wird mit zfsBE benannt, wie in der Ausgabe von zfs list gezeigt wird. Die aktuelle BU wird jedoch erst nach der Erstellung der neuen BU in der Ausgabe von lustatus bestätigt.
# lustatus ERROR: No boot environments are configured on this system ERROR: cannot determine list of all boot environment names |
Zum Erstellen einer neuen ZFS-BU in demselben Pool verwenden Sie folgende Syntax:
# lucreate -n zfs2BE 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. |
Beim Erstellen einer ZFS-BU innerhalb desselben Pools kommen die Klon- und Snapshot-Funktionen von ZFS zum Einsatz und die BU wird sofort erstellt. Weitere Informationen zur ZFS-Root-Migration mithilfe von Oracle Solaris Live Upgrade finden Sie unter Migration eines UFS-Root-Dateisystems in ein ZFS-Root-Dateisystem (Oracle Solaris Live Upgrade).
Überprüfen Sie anschließend die neuen Boot-Umgebungen. Beispiel:
# 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 - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 8.03G 58.9G 97K /rpool rpool/ROOT 4.47G 58.9G 21K legacy rpool/ROOT/zfs2BE 116K 58.9G 4.47G / rpool/ROOT/zfsBE 4.47G 58.9G 4.47G / rpool/ROOT/zfsBE@zfs2BE 75.5K - 4.47G - rpool/dump 1.50G 58.9G 1.50G - rpool/export 44K 58.9G 23K /export rpool/export/home 21K 58.9G 21K /export/home rpool/swap 2.06G 61.0G 16K - |
Zum Booten aus einer alternativen BU verwenden Sie den Befehl luactivate. Nachdem Sie die BU auf einem SPARC-basierten System aktiviert haben, können Sie mithilfe des Befehls boot - L verfügbare BUs identifizieren, wenn das Boot-Gerät einen ZFS-Speicher-Pool enthält. Beim Booten eines x86-Systems ermitteln Sie die zu bootende BU über das GRUB-Menü.
Geben Sie also beispielsweise bei einem SPARC-System den Befehl boot -L ein, um eine Liste der verfügbaren BUs anzuzeigen. Zum Booten aus der neuen BU zfs2BE wählen Sie Option 2. Geben Sie dann den angezeigten Befehl boot -Z ein.
ok boot -L Executing last command: boot -L Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 File and args: -L 1 zfsBE 2 zfs2BE Select environment to boot: [ 1 - 2 ]: 2 To boot the selected entry, invoke: boot [<root-device>] -Z rpool/ROOT/zfs2BE ok boot -Z rpool/ROOT/zfs2BE |
Weitere Informationen zum Booten eines ZFS-Dateisystems können Sie dem Abschnitt Booten aus einem ZFS-Root-Dateisystem entnehmen.
Wenn Sie während der Installation keinen gespiegelten ZFS-Root-Pool erstellen, können Sie dies nach der Installation problemlos nachholen.
Informationen zum Ersetzen einer Festplatte in einem ZFS-Root-Pool finden Sie unter So ersetzen Sie eine Festplatte im ZFS-Root-Pool.
Zeigen Sie den aktuellen Root-Pool-Status an.
# zpool status rpool pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 errors: No known data errors |
Binden Sie eine zweite Festplatte ein, um einen gespiegelten Root-Pool zu konfigurieren.
# zpool attach rpool c1t0d0s0 c1t1d0s0 Please be sure to invoke installboot(1M) to make 'c1t1d0s0' bootable. Make sure to wait until resilver is done before rebooting. |
Zeigen Sie den Root-Pool-Status an, um zu bestätigen, dass das Resilvering abgeschlossen ist.
# zpool status rpool pool: rpool state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scrub: resilver in progress for 0h1m, 24.26% done, 0h3m to go config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0 3.18G resilvered errors: No known data errors |
In der obigen Ausgabe ist der Resilvering-Prozess nicht abgeschlossen. Das Resilvering ist abgeschlossen, wenn eine Meldung wie die folgende angezeigt wird:
scrub: resilver completed after 0h10m with 0 errors on Thu Mar 11 11:27:22 2010 |
Wenden Sie Boot-Blöcke auf die zweite Festplatte an, wenn das Resilvering abgeschlossen ist.
sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t1d0s0 |
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0 |
Überprüfen Sie, ob Sie von der zweiten Festplatte booten können.
Richten Sie das System zum automatischen Booten von der neuen Festplatte ein, indem Sie den Befehl eeprom oder den Befehl setenv vom SPARC-Boot-PROM verwenden. Sie können aber auch das PC-BIOS neu konfigurieren.
In Solaris 10 10/09 kann ein Flash-Archiv auf einem System erstellt werden, auf dem ein UFS-Root-Dateisystem oder ein ZFS-Root-Dateisystem ausgeführt wird. Ein Flash-Archiv eines ZFS-Root-Pools enthält die gesamte Pool-Hierarchie außer Swap- und Dump-Volumes und ausgeschlossene Datensätze. Die Swap- und Dump-Volumes werden bei der Installation des Flash-Archivs erstellt. Sie können bei der Flash-Archiv-Installation wie folgt vorgehen:
Erstellen Sie ein Flash-Archiv, das zur Installation und zum Starten eines Systems mit einem ZFS-Root-Dateisystem verwendet werden kann.
Führen Sie eine JumpStart-Installation eines Systems unter Verwendung eines ZFS-Flash-Archivs aus. Durch die Erstellung eines ZFS-Flash-Archivs wird ein ganzer Root Pool geklont, nicht nur einzelne Boot-Umgebungen. Einzelne Datensätze innerhalb des Pools können mit der Option D der Befehle flarcreate und -flar ausgeschlossen werden.
Beachten Sie folgende Einschränkungen, bevor Sie ein System mit einem ZFS-Flash-Archiv installieren:
Nur die JumpStart-Installation eines ZFS-Flash-Archivs wird unterstützt. Sie können die interaktive Installationsoption eines Flash-Archivs nicht zur Installation eines Systems mit einem ZFS-Root-Dateisystem verwenden. Des Weiteren ist es nicht möglich, ein Flash-Archiv zur Installation einer ZFS-BU mit Oracle Solaris Live Upgrade zu verwenden.
Sie können ein Flash-Archiv nur auf einem System installieren, das dieselbe Architektur wie das System besitzt, auf dem Sie das ZFS-Flash-Archiv erstellt haben. Beispielsweise kann ein auf einem sun4u-System erstelltes Archiv nicht auf einem sun4v -System installiert werden.
Es wird nur die vollständige Erstinstallation eines ZFS-Flash-Archivs unterstützt. Sie können weder ein anderes Flash-Archiv eines ZFS-Root-Dateisystems noch ein Hybrid-UFS/ZFS-Archiv installieren.
Vorhandene UFS-Flash-Archive können weiterhin nur zur Installation eines UFS-Root-Dateisystems verwendet werden. Das ZFS-Flash-Archiv kann nur zur Installation eines ZFS-Root-Dateisystems verwendet werden.
Auch wenn der gesamte Root-Pool, ausdrücklich ausgeschlossene Datasets ausgenommen, archiviert und installiert wird, ist nur die ZFS-BU, die bei Erstellung des Archivs gebootet wird, nach Installation des Flash-Archivs verwendbar. Jedoch können mit der Befehlsoption flarcreate oder flar - R rootdir archivierte Pools zur Archivierung eines anderen als des aktuell gebooteten Root-Pools verwendet werden.
Ein mit einem Flash-Archiv erstellter Name eines ZFS-Root-Pools muss mit dem Namen des Master-Root-Pools übereinstimmen. Der Name des Root-Pools, der zur Erstellung des Flash-Archivs verwendet wird, wird dem neu erstellten Pool zugewiesen. Der Pool-Name kann nicht verändert werden.
Die Befehlsoptionen flarcreate und flar zum Ein- und Ausschließen einzelner Dateien werden in einem ZFS-Flash-Archiv nicht unterstützt. Sie können nur komplette Datasets aus einem ZFS-Flash-Archiv ausschließen.
Der Befehl flar info wird für ein ZFS-Flash-Archiv nicht unterstützt. Beispiel:
# flar info -l zfs10u8flar ERROR: archive content listing not supported for zfs archives. |
Nachdem ein Master-System mit Solaris 10 10/09 oder einer höheren Version installiert oder aktualisiert wurde, können Sie ein ZFS-Flash-Archiv erstellen, um ein Zielsystem zu installieren. Dieser Vorgang läuft im Wesentlichen wie folgt ab:
Installieren Sie Solaris 10 10/09 oder eine höhere Version auf dem Master-System, oder verwenden Sie Solaris 10 10/09 oder eine höhere Version, um das Master-System zu aktualisieren. Nehmen Sie ggf. benutzerdefinierte Einstellungen vor.
Erstellen Sie das ZFS-Flash-Archiv mit dem Befehl flarcreate auf dem Master-System. Alle Datasets im Root-Pool außer Swap- und Dump-Volumes werden im ZFS-Flash-Archiv beinhaltet.
Erstellen Sie ein JumpStart-Profil, um die Flash-Archiv-Information auf dem Installationsserver zu beinhalten.
Installieren Sie das ZFS-Flash-Archiv auf dem Zielsystem.
Die folgenden Archivierungsoptionen werden zur Installation eines ZFS-Root-Pools mit einem Flash-Archiv unterstützt:
Verwenden Sie den Befehl flarcreate oder flar, um ein Flash-Archiv aus dem angegebenen ZFS-Root-Pool zu erstellen. Falls kein ZFS-Root-Pool angegeben ist, wird ein Flash-Archiv aus dem Standard-Root-Pool erstellt.
Verwenden Sie flarcreate -D dataset, um die angegebenen Datasets aus dem Flash-Archiv auszuschließen. Diese Option kann mehrmals zum Ausschließen mehrerer Datasets verwendet werden.
Nach Installation eines ZFS-Flash-Archivs wird das System wie folgt konfiguriert:
Die komplette auf dem System, auf dem das Flash-Archiv erstellt wurde, vorhandene Dataset-Hierarchie wird auf dem Zielsystem neu erstellt, ausgenommen jegliche Datasets, die bei der Erstellung des Archivs ausgeschlossen wurden. Die Swap- und Dump-Volumes werden nicht in das Flash-Archiv eingeschlossen.
Der Root-Pool hat den gleichen Namen wie der Pool, aus dem das Archiv erstellt wurde.
Die zum Zeitpunkt der Erstellung des Flash-Archivs aktive Boot-Umgebung ist die aktive und standardmäßige BU auf den verwendeten Systemen.
Nachdem Sie das Master-System mit Solaris 10 10/09 oder einer höheren Version installiert oder aktualisiert haben, erstellen Sie ein Flash-Archiv des ZFS-Root-Pools. Beispiel:
# flarcreate -n zfsBE zfs10upflar Full Flash Checking integrity... Integrity OK. Running precreation scripts... Precreation scripts done. Determining the size of the archive... The archive will be approximately 4.94GB. Creating the archive... Archive creation complete. Running postcreation scripts... Postcreation scripts done. Running pre-exit scripts... Pre-exit scripts done. |
Erstellen Sie auf dem System, das als Installationsserver dienen soll, ein JumpStart-Profil. Gehen Sie dabei so wie bei der normalen Installation eines Systems vor. Das folgende Profil wird beispielsweise für die Installation des zfs10upflar-Archivs verwendet.
install_type flash_install archive_location nfs system:/export/jump/zfs10upflar partitioning explicit pool rpool auto auto auto mirror c0t1d0s0 c0t0d0s0 |
Sie können eine JumpStart-Profil erstellen, um ein ZFS- oder UFS-Root-Dateisystem zu installieren.
ZFS-spezifische Profile müssen das neue Schlüsselwort pool enthalten. Mit dem Schlüsselwort pool wird ein neuer Root-Pool installiert. Dabei wird standardmäßig eine neue Boot-Umgebung erstellt. Sie haben die Möglichkeit, einen Namen für die Boot-Umgebung anzugeben und ein separates /var -Dataset zu erstellen. Hierzu dienen die Schlüsselwörter bootenv installbe und die Optionen bename und dataset.
Allgemeine Informationen zu den JumpStart-Funktionen finden Sie im Oracle Solaris 10 9/10 Installationshandbuch: Benutzerdefinierte JumpStart-Installation und komplexe Installationsszenarien.
Informationen zum Konfigurieren von Zonen und zum Patchen oder Aktualisieren des Systems nach der JumpStart-Installation eines ZFS-Root-Dateisystems finden Sie unter Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (Solaris 10 10/08) oder Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (ab Solaris 10 5/09).
Die folgenden Schlüsselwörter sind in ZFS-spezifischen Profilen zulässig:
Legt automatisch die Größe der Bereiche für Pool, Swap-Volume oder Dump-Volume fest. Die Größe der Festplatte wird auf Einhaltung der Mindestgröße überprüft. Wenn die Mindestgröße verfügbar ist, wird die im Rahmen der gegebenen Einschränkungen (Größe der Festplatten, reservierte Bereiche usw.) maximale Pool-Größe zugewiesen.
Wenn Sie beispielsweise c0t0d0s0 und eines der Schlüsselwörter all oder auto angeben, wird der Root-Pool-Bereich so groß wie möglich erstellt. Sie können aber auch eine bestimmte Größe für den Bereich, das Swap-Volume oder das Dump-Volume angeben.
Im Zusammenhang mit einem ZFS-Root-Pool verhält sich das Schlüsselwort auto wie das Schlüsselwort all, da Pools keine ungenutzte Festplattenkapazität haben.
Mit diesem Schlüsselwort werden die Merkmale der Boot-Umgebung festgelegt.
Zum Erstellen einer boot-fähigen ZFS-Root-Umgebung verwenden Sie das Schlüsselwort bootenv mit der folgenden Syntax:
bootenv installbe bename BU-Name [ dataset Einhängepunkt]
Erstellt eine neue, durch die Option bename und den Eintrag BU-Name näher bezeichnete BU und installiert sie.
Gibt den BU-Namen für die Installation an.
Wenn Sie bename nicht zusammen mit dem Schlüsselwort pool angeben, wird eine Standard-BU erstellt.
Das optionale Schlüsselwort dataset ermöglicht es, ein vom Root-Dataset separates /var-Dataset anzugeben. Der Wert für Einhängepunkt ist derzeit auf /var beschränkt. So würde beispielsweise eine bootenv-Syntaxzeile für ein separates /var-Dataset wie folgt aussehen:
bootenv installbe bename zfsroot dataset /var |
Definiert den neuen, zu erstellenden Root-Pool. Die folgende Schlüsselwortsyntax muss verwendet werden:
pool poolname poolsize swapsize dumpsize vdevlist |
Gibt den Namen des zu erstellenden Pools an. Der Pool wird mit der angegebenen Größe und den angegebenen physischen Geräten (vdevs) erstellt. Geben Sie mit dem Wert poolname nicht den Namen eines vorhandenen Pools an, sonst wird der vorhandene Pool überschrieben.
Gibt die Größe des zu erstellenden Pools an. Der Wert kann auto oder existing sein. Mit dem Wert auto wird die im Rahmen der gegebenen Einschränkungen (Größe der Festplatten, reservierte Bereiche usw.) maximale Pool-Größe zugewiesen. Der Wert existing bewirkt, dass die Grenzen vorhandener Bereiche mit diesem Namen beibehalten und nicht überschrieben werden. Sofern nicht g (GB) angegeben wird, gilt für die Größenangabe die Einheit MB.
Gibt die Größe des zu erstellenden Swap-Volumes an. Der Wert auto bewirkt, dass die Standard-Swap-Größe verwendet wird. Sie können eine Größe angeben, indem Sie einen size-Wert verwenden. Sofern nicht g (GB) angegeben wird, gilt für die Größenangabe die Einheit MB.
Gibt die Größe des zu erstellenden Dump-Volumes an. Der Wert auto bewirkt, dass die Standard-Swap-Größe verwendet wird. Sie können eine Größe angeben, indem Sie einen size-Wert verwenden. Sofern nicht g (GB) angegeben wird, gilt für die Größenangabe die Einheit MB.
Gibt eines oder mehrere Speichergeräte an, aus denen der Pool gebildet wird. Das Format der vdev-Liste ist identisch mit dem Format für den Befehl zpool create. Derzeit werden bei der Angabe mehrerer Geräte nur gespiegelte Konfigurationen unterstützt. Bei den Geräten in vdevlist muss es sich um Bereiche für den Root-Pool handeln. Der Wert any bewirkt, dass die Installationssoftware ein passendes Gerät wählt.
Sie können beliebig viele Festplatten spiegeln. Die Größe des erstellten Pools richtet sich jedoch nach der kleinsten der angegebenen Festplatten. Weitere Informationen zum Erstellen von gespiegelten Speicher-Pools finden Sie unter Speicher-Pools mit Datenspiegelung.
Dieser Abschnitt enthält einige Beispiele für ZFS-spezifische JumpStart-Profile.
Das folgende Profil führt eine Erstinstallation (angegeben mit install_type initial_install) in einem neuen Pool (angegeben mit pool newpool) durch, dessen Größe gemäß dem Schlüsselwort auto automatisch auf die Größe der angegebenen Festplatten bemessen wird. Die Größe des Swap-Bereichs und des Dump-Geräts in einer Festplattenkonfiguration mit Datenspiegelung wird automatisch mit dem Schlüsselwort auto festgelegt (mit dem Schlüsselwort mirror und Angabe der Datenträger als c0t0d0s0 und c0t1d0s0). Die Merkmale der Boot-Umgebung werden mit dem Schlüsselwort bootenv festgelegt, eine neue BU mit dem Schlüsselwort installbe installiert und der bename mit dem Wert s10-xx wird erstellt.
install_type initial_install pool newpool auto auto auto mirror c0t0d0s0 c0t1d0s0 bootenv installbe bename s10-xx |
Das folgende Profil führt eine Erstinstallation mit dem Schlüsselwort install_type initial_install des Metaclusters SUNWCall in einem neuen Pool namens newpool durch, dessen Größe 80 GB beträgt. Dieser Pool wird mit einem Swap-Volume von 2 GB und einem Dump-Volume von ebenfalls 2 GB in einer gespiegelten Konfiguration zwei beliebiger verfügbarer Geräte erstellt, die groß genug sind, um ein Pool mit einer Kapazität von 80 GB zu erstellen. Sollten zwei derartige Geräte nicht verfügbar sein, schlägt die Installation fehl. Die Merkmale der Boot-Umgebung werden mit dem Schlüsselwort bootenv festgelegt, eine neue BU mit dem Schlüsselwort installbe installiert und der bename mit dem Wert s10-xx wird erstellt.
install_type initial_install cluster SUNWCall pool newpool 80g 2g 2g mirror any any bootenv installbe bename s10-xx |
Die JumpStart-Installationssyntax ermöglicht Ihnen, ein UFS-Dateisystem auf einem Datenträger, der auch einen ZFS-Root-Pool enthält, zu erhalten oder zu erstellen. Diese Konfiguration wird nicht für Produktionssysteme empfohlen, kann aber für die Erfordernisse der Umstellung kleinerer Systeme (beispielsweise eines Laptops) verwendet werden.
Vor Beginn einer JumpStart-Installation eines boot-fähigen ZFS-Root-Dateisystems sind folgende Probleme zu berücksichtigen.
Ein vorhandener ZFS-Speicher-Pool kann nicht für eine JumpStart-Installation zum Erstellen eines boot-fähigen ZFS-Root-Dateisystems verwendet werden. Sie müssen einen neuen ZFS-Speicher-Pool mit Syntax wie der folgenden erstellen:
pool rpool 20G 4G 4G c0t0d0s0 |
Sie müssen den Pool mit Festplattenbereichen anstatt mit gesamten Festplatten erstellen. Siehe hierzu Oracle Solaris-Installation und Oracle Solaris Live Upgrade: Voraussetzungen für die ZFS-Unterstützung. Die im folgenden Beispiel gezeigte fett gedruckte Syntax ist unzulässig:
install_type initial_install cluster SUNWCall pool rpool all auto auto mirror c0t0d0 c0t1d0 bootenv installbe bename newBE |
Die im folgenden Beispiel gezeigte fett gedruckte Syntax ist zulässig:
install_type initial_install cluster SUNWCall pool rpool all auto auto mirror c0t0d0s0 c0t1d0s0 bootenv installbe bename newBE |
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 |
Während einer Erstinstallation des Solaris-Betriebssystems oder eines Oracle Solaris Live Upgrades in einem UFS-Dateisystem wird auf einem ZFS-Volume im ZFS-Root-Pool ein Swap-Bereich erstellt. Beispiel:
# swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 4194288 4194288 |
Während einer Erstinstallation des Solaris-Betriebssystems oder einem Oracle Solaris Live Upgrade in einem UFS-Dateisystem wird auf einem ZFS-Volume im ZFS-Root-Pool ein Dump-Gerät erstellt. Im Allgemeinen ist keine Verwaltung des Dump-Geräts erforderlich, da es während der Installation automatisch eingerichtet wird. Beispiel:
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes Save compressed: on |
Wenn Sie das Dump-Gerät deaktivieren und entfernen, müssen Sie es nach der Neuerstellung mit dem Befehl dumpadm aktivieren. In den meisten Fällen werden Sie nur die Größe des Dump-Geräts anpassen müssen. Dazu verwenden Sie den Befehl zfs.
Informationen zu den von den Installationsprogrammen erstellten Swap- und Dump-Volume-Größen finden Sie unter Oracle Solaris-Installation und Oracle Solaris Live Upgrade: Voraussetzungen für die ZFS-Unterstützung.
Die Swap- und Dump-Volume-Größe kann während und nach der Installation geändert werden. Weitere Informationen finden Sie unter Anpassen der Größe von ZFS-Swap- und Dump-Geräten.
Berücksichtigen Sie bei der Arbeit mit ZFS-Swap- und Dump-Geräten die folgenden Probleme:
Für Swap-Bereich und Dump-Gerät müssen separate ZFS-Volumes verwendet werden.
Derzeit wird die Verwendung von Swap-Dateien in ZFS-Dateisystemen nicht unterstützt.
Wenn Sie den Swap-Bereich oder das Dump-Gerät nach der Installation oder dem Upgrade des Systems ändern müssen, benutzen Sie hierzu die Befehle swap und dumpadm wie in vorherigen Solaris-Versionen. Weitere Informationen finden Sie in Kapitel 20, Configuring Additional Swap Space (Tasks) in System Administration Guide: Devices and File Systems und Kapitel 17, Managing System Crash Information (Tasks) in System Administration Guide: Advanced Administration.
Weitere Informationen finden Sie in den folgenden Abschnitten:
Da bei einer ZFS-Root-Installation anders mit der Größenbestimmung für Swap- und Dump-Geräte verfahren wird, müssen Sie unter Umständen vor, nach oder während der Installation diese Größen ändern.
Die Größe der Swap- und Dump-Volumes kann während einer Erstinstallation angepasst werden. Weitere Informationen finden Sie unter Beispiel 5–1.
Sie können vor der Ausführung eines Oracle Solaris Live Upgrade Swap- und Dump-Volumes erstellen und deren Größe festlegen. Beispiel:
Erstellen Sie den Speicher-Pool.
# zpool create rpool mirror c0t0d0s0 c0t1d0s0 |
Erstellen Sie das Dump-Gerät.
# zfs create -V 2G rpool/dump |
Aktivieren Sie das Dump-Gerät.
# dumpadm -d /dev/zvol/dsk/rpool/dump Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes Save compressed: on |
Wählen Sie eine der folgenden Optionen, um den Swap-Bereich zu erstellen:
SPARC: Erstellen Sie den Swap-Bereich. Stellen Sie die Blockgröße auf 8 KB ein.
# zfs create -V 2G -b 8k rpool/swap |
x86: Erstellen Sie den Swap-Bereich. Stellen Sie die Blockgröße auf 4 KB ein.
# zfs create -V 2G -b 4k rpool/swap |
Wenn ein Swap-Gerät hinzugefügt oder verändert wird, müssen Sie das Swap-Volume aktivieren.
Fügen Sie einen Eintrag für das Swap-Volume in die Datei /etc/vfstab ein.
Oracle Solaris Live Upgrade bietet keine Möglichkeit, die Größe vorhandener Swap- und Dump-Volumes zu ändern.
Sie können nach der Installation des Systems die Eigenschaft volsize des Dump-Geräts zurücksetzen. Beispiel:
# zfs set volsize=2G rpool/dump # zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 2G - |
Sie können die Größe des Swap-Volume ändern, bis zur Integration von CR 6765386 wird jedoch empfohlen, das Swap-Gerät zunächst zu entfernen. Erstellen Sie es dann neu. Beispiel:
# swap -d /dev/zvol/dsk/rpool/swap # zfs volsize=2G rpool/swap # swap -a /dev/zvol/dsk/rpool/swap |
Informationen zum Entfernen eines Swap-Geräts auf einem aktiven System finden Sie unter:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Mit folgender Profilsyntax lässt sich die Größe der Swap- und Dump-Volumes in einem JumpStart-Profil anpassen:
install_type initial_install cluster SUNWCXall pool rpool 16g 2g 2g c0t0d0s0 |
In diesem Profil werden die Größe des Swap-Volume und des Dump-Volume mit zwei 2g-Einträgen auf je 2 GB festgelegt.
Wenn Sie mehr Swap-Speicherplatz auf einem bereits installierten System benötigen, fügen Sie einfach ein weiteres Swap-Volume hinzu. Beispiel:
# zfs create -V 2G rpool/swap2 |
Aktivieren Sie dann das neue Swap-Volume. Beispiel:
# swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 1058800 1058800 /dev/zvol/dsk/rpool/swap2 256,3 16 4194288 4194288 |
Fügen Sie als Letztes einen zweiten Eintrag für das Swap-Volume in die Datei /etc/vfstab ein.
Überprüfen Sie Folgendes, wenn Sie Probleme mit der Erfassung eines Systemabsturz-Speicherabzugs oder dem Ändern der Größe des Dump-Geräts haben.
Wurde bei einem Systemabsturz nicht automatisch ein Speicherabzug erstellt, können Sie den Befehl savecore verwenden, um den Speicherabzug zu speichern.
Wenn Sie erstmals ein ZFS-Root-Dateisystem erstellen oder in ein ZFS-Root-Dateisystem migrieren, wird automatisch ein Dump-Volume erstellt. In den meisten Fällen werden Sie nur die Größe des Dump-Volumes anpassen müssen, wenn die Größe des Standard-Dump-Volumes zu klein ist. Beispielsweise wird die Größe des Dump-Volumes in einem System mit hoher Speicherkapazität wie folgt auf 40 GB erhöht:
# zfs set volsize=40G rpool/dump |
Das Ändern der Größe eine großen Dump-Volumes kann sehr zeitaufwändig sein.
Wenn Sie aus irgendeinem Grunde ein Dump-Gerät aktivieren müssen, nachdem Sie ein Dump-Gerät manuell erstellt haben, verwenden Sie eine Syntax wie die folgende:
# dumpadm -d /dev/zvol/dsk/rpool/dump Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes |
Ein System mit einer Speicherkapazität von 128 GB oder mehr benötigt ein größeres Dump-Gerät als jenes, das standardmäßig erstellt wurde. Wenn das Dump-Gerät zu klein ist, um bei einem Systemabsturz einen Speicherabzug zu erfassen, wird eine Meldung wie die folgende angezeigt:
# dumpadm -d /dev/zvol/dsk/rpool/dump dumpadm: dump device /dev/zvol/dsk/rpool/dump is too small to hold a system dump dump size 36255432704 bytes, device size 34359738368 bytes |
Informationen zum Ändern der Größe von Swap- und Dump-Geräten finden Sie unter Planning for Swap Space in System Administration Guide: Devices and File Systems.
Sie können momentan kein Dump-Gerät zu einem Pool mit mehreren Geräte der obersten Ebene hinzufügen. Eine Meldung ähnlich der Folgenden wird angezeigt:
# dumpadm -d /dev/zvol/dsk/datapool/dump dump is not supported on device '/dev/zvol/dsk/datapool/dump': 'datapool' has multiple top level vdevs |
Fügen Sie das Dump-Gerät zum Root-Pool hinzu, der nicht mehrere Geräte der obersten Ebene enthalten kann.
Sowohl bei SPARC- als auch bei x86-Systemen kommt die neue Art des Bootens mit Boot-Archiv zum Einsatz. Dabei handelt es sich um ein Dateisystemabbild, in dem sich die zum Booten benötigten Dateien befinden. Beim Booten aus einem ZFS-Root-Dateisystem werden die Pfadnamen des Archivs und der Kernel-Datei in dem für das Booten ausgewählten Root-Dateisystem aufgelöst.
Wenn das System für die Installation gebootet wird, wird während des gesamten Installationsvorgangs ein RAM-Datenträger für das Root-Dateisystem verwendet.
Das Booten aus einem ZFS-Dateisystem unterscheidet sich vom Booten aus einem UFS-Dateisystem dadurch, dass ein Gerätebezeichner bei ZFS kein einzelnes Root-Dateisystem sondern einen Speicher-Pool kennzeichnet. Ein Speicher-Pool kann mehrere boot-fähige Datasets oder ZFS-Root-Dateisysteme enthalten. Beim Booten aus ZFS müssen Sie ein Boot-Gerät und ein Root-Dateisystem innerhalb des Pools angeben, das durch das Boot-Gerät identifiziert ist.
Standardmäßig ist das zum Booten ausgewählte Dataset das mit der Eigenschaft bootfs des Pools bezeichnete Dataset. Diese Standardauswahl kann durch Angabe eines alternativen boot-fähigen Datasets im Befehl boot -Z außer Kraft gesetzt werden.
Bei der Installation des Systems haben Sie die Möglichkeit, einen ZFS-Root-Pool mit Datenspiegelung zu erstellen oder eine Festplatte einzubinden, um nach der Installation ein solches zu erstellen. Weitere Informationen finden Sie unter:
Beachten Sie die folgenden bekannten Probleme im Zusammenhang mit gespiegelten ZFS-Root-Pools:
CR 6668666 – Um das Booten auf den anderen Festplatten in der Datenspiegelungskonfiguration zu ermöglichen, müssen Sie die Boot-Informationen auf den zusätzlich eingebundenen Datenträgern mithilfe des Befehls installboot oder installgrub installieren. Dieser Schritt ist unnötig, wenn Sie zur Erstellung des gespiegelten ZFS-Root-Pools die Erstinstallationsmethode verwenden. Wenn beispielsweise der Datenträger c0t1d0s0 als zweiter Datenträger zur Datenspiegelungskonfiguration hinzugefügt wurde, lautet der Befehl installboot bzw. installgrub wie folgt:
SPARC:
sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0 |
x86:
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0 |
Es kann von verschiedenen Speichergeräten in einem gespiegelten ZFS-Root-Pool gebootet werden. Je nach der Hardwarekonfiguration kann es erforderlich sein, eine Aktualisierung von PROM oder BIOS vorzunehmen, um ein anderes Boot-Gerät angeben zu können.
So ist es in diesem Pool beispielsweise möglich, vom Datenträger (c1t0d0s0 oder c1t1d0s0) zu booten.
# zpool status pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0 |
SPARC: Geben Sie an der Eingabeaufforderung ok die alternative Festplatte ein.
ok boot /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 |
Rufen Sie nach dem Neustart des Systems eine Bestätigung des aktiven Boot-Geräts ab. Beispiel:
SPARC# prtconf -vp | grep bootpath bootpath: '/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a' |
x86: Wählen Sie aus dem entsprechenden BIOS-Menü eine alternative Festplatte im gespiegelten ZFS-Root-Pool aus.
Anschließend verwenden Sie eine Syntax wie die folgende, um zu bestätigen, dass Sie von der alternativen Festplatte gebootet haben.
x86# prtconf -v|sed -n '/bootpath/,/value/p' name='bootpath' type=string items=1 value='/pci@0,0/pci8086,25f8@4/pci108e,286@0/disk@0,0:a' |
Auf SPARC-Systemen mit mehreren ZFS-Boot-Umgebungen können Sie mithilfe des Befehls luactivate von jeder Boot-Umgebung booten.
Während der Installation des Solaris-Betriebssystems und des Oracle Solaris Live Upgrade wird dem ZFS-Root-Dateisystem automatisch die Eigenschaft bootfs zugewiesen.
Innerhalb eines Pools können mehrere boot-fähige Datasets vorhanden sein. Standardmäßig bezieht sich die Eigenschaft bootfs des Pools auf den Eintrag für das boot-fähige Dataset in der Datei /Pool-Name/boot/menu.lst . Der Eintrag menu.lst kann jedoch den Befehl bootfs enthalten, der ein alternatives Dataset im Pool angibt. So ist es möglich, dass die Datei menu.lst Einträge für mehrere Root-Dateisysteme im Pool enthält.
Wenn auf einem System ein ZFS-Root-Dateisystem installiert oder eine Migration in ein ZFS-Root-Dateisystem vorgenommen wird, wird die Datei menu.lst um einen Eintrag wie diesen erweitert:
title zfsBE bootfs rpool/ROOT/zfsBE title zfs2BE bootfs rpool/ROOT/zfs2BE |
Bei Erstellung einer neuen BU wird die Datei menu.lst automatisch aktualisiert.
Auf SPARC-Systemen stehen zwei neue Boot-Optionen zur Verfügung:
Nach der Aktivierung der BU können Sie mit dem Befehl boot -L eine Liste der boot-fähigen Datasets innerhalb eines ZFS-Pools anzeigen lassen. Anschließend können Sie eines der boot-fähigen Datasets in der Liste auswählen. Es werden ausführliche Anweisungen zum Booten dieses Datasets angezeigt. Befolgen Sie diese Anweisungen zum Booten des ausgewählten Datasets.
Zum Booten eines bestimmten ZFS-Datasets können Sie den Befehl boot -Z dataset verwenden.
Wenn in einem ZFS-Speicher-Pool auf dem Boot-Gerät des Systems mehrere ZFS-BUs vorhanden sind, können Sie mit dem Befehl luactivate eine Standard-BU angeben.
So stehen beispielsweise die folgenden ZFS-BUs wie in der Ausgabe des Befehls lustatus beschrieben zur Verfügung:
# 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 - |
Sind auf einem SPARC-System mehrere ZFS-BUs vorhanden, können Sie den Befehl boot -L verwenden, um aus einer BU zu booten, die sich von der Standard-BU unterscheidet. Jedoch wird eine BU, die aus einer boot -L-Sitzung gebootet wird, nicht auf die Standard-BU zurückgesetzt, und die Eigenschaft bootfs wird nicht aktualisiert. Wenn Sie die BU, die aus einer boot -L Sitzung gebootet wurde, zur Standard-BU machen möchten, müssen Sie sie mit dem Befehl luactivate aktivieren.
Beispiel:
ok boot -L Rebooting with command: boot -L Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 File and args: -L 1 zfsBE 2 zfs2BE Select environment to boot: [ 1 - 2 ]: 1 To boot the selected entry, invoke: boot [<root-device>] -Z rpool/ROOT/zfsBE Program terminated ok boot -Z rpool/ROOT/zfsBE |
Auf SPARC-Systemen kann aus dem in /platform/`uname -i`/failsafe befindlichen Failsafe-Archiv gebootet werden. Gehen Sie dazu wie folgt vor:
ok boot -F failsafe |
Um ein Failsafe-Archiv aus einem bestimmten boot-fähigen ZFS-Dataset zu booten, verwenden Sie eine Syntax wie die folgende:
ok boot -Z rpool/ROOT/zfsBE -F failsafe |
Während der Installation des Solaris-Betriebssystems oder des Oracle Solaris Live Upgrade werden der Datei /pool-name /boot/grub/menu.lst die folgenden Einträge hinzugefügt, damit ZFS automatisch gebootet wird:
title Solaris 10 9/10 X86 findroot (rootfs0,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (rootfs0,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
Enthält das von GRUB als Boot-Gerät identifizierte Speichergerät einen ZFS-Speicher-Pool, wird auf Grundlage der Datei menu.lst das GRUB-Menü erstellt.
Auf x86-Systemen mit mehreren ZFS-BUs kann die BU über das GRUB-Menü gewählt werden. Ist das diesem Menüeintrag entsprechende Root-Dateisystem ein ZFS-Dataset, wird die folgende Option hinzugefügt:
-B $ZFS-BOOTFS |
Wenn ein System aus einem ZFS-Dateisystem bootet, wird das Root-Gerät durch den Boot-Parameter -B $ZFS-BOOTFS in der Zeile kernel oder module des GRUB-Menüeintrags angegeben. Ebenso wie alle anderen über die Option -B angegebenen Parameter wird dieser Wert von GRUB an den Kernel übergeben. Beispiel:
title Solaris 10 9/10 X86 findroot (rootfs0,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (rootfs0,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
Das Failsafe-Archiv für x86-Systeme lautet /boot/x86.miniroot-safe und kann durch Auswahl des Solaris-Failsafe-Eintrags im GRUB-Menü gebootet werden. Beispiel:
title Solaris failsafe findroot (rootfs0,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
Die beste Methode zum Ändern der aktiven Boot-Umgebung ist der Befehl luactivate . Wenn das Booten von der aktiven Boot-Umgebung wegen eines ungültigen Patches oder eines Konfigurationsfehlers fehlschlägt, können Sie nur von einer anderen Boot-Umgebung booten, wenn Sie diese zur Boot-Zeit auswählen. Bei x86-System können Sie aus dem GRUB-Menü eine alternative Boot-Umgebung auswählen oder diese (bei SPARC-Systemen) explizit vom PROM booten.
Aufgrund eines Fehlers im Oracle Solaris Live Upgrade von Solaris 10 10/08 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. Der gleiche Bug verhindert auch das Einhängen einer BU, wenn sie ein separates /var-Dataset besitzt.
Wenn ein Zonen-Dataset einen ungültigen Einhängepunkt besitzt, kann dieser mit den folgenden Schritten korrigiert werden.
Booten Sie das System von einem Failsafe-Archiv.
Importieren Sie den Pool.
Beispiel:
# zpool import rpool |
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 Root-BU (rpool/ROOT/s10u6) muss / sein.
Wenn der Boot-Vorgang wegen Einhängeproblemen von /var fehlschlägt, sollten Sie einen ähnlichen unzulässigen Einhängepunkt für das /var-Dataset suchen.
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.
Gehen Sie wie folgt vor, um das System zu booten und eine Wiederherstellung durchzuführen, wenn ein Root-Passwort verloren gegangen oder ein ähnliches Problem aufgetreten ist.
Je nach Schweregrad des Fehlers müssen Sie im Failsafe-Modus oder von einem alternativen Datenträger booten. Um ein verloren gegangenes oder unbekanntes Root-Passwort wiederherzustellen, können Sie in der Regel im Failsafe-Modus booten.
Informationen zur Wiederherstellung eines Root-Pools oder Root-Pool-Snapshots finden Sie unter Wiederherstellen von ZFS-Root-Pools oder Root-Pool-Snapshots.
Booten Sie im Failsafe-Modus.
Auf einem SPARC-System:
ok boot -F failsafe |
Auf einem x86-System wählen Sie an der GRUB-Eingabeaufforderung den Failsafe-Modus aus.
Hängen Sie das ZFS-BU in /a ein, wenn Sie dazu aufgefordert werden:
. . . ROOT/zfsBE was found on rpool. Do you wish to have it mounted read-write on /a? [y,n,?] y mounting rpool on /a Starting shell. |
Wechseln Sie in das Verzeichnis /a/etc.
# cd /a/etc |
Setzen Sie nötigenfalls den TERM-Typ.
# TERM=vt100 # export TERM |
Korrigieren Sie die Datei passwd bzw. shadow.
# vi shadow |
Starten Sie das System neu.
# init 6 |
Wenn ein Problem das erfolgreiche Booten des Systems verhindert oder ein anderes schwerwiegendes Problem auftritt, müssen Sie von einem Netzwerkinstallationsserver oder von einer Solaris-Installations-CD booten, den Root-Pool importieren, das ZFS-BU einhängen und anschließend versuchen, das Problem zu lösen.
Booten Sie von einer Installations-CD oder über das Netzwerk.
SPARC:
ok boot cdrom -s ok boot net -s |
Wenn Sie die Option -s nicht verwenden, müssen Sie das Installationsprogramm beenden.
x86: Wählen Sie die Option zum Booten über das Netzwerk oder die Option zum Booten von einer lokalen CD.
Importieren Sie den Root-Pool, und geben Sie einen alternativen Einhängepunkt an. Beispiel:
# zpool import -R /a rpool |
Hängen Sie die ZFS-BU ein. Beispiel:
# zfs mount rpool/ROOT/zfsBE |
Greifen Sie über das Verzeichnis /a auf den ZFS-BU-Inhalt zu.
# cd /a |
Starten Sie das System neu.
# init 6 |
In den folgenden Abschnitten werden diese Vorgehensweisen beschrieben:
Das Ersetzen einer Festplatte im Root-Pool kann aus folgenden Gründen erforderlich sein:
Der Root-Pool ist zu klein und Sie möchten eine kleine durch eine größere Festplatte ersetzen.
Eine Root-Pool-Festplatte ist ausgefallen. Wenn Sie einen nicht redundanten Pool verwenden und nach einem Festplattenausfall das System nicht mehr booten können, müssen Sie von einem anderen Medium wie einer CD oder dem Netzwerk booten, bevor Sie die Root-Pool-Festplatte ersetzen können.
In einer gespiegelten Root-Pool-Konfiguration können Sie versuchen, eine Festplatte zu ersetzen, ohne von einem alternativen Medium zu booten. Sie können eine ausgefallene Festplatte ersetzen, indem Sie den Befehl zpool replace verwenden. Wenn Sie über eine zusätzliche Festplatte verfügen, können Sie auch den Befehl zpool attach verwenden. In diesem Abschnitt finden Sie ein Beispiel für das Verfahren zum Einbinden einer zusätzlichen Festplatte und zum Entfernen einer Root-Pool-Festplatte.
Bei mancher Hardware müssen Sie eine Festplatte zunächst deaktivieren und dekonfigurieren, bevor Sie versuchen können, eine ausgefallene Festplatte mithilfe des Vorgangs zpool replace zu ersetzen. Beispiel:
# zpool offline rpool c1t0d0s0 # cfgadm -c unconfigure c1::dsk/c1t0d0 <Physically remove failed disk c1t0d0> <Physically insert replacement disk c1t0d0> # cfgadm -c configure c1::dsk/c1t0d0 # zpool replace rpool c1t0d0s0 # zpool online rpool c1t0d0s0 # zpool status rpool <Let disk resilver before installing the boot blocks> SPARC# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t0d0s0 x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0 |
Bei mancher Hardware müssen Sie die Ersatzfestplatte, nachdem diese eingesetzt wurde, weder aktivieren noch neu konfigurieren.
Sie müssen die Pfadnamen des Boot-Geräts der aktuellen und der neuen Festplatte angeben, damit Sie das Booten von der Ersatzfestplatte testen und manuell von der vorhandenen Festplatte booten können, falls das Booten von der Ersatzfestplatte fehlschlägt. In dem Beispiel des folgenden Verfahrens lautet der Pfadname für die aktuelle Root-Pool-Festplatte c1t10d0s0:
/pci@8,700000/pci@3/scsi@5/sd@a,0 |
Der Pfadname für die Ersatzfestplatte zum Booten (c1t9d0s0) lautet:
/pci@8,700000/pci@3/scsi@5/sd@9,0 |
Verbinden Sie die Ersatzfestplatte (bzw. die neue Festplatte) physisch.
Vergewissern Sie sich, dass die neue Festplatte ein SMI-Label und den Bereich 0 hat.
Informationen zum Umbenennen einer für den Root-Pool bestimmten Festplatte finden Sie auf:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Verbinden Sie die neue Festplatte mit dem Root-Pool.
Beispiel:
# zpool attach rpool c1t10d0s0 c1t9d0s0 |
Überprüfen Sie den Status des Root-Pools.
Beispiel:
# zpool status rpool pool: rpool state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scrub: resilver in progress, 25.47% done, 0h4m to go config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t10d0s0 ONLINE 0 0 0 c1t9d0s0 ONLINE 0 0 0 errors: No known data errors |
Wenden Sie nach Abschluss des Resilvering die Boot-Blöcke auf die neue Festplatte an.
Verwenden Sie eine Syntax wie die folgende:
SPARC:
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t9d0s0 |
x86:
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0 |
Überprüfen Sie, ob Sie von der neuen Festplatte booten können.
Auf einem SPARC-System würden Sie eine Syntax wie die folgende verwenden:
ok boot /pci@8,700000/pci@3/scsi@5/sd@9,0 |
Wenn das System von der neuen Festplatte bootet, entfernen Sie die alte Festplatte.
Beispiel:
# zpool detach rpool c1t10d0s0 |
Richten Sie das System zum automatischen Booten von der neuen Festplatte ein, indem Sie den Befehl eeprom, den Befehl setenv am SPARC-Boot-PROM verwenden, oder das PC-BIOS neu konfigurieren.
Sie können Root-Pool-Snapshots zur Wiederherstellung erstellen. Der beste Weg zum Erstellen von Root-Pool-Snapshots besteht darin, einen rekursiven Snapshot des Root-Pools zu erstellen.
Im folgenden Verfahren wird ein rekursiver Root-Pool-Snapshot erstellt und in einer Datei innerhalb eines Pools auf einem entfernten System gespeichert. Wenn ein Root-Pool ausfällt, kann das entfernte Dataset durch Verwendung von NFS eingehängt und die Snapshot-Datei im wiederhergestellten Pool gespeichert werden. Sie können Root-Pool-Snapshots stattdessen als die eigentlichen Snapshots in einem Pool auf einem entfernten System speichern. Das Senden und Empfangen von Snapshots über ein entferntes System ist etwas komplexer, da Sie ssh konfigurieren oder rsh verwenden müssen, während das zu reparierende System von der Miniroot des Solaris-Betriebssystems gebootet wird.
Informationen zum Speichern und Wiederherstellen von Root-Pool-Snapshots auf entfernten Systemen und die aktuellsten Informationen zur Wiederherstellung von Root-Pools finden Sie unter:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Das Validieren von Snapshots, die auf entfernten Systemen als Dateien oder Snapshots gespeichert sind, ist ein wichtiger Schritt bei der Wiederherstellung von Root-Pools. Bei beiden Methoden sollten Snapshots regelmäßig wiederhergestellt werden, zum Beispiel, wenn sich die Konfiguration des Pools verändert oder das Solaris-Betriebssystem aktualisiert wird.
Im folgenden Verfahren wird das System von der Boot-Umgebung zfsBE gebootet.
Erstellen Sie ein Pool- und Dateisystem zum Speichern von Snapshots auf einem entfernten System.
Beispiel:
remote# zfs create rpool/snaps |
Geben Sie das Dateisystem für das lokale System frei.
Beispiel:
remote# zfs set sharenfs='rw=local-system,root=local-system' rpool/snaps # share -@rpool/snaps /rpool/snaps sec=sys,rw=local-system,root=local-system "" |
Erstellen Sie einen rekursiven Snapshot des Root-Pools.
local# zfs snapshot -r rpool@0804 local# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfsBE 4.67G 60.8G 4.67G / rpool/ROOT/zfsBE@0804 386K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
Senden Sie die Root-Pool-Snapshots an das entfernte System.
Beispiel:
local# zfs send -Rv rpool@0804 > /net/remote-system/rpool/snaps/rpool.0804 sending from @ to rpool@0804 sending from @ to rpool/swap@0804 sending from @ to rpool/ROOT@0804 sending from @ to rpool/ROOT/zfsBE@0804 sending from @ to rpool/dump@0804 |
In diesem Verfahren wird von folgenden Voraussetzungen ausgegangen:
Das ZFS-Root-Pool kann nicht wiederhergestellt werden.
Die ZFS-Root-Pool-Snapshots wurden auf einem entfernten System gespeichert und über NFS freigegeben.
Alle Schritte werden auf dem lokalen System ausgeführt.
Booten Sie das System über CD/DVD oder das Netzwerk.
SPARC: Wählen Sie eine der folgenden Boot-Methoden:
ok boot net -s ok boot cdrom -s |
Wenn Sie die Option -s nicht verwenden, müssen Sie das Installationsprogramm beenden.
x86: Wählen Sie die Option zum Booten über DVD oder das Netzwerk. Beenden Sie das Installationsprogramm.
Hängen Sie das entfernte Snapshot-Dataset ein.
Beispiel:
# mount -F nfs remote-system:/rpool/snaps /mnt |
Wenn Ihre Netzwerkservices nicht konfiguriert sind, müssen Sie eventuell die IP-Adresse des remote-system angeben.
Wenn die Root-Pool-Festplatte ersetzt wird und keine Festplattenbezeichnung enthält, die von ZFS verwendet werden kann, müssen Sie die Festplatte umbenennen.
Weitere Informationen zum Umbenennen der Festplatte finden Sie auf der folgenden Site:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Erstellen Sie den Root-Pool neu.
Beispiel:
# zpool create -f -o failmode=continue -R /a -m legacy -o cachefile= /etc/zfs/zpool.cache rpool c1t1d0s0 |
Stellen Sie die Root-Pool-Snapshots wieder her.
Dieser Schritt kann etwas Zeit beanspruchen. Beispiel:
# cat /mnt/rpool.0804 | zfs receive -Fdu rpool |
Durch Verwenden der Option -u wird das wiederhergestellte Archiv nach dem zfs receive-Vorgang nicht eingehängt.
Überprüfen Sie, ob die Root-Pool-Datasets wiederhergestellt wurden.
Beispiel:
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /a/rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /legacy rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfsBE 4.67G 60.8G 4.67G /a rpool/ROOT/zfsBE@0804 398K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
Legen Sie die Eigenschaft bootfs in der Root-Pool-BU fest.
Beispiel:
# zpool set bootfs=rpool/ROOT/zfsBE rpool |
Installieren Sie auf der neuen Festplatte die Boot-Blöcke.
SPARC:
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t1d0s0 |
x86:
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0 |
Starten Sie das System neu.
# init 6 |
Für dieses Verfahren wird vorausgesetzt, dass Root-Pool-Snapshots verfügbar sind. In diesem Beispiel befinden sie sich auf dem lokalen System.
# zfs snapshot -r rpool@0804 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfsBE 4.67G 60.8G 4.67G / rpool/ROOT/zfsBE@0804 398K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
Fahren Sie das System herunter und booten Sie im Failsafe-Modus.
ok boot -F failsafe ROOT/zfsBE was found on rpool. Do you wish to have it mounted read-write on /a? [y,n,?] y mounting rpool on /a Starting shell. |
Stellen Sie jeden Root-Pool-Snapshot wieder her.
# zfs rollback rpool@0804 # zfs rollback rpool/ROOT@0804 # zfs rollback rpool/ROOT/zfsBE@0804 |
Booten Sie erneut im Mehrbenutzer-Modus.
# init 6 |