Mit dem Dienstprogramm beadm können Sie Snapshots und Klone Ihrer Boot-Umgebungen erstellen und verwalten.
Bitte beachten Sie die folgenden, speziell für die Verwaltung von Boot-Umgebungen geltenden Begriffsdefinitionen:
Ein Snapshot ist ein schreibgeschütztes Abbild eines Datensatzes oder einer Boot-Umgebung zu einem bestimmten Zeitpunkt. Ein Snapshot ist nicht bootfähig.
Eine Boot-Umgebung ist eine bootfähige Oracle Solaris-Umgebung, die aus einem Root-Datensatz und (optional) unter dem Root-Datensatz eingehängten anderen Datensätzen besteht. Es kann jeweils nur eine Boot-Umgebung aktiv sein.
Ein Klon ist eine Boot-Umgebung, die durch Kopieren einer anderen Boot-Umgebung erstellt wurde. Ein Klon ist bootfähig.
Ein Klon der Boot-Umgebung enthält die gesamte Hierarchie unterhalb des Root-Datensatzes der ursprünglichen Boot-Umgebung. Freigegebene Dateisysteme befinden sich nicht unter dem Root-Datensatz und werden nicht geklont. Stattdessen greift die Boot-Umgebung auf die freigegebenen Original-Dateisysteme zu.
Ein Datensatz ist eine allgemeine Bezeichnung für ZFS-Objekte wie Klone, Dateisysteme oder Snapshots. Im Kontext der Verwaltung von Boot-Umgebungen bezieht sich der Begriff "Datensatz" speziell auf die Dateisystemspezifikationen für eine bestimmte Boot-Umgebung bzw. einen bestimmten Snapshot.
Freigegebene Dateisysteme sind benutzerdefinierte Verzeichnisse wie /export, die in der aktiven und inaktiven Boot-Umgebung denselben Einhängepunkt enthalten. Freigegebene Dateisysteme liegen außerhalb des Bereiches des Root-Datensatzes jeder Boot-Umgebung.
Die kritischen Datensätze einer Boot-Umgebung befinden sich innerhalb des Root-Datensatzes dieser Umgebung.
Sie müssen an Ihrem System als "root"-Benutzer angemeldet sein, wenn Sie mit dem Dienstprogramm beadm arbeiten möchten.
Ausführliche Anweisungen zum Dienstprogramm beadm entnehmen Sie bitte der Manpage beadm(1M). Siehe auch Kapitel 4Anhang: beadm-Referenz.
Alle mit dem Befehl beadm erstellten Snapshots, Boot-Umgebungen und Datensätze können mit dem untergeordneten Befehl beadm list angezeigt werden.
Snapshots und Boot-Umgebungen können mit dem Befehl beadm erstellt werden. Snapshots und Boot-Umgebungen können auch mit anderen Dienstprogrammen erstellt werden. Mit dem Befehl pkg können Sie automatisch einen Klon einer Boot-Umgebung erstellen, wenn Sie Pakete mit diesem Befehl installieren oder aktualisieren. Der Befehl beadm list zeigt auch Boot-Umgebungen an, die mit dem Befehl pkg erstellt wurden.
Wählen Sie die Informationen, die Sie anzeigen möchten, wie in diesem Schritt beschrieben.
Wählen Sie für den Befehl beadm list eine Option aus der folgenden Liste:
-a: Zeigt alle verfügbaren Informationen zur Boot-Umgebung an. Diese Option umfasst untergeordnete Datensätze und Snapshots.
-d: Zeigt Informationen zu den Datensätzen einer Boot-Umgebung an.
-s: Zeigt Informationen zu den Snapshots einer Boot-Umgebung an.
-H: Es werden keine Header-Informationen angezeigt. Die Auswahl dieser Option führt zu einer Anzeige, die für Skripte oder andere Programme leichter zu analysieren ist.
Außerdem haben Sie die Möglichkeit, den Namen einer Boot-Umgebung im Befehl beadm list anzugeben.
Wenn Sie keinen Namen für eine Boot-Umgebung angeben, bezieht sich das Ergebnis auf alle Boot-Umgebungen.
Wenn Sie den Namen einer Boot-Umgebung im Befehl beadm list angeben, werden nur Informationen zu dieser Boot-Umgebung angezeigt.
Geben Sie den Befehl beadm list mit den bevorzugten Optionen ein.
Geben Sie beispielsweise die Option -a und die Umgebung BE1 wie folgt an:
$ beadm list -a BE1 |
Überprüfen Sie die zu den verfügbaren Boot-Umgebungen angezeigten Informationen.
In diesem Beispiel wurden die Option -a und die Umgebung BE2 angegeben:
$ beadm list -a BE2 |
Diese Beispielergebnisse werden angezeigt. Die Umgebung BE2 wird beim Systemneustart aktiv, da dies in der Zeile "R" der Spalte "Active" angegeben wurde.
BE/Dataset Active Mountpoint Space Policy Created ---------- ------ ---------- ----- ------ ------- BE2 rpool/ROOT/BE2 R /mnt 89.67M static 2008-09-17 20:17 rpool/ROOT/BE2/var - /mnt/var 0 static 2008-09-17 20:17 |
BE2 enthält zwei Datensätze: rpool/ROOT/BE2 und rpool/ROOT/BE2/var. Die Werte für die Spalte "Active" lauten wie folgt:
R – beim Systemneustart aktiv
N – jetzt aktiv
"-" – inaktiv
In diesem Beispiel wird die Option -s angegeben, mit der Informationen zu allen im aktuellen Abbild vorhandenen Snapshots angezeigt werden. Der Status dieser Snapshots entspricht der gleichen Liste, die mit dem Befehl zfs(1M) angezeigt wird.
$ beadm list -s test-2 |
Diese Beispielergebnisse werden angezeigt.
BE/Snapshot Space Policy Created ----------- ----- ------ ------- test-2 test-2@2010-04-12-22:29:27 264.02M static 2010-04-12 16:29 test-2@2010-06-02-20:28:51 32.50M static 2010-06-02 14:28 test-2@2010-06-03-16:51:01 16.66M static 2010-06-03 10:51 test-2@2010-07-13-22:01:56 25.93M static 2010-07-13 16:01 test-2@2010-07-21-17:15:15 26.00M static 2010-07-21 11:15 test-2@2010-07-25-19:07:03 13.75M static 2010-07-25 13:07 test-2@2010-07-25-20:33:41 12.32M static 2010-07-25 14:33 test-2@2010-07-25-20:41:23 30.60M static 2010-07-25 14:41 test-2@2010-08-06-15:53:15 8.92M static 2010-08-06 09:53 test-2@2010-08-06-16:00:37 8.92M static 2010-08-06 10:00 test-2@2010-08-09-16:06:11 193.72M static 2010-08-09 10:06 test-2@2010-08-09-20:28:59 102.69M static 2010-08-09 14:28 test-2@install 205.10M static 2010-03-16 19:04 |
In den Beispielergebnissen enthält jeder Snapshot-Titel einen Zeitstempel, der den Zeitpunkt der Snapshot-Erstellung angibt.
Wenn Sie eine Sicherungskopie einer vorhandenen Boot-Umgebung erstellen möchten (z. B. vor dem Vornehmen von Änderungen an der ursprünglichen Boot-Umgebung), können Sie mit dem Befehl beadm eine neue Boot-Umgebung erstellen und einhängen, die ein Klon der aktiven Boot-Umgebung ist. Dieser Klon ist inaktiv und wird beim Systemneustart im GRUB-Menü (bei x86-Systemen) oder im Boot-Menü (bei SPARC-Systemen) als Alternative angezeigt. Das SPARC-Boot-Menü befindet sich in /rpool/boot/menu.lst.
Beim Erstellen einer neuen Boot-Umgebung wird zunächst automatisch ein Snapshot der ursprünglichen Boot-Umgebung erstellt und dann auf der Basis dieses Snapshots ein neuer Klon angelegt. Sowohl der neue Snapshot als auch der neue Klon bleiben im System erhalten.
Geben Sie Folgendes in die Befehlszeile ein:
$ beadm create beName |
beName ist eine Variable für den Namen der neuen Boot-Umgebung. Diese neue Boot-Umgebung ist inaktiv.
beadm create erstellt keine partielle Boot-Umgebung. Der Befehl erstellt entweder erfolgreich eine vollständige Boot-Umgebung oder schlägt fehl.
(Optional) Mit dem Befehl beadm mount können Sie die neue Boot-Umgebung wie folgt einhängen:
$ beadm mount beName mountpoint |
Wenn das Verzeichnis für den Einhängepunkt nicht existiert, wird es vom Dienstprogramm beadm erstellt. Die Boot-Umgebung wird dann in dieses Verzeichnis eingehängt.
Wenn die Boot-Umgebung bereits eingehängt ist, schlägt der Befehl beadm mount fehl. Es erfolgt kein erneutes Einhängen der Boot-Umgebung an dem neu angegebenen Ort.
Die Boot-Umgebung wird eingehängt, bleibt jedoch inaktiv. Sie können ein Upgrade einer eingehängten inaktiven Boot-Umgebung ausführen.
Hängen Sie die Boot-Umgebung vor dem Neustart aus.
(Optional) Wenn Sie in diese neue Boot-Umgebung booten möchten, verwenden Sie den folgenden Befehl zum Aktivieren der Boot-Umgebung:
$ beadm activate beName |
beName ist eine Variable für den Namen der zu aktivierenden Boot-Umgebung.
Beim Neustart wird die neu aktivierte Boot-Umgebung als Standardauswahl im GRUB-Menü bzw. im SPARC-Boot-Menü angezeigt.
Das GRUB-Menü bzw. das Boot-Menü zeigt stets die zuletzt aktivierte Boot-Umgebung als Standard an.
Das folgende Beispiel zeigt den Datensatz in einer neu erstellten Boot-Umgebung.
Geben Sie folgenden Befehl ein.
$ beadm create BE2 |
In diesem Beispiel ist die ursprüngliche Boot-Umgebung BE1. Die neue Boot-Umgebung BE2 enthält eigene, von BE1 geklonte Datensätze. Falls BE1 eigene Datensätze für herkömmliche Dateisysteme wie /var oder /opt enthält, werden diese Datensätze ebenfalls geklont.
rpool/ROOT/BE1 rpool/ROOT/BE1/usr rpool/ROOT/BE1/var rpool/ROOT/BE1/opt |
rpool/ROOT/BE2 rpool/ROOT/BE2/usr rpool/ROOT/BE2/var rpool/ROOT/BE2/opt |
rpool ist in diesem Beispiel der Name des Speicherpools. In diesem Beispiel ist der Pool auf dem System bereits vorhanden. Er wurde bei der Erstinstallation oder einem Upgrade eingerichtet. ROOT ist ein spezieller Datensatz, der ebenfalls zuvor bei der Erstinstallation oder einem Upgrade erstellt wurde. ROOT ist der Verwendung durch Boot-Umgebungs-Roots vorbehalten.
Das folgende Beispiel zeigt eine neu erstellte Boot-Umgebung mit freigegebenen Datensätzen.
Freigegebene Dateisysteme sind benutzerdefinierte Verzeichnisse wie /export, die in der aktiven und inaktiven Boot-Umgebung denselben Einhängepunkt enthalten. Freigegebene Dateisysteme liegen außerhalb des Bereiches des Root-Datensatzes jeder Boot-Umgebung.
Geben Sie folgenden Befehl ein.
$ beadm create BE2 |
Die freigegebenen Dateisysteme rpool/export und rpool/export/home werden nicht zusammen mit der Boot-Umgebung geklont. Die freigegebenen Datensätze befinden sich außerhalb der rpool/ROOT/<BE>-Datensätze und werden von der geklonten Boot-Umgebung an ihren Originalspeicherorten referenziert.
Die ursprüngliche Boot-Umgebung BE1 und ihre Datensätze sind:
rpool/ROOT/BE1 rpool/ROOT/BE1/usr rpool/ROOT/BE1/var rpool/ROOT/BE1/opt rpool/export rpool/export/home |
Die geklonte Boot-Umgebung BE2 besitzt neue Root-Datensätze, die ursprünglichen freigegebenen Datensätze rpool/export und rpool/export/home bleiben jedoch unverändert.
rpool/ROOT/BE2 rpool/ROOT/BE2/usr rpool/ROOT/BE2/var rpool/ROOT/BE2/opt rpool/export rpool/export/home |
Eine neue Boot-Umgebung wird standardmäßig aus der aktiven Boot-Umgebung erstellt. Mit dem Befehl beadm create können Sie jedoch eine neue Boot-Umgebung erstellen, die auf einer vorhandenen, inaktiven Boot-Umgebung basiert.
Melden Sie sich als Superuser an oder nehmen Sie eine entsprechende Rolle an.
Geben Sie den folgenden Befehl ein, um eine neue inaktive Boot-Umgebung aus einer vorhandenen inaktiven Boot-Umgebung zu erstellen:
$ beadm create -e non-activeBeName beName |
non-activeBeName ist eine Variable für die vorhandene inaktive Boot-Umgebung, die durch diesen Befehl geklont wird.
beName ist die Variable für den neuen Boot-Umgebungsnamen.
Standardmäßig ist die neue Boot-Umgebung inaktiv.
Sie können zu Referenzzwecken einen Snapshot einer vorhandenen Boot-Umgebung erstellen. Ein solcher Snapshot ist ein schreibgeschütztes Abbild eines Datensatzes oder einer Boot-Umgebung zu einem bestimmten Zeitpunkt. Sie können für diesen Snapshot einen benutzerspezifischen Namen angeben, der darauf hinweist, wann der Snapshot erstellt wurde bzw. was er enthält.
Verwenden Sie den folgenden Befehl zum Erstellen eines Snapshots.
$ beadm create BEname@snapshotdescription |
Ersetzen Sie die Variable BEname@snapshotdescription durch den Namen, den Sie Ihrem Snapshot geben möchten. Der Name des Snapshots muss im Format BEname@snapshotdescription vorliegen, wobei BEname der Name der vorhandenen Boot-Umgebung ist, von der Sie den Snapshot erstellen möchten. Geben Sie Ihre Snapshot-Beschreibung ein, um das Datum oder den Zweck des Snapshots anzugeben.
Beispiele für Snapshot-Namen:
BE1@0312200.12:15
BE2@backup
BE1@13März2008
Sofern Sie nicht den Befehl beadm create zum Zuweisen eines benutzerdefinierten Titels für einen Snapshot verwenden, enthalten Snapshot-Titel automatisch einen Zeitstempel, der den Zeitpunkt der Snapshot-Erstellung angibt.
Der Snapshot einer Boot-Umgebung ist nicht bootfähig. Sie können jedoch von einem vorhandenen Snapshot eine neue Boot-Umgebung erstellen. Dann können Sie die neue Boot-Umgebung aktivieren und booten.
Erstellen Sie mit dem folgenden Befehl eine neue Boot-Umgebung aus einem Snapshot.
$ beadm create -e BEname@snapshotdescription beName |
Ersetzen Sie die Variable BEname@snapshotdescription durch den Namen eines vorhandenen Snapshots. Wie in der vorhergehenden Aufgabe beschrieben, müssen Snapshot-Namen im Format BEname@snapshotdescription vorliegen, wobei BEname dem Namen einer vorhandenen Boot-Umgebung entspricht und snapshotdescription die Beschreibung eines Snapshots dieser Boot-Umgebung ist.
Ersetzen Sie die Variable BEname durch einen eigenen Namen, den Sie der neuen Boot-Umgebung geben möchten.
Siehe das folgende Beispiel.
$ beadm create -e BE1@now BE2 |
Mit dem folgenden Befehl wird eine neue Boot-Umgebung mit dem Namen BE2 aus einem vorhandenen Snapshot mit dem Namen BE1@now erstellt. Mit dem folgenden Vorgang können Sie diese Boot-Umgebung aktivieren.
Sie können eine inaktive Boot-Umgebung aktivieren. Es kann jeweils nur eine Boot-Umgebung aktiv sein. Die neu aktivierte Boot-Umgebung wird beim Systemneustart zur Standard-Boot-Umgebung.
Mit dem folgenden Befehl aktivieren Sie eine vorhandene inaktive Boot-Umgebung:
$ beadm activate beName |
beName ist eine Variable für den Namen der zu aktivierenden Boot-Umgebung.
Beachten Sie folgende Spezifikationen.
beadm activate beName aktiviert eine Boot-Umgebung durch Einstellen der Eigenschaft bootfs des bootfähigen Pools auf den Wert des ROOT-Datensatzes der Boot-Umgebung, die aktiviert wird.
beadm activate legt die neu aktivierte Boot-Umgebung als Standard in der Datei menu.lst fest.
Beim Erstellen einer aktiven oder inaktiven Boot-Umgebung wird für sie ein Eintrag im GRUB-Menü bzw. im SPARC-Boot-Menü angelegt. Die Standard-Boot-Umgebung ist stets die zuletzt aktivierte Boot-Umgebung.
Starten Sie das System neu.
Die neu aktivierte Boot-Umgebung ist jetzt die Standardeinstellung im GRUB-Menü bzw. im SPARC-Boot-Menü.
Wenn das Booten mit der Boot-Umgebung fehlschlägt, booten Sie erneut und wählen Sie die vorherige Boot-Umgebung im GRUB-Menü bzw. Boot-Menü.
Wenn Sie Pakete einer vorhandenen inaktiven Boot-Umgebung aktualisieren möchten, können Sie diese Boot-Umgebung einhängen und optional die darin enthaltenen Pakete aktualisieren.
Mit dem Befehl beadm mount können Sie eine Boot-Umgebung wie folgt einhängen:
$ beadm mount beName mountpoint |
Wenn das Verzeichnis für den Einhängepunkt nicht existiert, wird es vom Dienstprogramm beadm erstellt. Die Boot-Umgebung wird dann in dieses Verzeichnis eingehängt.
Wenn die Boot-Umgebung bereits eingehängt ist, schlägt der Befehl beadm mount fehl. Es erfolgt kein erneutes Einhängen der Boot-Umgebung an dem neu angegebenen Ort.
Die Boot-Umgebung wird eingehängt, bleibt jedoch inaktiv.
(Optional) Sie können Pakete in der Boot-Umgebung mit dem Befehl pkg aktualisieren.
Beispielsweise können Sie mit dem Befehl pkg install und der Option -R bestimmte Pakete in dieser Boot-Umgebung aktualisieren.
$ pkg -R /mnt install packagename |
/mnt ist der Einhängepunkt der Boot-Umgebung.
Hängen Sie die Boot-Umgebung vor dem Neustart aus.
Weitere Informationen entnehmen Sie der Manpage pkg(1).
Mit dem Befehl beadm können Sie eine vorhandene Boot-Umgebung aushängen.
Boot-Umgebungen können nur ausgehängt werden, wenn sie nicht zurzeit gebootet sind.
Wenn Sie auf Ihrem System mehr Speicherplatz schaffen wollen, können Sie mit dem Befehl beadm eine vorhandene Boot-Umgebung löschen.
Beachten Sie folgende Spezifikationen:
Boot-Umgebungen können nur gelöscht werden, wenn sie nicht zurzeit gebootet sind.
Mit dem Befehl beadm destroy wird der Eintrag für die gelöschte Boot-Umgebung automatisch im GRUB-Menü (X86) bzw. im Boot-Menü (SPARC) gelöscht.
Der Befehl beadm destroy löscht nur die kritischen bzw. nicht freigegebenen Datensätze einer Boot-Umgebung. Freigegebene Datensätze befinden sich außerhalb des Root-Bereiches einer Boot-Umgebung und sind vom Löschen einer Boot-Umgebung nicht betroffen.
Im folgenden Beispiel sehen Sie beispielsweise, dass BE1 und BE2 die Datensätze rpool/export und rpool/export/home gemeinsam nutzen. Zu den Datensätzen gehören:
rpool/ROOT/BE1 rpool/ROOT/BE2 rpool/export rpool/export/home |
Löschen Sie BE2 mithilfe des folgenden Befehls:
beadm destroy BE2 |
Die freigegebenen Dateisysteme rpool/export und rpool/export/home werden beim Löschen der Boot-Umgebung BE2 nicht gelöscht. Die folgenden Datensätze verbleiben:
rpool/ROOT/BE1 rpool/export rpool/export/home |
Geben Sie Folgendes ein, um eine Boot-Umgebung zu löschen:
$ beadm destroy beName |
Der Befehl beadm destroy fordert Sie vor dem Löschen der Boot-Umgebung zur Bestätigung auf. Fügen Sie dem Befehl beadm destroy die Option -F hinzu, wenn das Löschen ohne Bestätigung erzwungen werden soll. Geben Sie die Option -f an, um das Löschen zu erzwingen, auch wenn die Boot-Umgebung eingehängt ist.
Mit dem Befehl beadm rename können Sie eine vorhandene Boot-Umgebung umbenennen. Mit diesem Befehl können Sie der Boot-Umgebung einen eigenen Namen geben, der für Sie mehr Aussagekraft hat. So können Sie Boot-Umgebungen Namen geben, die aussagen, wie die einzelnen Boot-Umgebungen konfiguriert sind Der Datensatzname der Boot-Umgebung wird ebenfalls geändert, damit er mit dem neuen Namen der Boot-Umgebung übereinstimmt.
Eine aktive Boot-Umgebung kann nicht umbenannt werden. Nur eine inaktive Boot-Umgebung kann umbenannt werden. Die derzeit gestartete Boot-Umgebung kann nicht umbenannt werden. Wenn Sie die aktive Boot-Umgebung umbenennen möchten, müssen Sie zuerst eine andere Boot-Umgebung aktivieren und diese Umgebung starten. Anschließend können Sie die inaktive Boot-Umgebung umbenennen.