Systemverwaltungshandbuch: Oracle Solaris Container - Ressourcenverwaltung und Solaris Zones

Solaris 10 11/06: Migrieren einer nicht-globalen Zone zu einem anderen Computer

Bitte beachten Sie, dass Sie im Solaris-Release 10 5/08 eine Zonenmigration testen können, bevor die betreffende Zone tatsächlich auf einen neuen Rechner verschoben wird. Weitere Informationen finden Sie unter Solaris 10 5/08: Informationen zum Testen einer Zonenmigration vor dem eigentlichen Ausführen der Migration.

Allgemeine Informationen zum Migrieren einer Zone

Nach dem Solaris-Release 10 11/06 wurden diesem Abschnitt neue Informationen hinzugefügt.

Mit den Befehlen zonecfg und zoneadm können Sie eine vorhandene nicht-globale Zone von einem System zum einem anderen migrieren. Die Zone wird angehalten und vom aktuellen Hostcomputer gelöst. Der zonepath wird auf den Zielhost verschoben und dort angehängt.

Für die Migration einer Zone gelten die folgenden Einschränkungen:

Zum Überprüfen des Solaris-Release und der Computerarchitektur geben Sie Folgendes ein:


#uname -m

Der Prozess zoneadm detach erstellt die Informationen, die zum Anhängen der Zone auf einem anderen System erforderlich sind. Der Prozess zoneadm attach überprüft, ob der Ziel-Computer korrekt konfiguriert ist, um als Host für die Zone zu fungieren.

Da es verschiedene Möglichkeiten gibt, den zonepath auf dem neuen Host verfügbar zu machen, muss das tatsächliche Verschieben des zonepath von einem System auf das andere manuell vom globalen Administrator ausgeführt werden.

Wenn die Zone erfolgreich auf das neue System verlagert wurde, befindet sie sich im installierten Status.

ProcedureSo migrieren Sie eine nicht-globalen Zone

