Oracle Solaris ZFS-Administrationshandbuch

Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (Solaris 10 10/08)

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.

ProcedureSo migrieren Sie ein UFS-Root-Dateisystem mit Zonen-Roots auf UFS auf ein ZFS-Root-Dateisystem (Solaris 10 10/08)

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

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

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

  3. Überprüfen Sie, ob die Zonen aus der UFS-Umgebung gebootet wurden.

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

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

  6. Starten Sie das System neu.


    # init 6
    
  7. Migrieren Sie die Zonen in eine ZFS-BU.

    1. Booten Sie die Zonen.

    2. Erstellen Sie eine weitere ZFS-BU innerhalb des Pools.


      # lucreate s10BE3
      
    3. Aktivieren Sie die neue Boot-Umgebung.


      # luactivate s10BE3
      
    4. Starten Sie das System neu.


      # init 6
      

      Dieser Schritt stellt sicher, dass die ZFS-BU und die Zonen gebootet werden können.

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

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

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

ProcedureSo konfigurieren Sie ein ZFS-Root-Dateisystem mit Zonen-Roots auf ZFS (Solaris 10 10/08)

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.

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

  2. Booten Sie das System vom neu erstellten Root-Pool.

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

  4. Hängen Sie das neu erstellte Zonen-Dataset ein.


    # zfs mount rpool/ROOT/s10BE/zones
    

    Das Dataset wird unter /zones eingehängt.

  5. 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
    
  6. Setzen Sie für das Zonen-Root-Verzeichnis die entsprechenden Zugriffsrechte.


    # chmod 700 /zones/zonerootA
    
  7. 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
    
  8. Installieren Sie die Zone.


    # zoneadm -z zoneA install
    
  9. Booten Sie die Zone.


    # zoneadm -z zoneA boot
    

ProcedureSo aktualisieren bzw. patchen Sie ein ZFS-Root-Dateisystem mit Zonen-Roots auf ZFS (Solaris 10 10/08)

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.

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

  2. 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
      
  3. Aktivieren Sie die neue Boot-Umgebung.


    # luactivate newBE
    
  4. Booten Sie das System von der neu aktivierten Boot-Umgebung.


    # init 6
    
  5. 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.

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

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