Solaris 10 5/09 Installationshandbuch: Solaris Live Upgrade und Planung von Upgrades

Erstellen einer Boot-Umgebung in einem neuen Root-Pool

Wenn auf Ihrem System bereits ein ZFS-Root-Pool vorhanden ist und Sie eine neue ZFS-Boot-Umgebung in einem neuen ZFS-Root-Pool erstellen wollen, müssen Sie die folgenden Schritte abarbeiten. Nach dem Erstellen einer inaktiven Boot-Umgebung kann diese neue Boot-Umgebung nach Ihrem Ermessen aktualisiert und aktiviert werden. Die Option -p ist erforderlich, da sie angibt, wo die neue Boot-Umgebung angelegt werden soll. Damit das vorhandene ZFS-Root-Pool gebootet und aktualisiert werden kann, muss es sich auf einem separaten Slice befinden.

ProcedureSo erstellen Sie eine Boot-Umgebung auf einem neuen ZFS-Root-Pool

  1. Vor dem erstmaligen Ausführen von Solaris Live Upgrade müssen Sie die neuesten Solaris Live Upgrade-Pakete vom Installationsdatenträger und die im SunSolve-Informationsdokument 206844 aufgeführten Patches installieren. Suchen Sie auf der SunSolve-Website nach dem Informationsdokument 206844 (früher 72099).

    Die neuesten Packages und Patches gewährleisten, dass auf Ihrem System die neuesten Fehlerbehebungen und Leistungsmerkmale installiert sind. Stellen Sie die Installation aller für Ihr System erforderlichen Patches sicher, bevor Sie damit beginnen, eine neue Boot-Umgebung zu erstellen.

    Die folgenden Schritte geben die Schritte im SunSolve-Informationsdokument 206844 wieder.


    Hinweis –

    Damit Sie mit Solaris Live Upgrade neue ZFS-Boot-Umgebungen installieren können, muss auf Ihrem System mindestens Solaris-Release 10 10/08 installiert sein. In früheren Releases ist die ZFS- und Solaris Live Upgrade-Software zum Durchführen dieser Aufgaben nicht enthalten.


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

    2. Befolgen Sie von der SunSolve-Website aus die Anweisungen zum Entfernen und Hinzufügen von Solaris Live Upgrade-Packages im Informationsdokument 206844.

      Die drei Solaris Live Upgrade-Packages SUNWluu, SUNWlur und SUNWlucfg enthalten die zum Aktualisieren mithilfe von Solaris Live Upgrade erforderliche Software. Diese Pakete enthalten die bestehende Software, neue Funktionen sowie Bugfixes. Wenn Sie die vorhandenen Packages nicht entfernen und die neuen Packages auf Ihrem System installieren, bevor Sie Solaris Live Upgrade ausführen, schlägt das Aktualisieren auf die Zielversion fehl. Das Package SUMWlucfg ist ab Solaris-Release 10 8/07 neu. Wenn Sie Solaris Live Upgrade-Packages mit einem Release vor Solaris 10 8/07 verwenden, müssen Sie dieses Package nicht entfernen.


      Hinweis –

      Das Package SUMWlucfg ist ab Solaris-Release 10 8/07 neu. Wenn Sie Solaris Live Upgrade-Packages eines früheren Release verwenden, brauchen Sie diese Packages nicht zu entfernen.



      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    3. Installieren Sie die neuen Solaris Live Upgrade-Packages. Eine Anleitung finden Sie unter  Installieren von Solaris Live Upgrade.

    4. Vor der Installation und dem Ausführen von Solaris Live Upgrade müssen Sie die folgenden Patches installieren. Diese Patches gewährleisten, dass auf Ihrem System die neuesten Fehlerbehebungen und Leistungsmerkmale installiert sind.

      Vergewissern Sie sich auf SunSolve, dass Sie die aktuellste Patch-Liste haben. Suchen Sie auf der SunSolve-Website nach dem Informationsdokument 206844 (früher 72099).

      • Zum Speichern der Patches auf einer lokalen Festplatte sollten Sie ein Verzeichnis wie z. B. /var/tmp/lupatches erstellen und die Patches in dieses Verzeichnis herunterladen.

      • Laden Sie von der SunSolve -Website die Patchliste herunter.

      • Wechseln Sie wie in diesem Beispiel zum Patch-Verzeichnis.


        # cd /var/tmp/lupatches
        
      • Installieren Sie die Patches mit dem Befehl patchadd.


        # patchadd path-to-patches patch_id patch_id
        

        Path-to-Patches steht für den Pfad zum Patch-Verzeichnis, wie z. B. /var/tmp/lupatches. Patch_ID sind die Patchnummern. Trennen Sie mehrere Patch-Namen mit Leerzeichen voneinander.


        Hinweis –

        Sie müssen die Patches in der im Dokument 206844 angegebenen Reihenfolge installieren.


      • Starten Sie, falls erforderlich, das System neu. Bei einigen Patches ist ein Systemneustart erforderlich.

        Nur x86: Das System muss neu gestartet werden, anderenfalls schlägt Solaris Live Upgrade fehl.


        # init 6
        

        Nun verfügen Sie über die für eine erfolgreiche Migration erforderlichen Packages und Patches.

  2. Erstellen Sie ein ZFS-Root-Pool.

    Damit das ZFS-Root-Pool boot- und upgradefähig ist, muss es sich auf einem einzigen Slice befinden.


    # zpool create rpool2 c0t1d0s5
    
    rpool2

    Der Name des neuen ZFS-Root-Pools.

    c0t1d0s5

    Gibt an, dass rpool2 auf dem bootfähigen Slice c0t1d0s5 angelegt werden soll.

    Informationen zum Erstellen eines neuen Root-Pools finden Sie in Solaris ZFS - Administrationshandbuch.

  3. Erstellen Sie die neue Boot-Umgebung.


    # lucreate [-c zfsBE] -n new-zfsBE -p rpool2
    
    -c zfsBU

    Weist der aktuellen ZFS-Boot-Umgebung den Namen zfsBU zu.

    -n neue-zfsBU

    Weist der zu erstellenden Boot-Umgebung einen Namen zu. Der Name muss auf dem System einmalig sein.

    -p rpool2

    Legt die·neu erstellte ZFS-Boot-Umgebung in dem in rpool2 definierten ZFS-Root-Pool an.

    Das Erstellen der neuen ZFS-Boot-Umgebung kann eine gewisse Zeit dauern. Die Daten des Dateisystems werden in das neue ZFS-Root-Pool kopiert. Nach dem Erstellen der inaktiven Boot-Umgebung können Sie die neue ZFS-Boot-Umgebung mithilfe der Befehle luupgrade bzw. luactivate aktualisieren bzw. aktivieren.

  4. (Optional) Überprüfen Sie, ob die Boot-Umgebung vollständig ist.

    Der Befehl lustatus erzeugt einen Bericht, ob die erstellte Boot-Umgebung vollständig und bootfähig ist.


    # lustatus
    boot environment   Is        Active  Active     Can	    Copy 
    Name               Complete  Now	 OnReboot   Delete	 Status 
    ------------------------------------------------------------------------ 
    zfsBE                       yes      yes     yes        no        - 
    new-zfsBE                   yes      no      no         yes        -
  5. (Optional) Überprüfen Sie die grundlegenden Dataset-Informationen auf dem System.

    Im folgenden Beispiel werden die Namen aller auf dem System vorhandenen Datasets angezeigt. Der für die neue Boot-Umgebung angezeigte Einhängepunkt ist temporär und gilt nur bis zur Ausführung des Befehls luactivate. Die neue Boot-Umgebung nutzt die Volumes rpool2/dump und rpool2/swap gemeinsam mit der ZFS-Boot-Umgebung rpool2.


    # zfs list
    NAME                             USED    AVAIL   REFER   MOUNTPOINT 
    rpool2                           9.29G    57.6G     20K   /rpool2 
    rpool2/ROOT/                     5.38G    57.6G     18K   /rpool2/ROOT 
    rpool2/ROOT/new-zfsBE            5.38G    57.6G    551M  /tmp/.new.luupdall.109859
    rpool2/dump                      3.99G        -   3.99G   - 
    rpool2/swap                      3.99G        -   3.99G   - 
    rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
    rpool/ROOT                       5.46G    57.6G     18K   legacy
    rpool/ROOT/zfsBE                 5.46G    57.6G    551M  
    rpool/dump                       3.99G        -   3.99G   - 
    rpool/swap                       3.99G        -   3.99G   - 

    Sie können die neue Boot-Umgebung jetzt aktualisieren und aktivieren. Siehe Beispiel 13–3.