Für dieses Verfahren müssen Sie als globaler Administrator in der globalen Zone angemeldet sein.

  1. Melden Sie sich als Superuser an oder nehmen Sie die Rolle des Primäradministrators an.

    Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie unter Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Halten Sie die zu migrierende Zone an. In diesem Beispiel ist das my-zone.


    host1# zoneadm -z my-zone halt
    
  3. Trennen Sie die Zone.


    host1# zoneadm -z my-zone detach
    

    Die getrennte Zone befindet sich jetzt in Status „configured“.

  4. Verschieben Sie den zonepath für my-zone auf den neuen Host.

    Weitere Informationen finden Sie unter So verschieben Sie den zonepath auf einen neuen Host.

  5. Konfigurieren Sie die Zone auf dem neuen Host.


    host2# zonecfg -z my-zone
    

    Die folgende Systemmeldung wird angezeigt:


    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  6. Geben Sie den Befehl zonecfg mit der Option -a und dem zonepath auf dem neuen Host ein, um die Zone my-zone auf dem neuen Host zu erstellen.


    zonecfg:my-zone> create -a /export/zones/my-zone
    
  7. (Optional) Zeigen Sie die Konfiguration an.


    zonecfg:my-zone> info
    zonename: my-zone
    zonepath: /export/zones/my-zone
    autoboot: false
    pool:
    inherit-pkg-dir:
             dir: /lib
    inherit-pkg-dir:
             dir: /platform
    inherit-pkg-dir:
             dir: /sbin
    inherit-pkg-dir:
             dir: /usr
    net:
             address: 192.168.0.90
             physical: bge0
  8. Nehmen Sie ggf. erforderliche Änderungen an der Konfiguration vor.

    Beispielsweise könnte das reelle Netzwerkgerät auf dem neuen Host anders sein, oder in der Konfiguration vorhandene Geräte haben andere Namen auf dem neuen Host.


    zonecfg:my-zone> select net physical=bge0
    zonecfg:my-zone:net> set physical=e1000g0
    zonecfg:my-zone:net> end
    
  9. Übernehmen Sie die Konfiguration und beenden Sie.


    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  10. Hängen·Sie unter Verwendung eines der folgenden Verfahren die Zone an den neuen Host an.

    • Hängen Sie die Zone mit einer Validierungsprüfung an.


      host2# zoneadm -z my-zone attach
      

      Wenn eine oder beide der folgenden Bedingungen zutreffen, wird der Systemadministrator über die erforderlichen Maßnahmen informiert:

      • Erforderliche Pakete und Patches sind nicht auf dem neuen Computer vorhanden.

      • Die Software-Level der beiden Computer weichen voneinander ab.

    • Solaris 10/08: Hängen Sie die Zone mit einer Validierungsprüfung an und aktualisieren Sie die Zone zur Übereinstimmung mit einem Host, auf dem spätere Versionen abhängiger Pakete installiert sind bzw. der eine andere Rechnerklasse hat.


      host2# zoneadm -z my-zone attach -u
      

      Tipp –

      Solaris 10 10/08: Wenn auf dem Ausgangssystem eine ältere Solaris-Version installiert ist, kann es sein, dass beim Aushängen der Zone eine fehlerhafte Paketliste erstellt wird. Um sicherzustellen, dass auf dem Zielsystem die akkurate Paketliste generiert wird, können Sie die Datei SUNWdetached.xml aus dem zonepath entfernen. Durch das Entfernen dieser Datei wird vom Zielsystem eine neue Paketliste erstellt.

      Dies ist ab Solaris 10 5/09 nicht mehr nötig.


    • Solaris 10 9/10: Hängen Sie die Zone mit einer Validierungsprüfung an und aktualisieren Sie alle Pakete für die Zone, sodass sie Paketen einer neu auf diesem Host installierten nicht-globalen Zone entsprechen. Alle Pakete, die in dieser Zone, jedoch nicht in der globalen Zone installiert sind, werden ignoriert und nicht verändert.


      host2# zoneadm -z my-zone attach -U
      
    • Solaris 10 5/09 und höher: Verwenden Sie die Option -b, um bestimmte offizielle oder IDR-Patches während des Anhängens zurückzunehmen.


      host2# zoneadm -z my-zone attach -u -b IDR246802-01 -b 123456-08
      

      Beachten Sie, dass Sie die Option -b unabhängig von der Option -u oder - U verwenden können

    • Erzwingen Sie das Anhängen, ohne eine Überprüfung durchzuführen.


      host2# zoneadm -z my-zone attach -F
      

      Achtung – Achtung –

      Mit der Option -F können Sie den Befehl attach erzwingen, ohne dass eine Überprüfung durchgeführt wird. Dies bietet sich in bestimmten Fällen wie z. B. in einer Cluster-Umgebung oder beim Erstellen von Sicherungskopien bzw. dem Wiederherstellen aus einer Sicherungskopie an, setzt aber voraus, dass das System ordnungsgemäß konfiguriert ist, um als Host für eine Zone zu fungieren. Bei einer falschen Konfiguration könnte sich ein unerwartetes Verhalten einstellen.


ProcedureSo verschieben Sie den zonepath auf einen neuen Host

Es gibt verschiedene Möglichkeiten, ein Archiv eines zonepath zu erstellen. Sie können beispielsweise die Befehle cpio oder pax verwenden, die in den Manpages cpio(1) und pax(1) beschrieben sind.

Auch für das Übertragen des Archivs auf dem neuen Host stehen verschiedene Möglichkeiten zur Verfügung. Der zur Übertragung des zonepath vom Quellhost zum Ziel hängt von der lokalen Konfiguration ab. In einigen Fällen, z. B. bei einem SAN, können die Daten im zonepath nicht tatsächlich verschoben werden. Ein SAN kann jedoch auf einfache Weise neu konfiguriert werden, so dass der zonepath auf dem neuen Host angezeigt wird. In anderen Fällen kann der zonepath auf ein Band geschrieben sein, und das Band wird an den neuen Standort gesendet.

Aus diesen Gründen ist dieser Schritt nicht automatisiert. Der Systemadministrator muss die am besten geeignete Methode zum Verschieben des zonepath auf den neuen Host auswählen.

  1. Melden Sie sich als Superuser an oder nehmen Sie die Rolle des Primäradministrators an.

    Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie unter Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Verschieben Sie den zonepath auf den neuen Host. Sie können die in diesem Verfahren beschriebene Methode oder eine andere Methode Ihrer Wahl verwenden.


