Verwalten von Boot-Umgebungen mit Oracle Solaris 11 Express

Kapitel 2 Verwendung des Dienstprogramms beadm (Vorgehen)

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:


Hinweis –

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.

Anzeigen vorhandener Boot-Umgebungen und Snapshots

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.

ProcedureSo zeigen Sie Informationen zu Boot-Umgebungen, Snapshots und Datensätzen an

  1. 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.

  2. 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
    
  3. Überprüfen Sie die zu den verfügbaren Boot-Umgebungen angezeigten Informationen.


Beispiel 2–1 Anzeigen von Spezifikationen von Boot-Umgebungen

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:



Beispiel 2–2 Anzeigen der Snapshot-Spezifikationen

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.


Erstellen einer Boot-Umgebung

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.


Hinweis –

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.


ProcedureSo erstellen Sie eine neue Boot-Umgebung

  1. 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.


    Hinweis –

    beadm create erstellt keine partielle Boot-Umgebung. Der Befehl erstellt entweder erfolgreich eine vollständige Boot-Umgebung oder schlägt fehl.


  2. (Optional) Mit dem Befehl beadm mount können Sie die neue Boot-Umgebung wie folgt einhängen:


    $ beadm mount beName mountpoint
    

    Hinweis –

    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.


    Hinweis –

    Hängen Sie die Boot-Umgebung vor dem Neustart aus.


  3. (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.


    Hinweis –

    Das GRUB-Menü bzw. das Boot-Menü zeigt stets die zuletzt aktivierte Boot-Umgebung als Standard an.



Beispiel 2–3 Erstellen einer neuen geklonten Boot-Umgebung mit Datensätzen (BE2)

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.



Beispiel 2–4 Erstellen einer neuen Boot-Umgebung mit freigegebenen Datensätzen

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

ProcedureSo erstellen Sie eine Boot-Umgebung aus einer inaktiven Boot-Umgebung

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.

  1. Melden Sie sich als Superuser an oder nehmen Sie eine entsprechende Rolle an.

  2. 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.

Erstellen eines Snapshots einer Boot-Umgebung

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.

ProcedureSo erstellen Sie einen Snapshot einer Boot-Umgebung

  1. 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


    Hinweis –

    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.


Verwenden eines vorhandenen Snapshots

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.

ProcedureSo erstellen aus einem vorhandenen Snapshot eine Boot-Umgebung

  1. 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.

Ändern der Standard-Boot-Umgebung

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.

ProcedureSo aktivieren Sie eine vorhandene Boot-Umgebung

  1. 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.


      Hinweis –

      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.


  2. Starten Sie das System neu.

    Die neu aktivierte Boot-Umgebung ist jetzt die Standardeinstellung im GRUB-Menü bzw. im SPARC-Boot-Menü.


    Hinweis –

    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ü.


Einhängen und Aktualisieren einer inaktiven Boot-Umgebung

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.

ProcedureSo hängen Sie eine Boot-Umgebung ein

  1. Mit dem Befehl beadm mount können Sie eine Boot-Umgebung wie folgt einhängen:


    $ beadm mount beName mountpoint
    

    Hinweis –

    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.

  2. (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.


    Hinweis –

    Hängen Sie die Boot-Umgebung vor dem Neustart aus.


    Weitere Informationen entnehmen Sie der Manpage pkg(1).

Aushängen von Boot-Umgebungen

Mit dem Befehl beadm können Sie eine vorhandene Boot-Umgebung aushängen.


Hinweis –

Boot-Umgebungen können nur ausgehängt werden, wenn sie nicht zurzeit gebootet sind.


ProcedureSo hängen Sie eine vorhandene Boot-Umgebung aus

  1. Geben Sie Folgendes ein, um die Boot-Umgebung auszuhängen:


    $ beadm unmount beName
    

Löschen einer Boot-Umgebung

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:

ProcedureSo löschen Sie eine vorhandene Boot-Umgebung

  1. Geben Sie Folgendes ein, um eine Boot-Umgebung zu löschen:


    $ beadm destroy beName
    

    Hinweis –

    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.


Erstellen benutzerspezifischer Namen für Boot-Umgebungen

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.


Hinweis –

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.


ProcedureSo benennen Sie eine Boot-Umgebung um

  1. Mit dem folgenden Befehl benennen Sie die Boot-Umgebung um:


    $ beadm rename beName newBeName
    

    Hinweis –

    Wenn der neue Name bereits verwendet wird, schlägt beadm rename fehl.