Beispiel 13–3 Erstellen einer Boot-Umgebung in einem neuen Root-Pool

In diesem Beispiel wird das neue ZFS-Root-Pool rpool auf dem separaten Slice c0t2s0s5 erstellt. Der Befehl lucreate erstellt die neue ZFS-Boot-Umgebung neue-zfsBU. Die Option -p ist erforderlich, da die Boot-Umgebung in einem anderen Root-Pool erstellt wird.


# zpool create rpool C0t1d0s5
# zfs list
NAME                             USED    AVAIL   REFER   MOUNTPOINT 
rpool2                           9.29G    57.6G     20K   /rpool2 
rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT					             5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE                 5.46G    57.6G    551M  
rpool/dump                       3.99G        -   3.99G   - 
rpool/swap                       3.99G        -   3.99G   - 

# lucreate -c rpool -n new-zfsBE -p rpool2
Analyzing system configuration.
Current boot environment is named <rpool>.
Creating initial configuration for primary boot environment <rpool>.
The device </dev/dsk/c0t0d0> is not a root device for any 
boot environment; cannot get BE ID.
PBE configuration successful: PBE name <rpool> PBE Boot 
Device </dev/dsk/rpool>.
Comparing source boot environment <rpool> file systems with 
the file system(s) you specified for the new boot environment. 
Determining which file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
The device </dev/dsk/c1t0d0s0> is not a root device for any 
boot environment; cannot get BE ID.
Creating configuration for boot environment <new-zfsBE>.
Source boot environment is <rpool>.
Creating boot environment <new-zfsBE>.
Creating file systems on boot environment <new-zfsBE>.
Creating <zfs> file system for </> in zone <global> on 
<rpool2/ROOT/new-zfsBE>.
Populating file systems on boot environment <new-zfsBE>.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point </>.
Copying.
Creating shared file system mount points.
Creating compare databases for boot environment <zfsBE>.
Creating compare database for file system </>.
Making boot environment <new-zfsBE> bootable.
Creating boot_archive for /.alt.tmp.b-cBc.mnt
updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive
Population of boot environment <new-zfsBE> successful.
Creation of boot environment <new-zfsBE> successful.

# lustatus
boot environment   Is        Active  Active     Can	    Copy 
Name               Complete  Now	OnReboot   Delete	 Status 
------------------------------------------------------------------------ 
zfsBE                yes      yes     yes        no        - 
new-zfsBE            yes      no      no         yes        -
# zfs list
NAME                             USED    AVAIL   REFER   MOUNTPOINT 
rpool2                           9.29G    57.6G     20K   /rpool2 
rpool2/ROOT/                     5.38G    57.6G     18K   /rpool2/ROOT 
rpool2/ROOT/new-zfsBE            5.38G    57.6G    551M   /tmp/.new.luupdall.109859
rpool2/dump                      3.99G        -   3.99G   - 
rpool2/swap                      3.99G        -   3.99G   - 
rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT                       5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE                 5.46G    57.6G    551M  
rpool/dump                       3.99G        -   3.99G   - 
rpool/swap                       3.99G        -   3.99G   -