Beispiel 23–1 Archivieren und Verschieben des zonepath mit dem Befehl tar

  1. Erstellen Sie eine tar-Datei des zonepath auf host1 und übertragen Sie sie mit dem Befehl sftp an host2.


    host1# cd /export/zones
    host1# tar cf my-zone.tar my-zone
    host1# sftp host2
    Connecting to host2...
    Password:
    sftp> cd /export/zones
    sftp> put my-zone.tar
    Uploading my-zone.tar to /export/zones/my-zone.tar
    sftp> quit
    
  2. Entpacken Sie die tar-Datei auf host2.


    host2# cd /export/zones
    host2# tar xf my-zone.tar
    

Weitere Informationen finden Sie in sftp(1) und tar(1).


Allgemeine Fehler

Informationen zu den folgenden Problemen finden Sie unter Auflösen von Problemen bei einem zoneadm attach-Vorgang:

Nächste Schritte

Wenn ein SAN nicht neu konfiguriert, sondern die Daten kopiert haben, sind die zonepath-Daten noch immer auf den Quellhost sichtbar, obwohl sich die Zone jetzt im Status „configured“ befindet. Sie können entweder den zonepath manuell vom Quellhost entfernen, nachdem Sie die Daten auf den neuen Host verschoben haben, oder Sie fügen die Zone erneut auf dem Quellhost ein und verwenden den Befehl zoneadm uninstall, um den zonepath zu entfernen.

Solaris 10 5/08: Informationen zum Testen einer Zonenmigration vor dem eigentlichen Ausführen der Migration

Mithilfe der Option „no execute“ (-n) können Sie vor dem Verschieben einer Zone auf einen neuen Rechner die Migration testen.

Mit dem Unterbefehl zoneadm detach der Option -n können Sie ein Manifest auf einer laufenden Zone generieren, ohne sie abtrennen zu müssen. Der Status der Zone auf dem Ursprungssystem bleibt unverändert. Das Zonenmanifest wird auf stdout ausgegeben. Der globale Administrator kann diese Ausgabe in einer Datei umleiten oder mithilfe einer Pipe mit einem Befehl auf dem Zielsystem verknüpfen, damit sie dort validiert werden kann. Der Unterbefehl zoneadm attach kann dann mit der Option -n dieses Manifest lesen und überprüfen, ob die Konfiguration des Zielsystems für die Zone geeignet ist, ohne die Zone dafür wirklich anzuschließen.

Die Zone auf dem Zielsystem muss vor dem Durchführen des testweisen Anschließens nicht auf dem neuen Host konfiguriert werden.

ProcedureSolaris 10 5/08: So testen Sie eine Zonenmigration vor dem eigentlichen Ausführen der Migration

Für dieses Verfahren müssen Sie als globaler Administrator bei der globalen Zone angemeldet sein.

  1. Melden Sie sich als Superuser an oder nehmen Sie die Rolle des Primäradministrators an.

    Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie unter Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Verwenden Sie eine der folgenden Methoden:

    • Erstellen Sie das Manifest auf dem Ausgangs-Host für my-zone und verknüpfen Sie diese Ausgabe mithilfe einer Pipe mit einem Befehl auf dem Zielsystem, das den Ziel-Host sofort validiert:


      global# zoneadm -z my-zone detach -n | ssh remotehost zoneadm attach -n -
      

      Der Bindestrich () am Ende der Zeile gibt stdin als Pfad an.

      Mit stdout wird die Validierung auf dem Bildschirm des Ausgangs-Hosts ausgegeben.

    • Erstellen Sie das Manifest auf dem Ausgangs-Host für my-zone und leiten Sie die Ausgabe in eine Datei um:


      global# zoneadm -z my-zone detach -n > filename
      

      Kopieren Sie das Manifest auf das neue Hostsystem (siehe So verschieben Sie den zonepath auf einen neuen Host) und führen Sie die Validierung durch:


      global# zoneadm attach -n path_to_manifest
      

      Mithilfe des Bindestrichs () kann stdin als Pfad angegeben werden.