Systemverwaltungshandbuch: Oracle Solaris Container - Ressourcenverwaltung und Solaris Zones

Kapitel 37 Verschieben und Migrieren von lx Branded Zones (Vorgehen)

In diesem Kapitel wird Folgendes beschrieben:

Verschieben einer lx Branded Zone

Mit diesem Verfahren verschieben Sie eine Zone an einen neuen Speicherort auf dem gleichen System, indem Sie den zonepath ändern. Die Zone muss angehalten sein. Der neue zonepath muss sich auf einem lokalen Dateisystem befinden. Es gelten die normalen, unter Ressourcen- und Eigenschaftentypen beschriebenen zonepath-Kriterien.

ProcedureSo verschieben Sie eine Zone

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

    Rollen sind unter Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration beschrieben.

  2. Halten Sie die zu verschiebende Zone, in diesem Beispiel db-zone, an.


    global# zoneadm -z db-zone halt
    
  3. Geben Sie den Befehl zoneadm mit dem Unterbefehl move ein, um eine Zone an den neuen zonepath (/export/zones/db-zone) zu verschieben.


    global# zoneadm -z db-zone move /export/zones/db-zone
    
  4. Überprüfen Sie den Pfad.


    global# zoneadm list -iv
      ID NAME             STATUS         PATH                  BRAND      IP
       0 global           running        /                     native     shared
       - lx-zone          installed      /export/home/lx-zone  lx         shared
       - db-zone          installed      /export/zones/db-zone lx         shared

Migrieren einer lx Branded Zone zu einem anderen Computer

Allgemeine Informationen zum Migrieren einer lx Branded Zone

Mit den Befehlen zonecfg und zoneadm können Sie eine vorhandene nicht-globale Zone von einem System zu 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 lx Branded Zone gelten die folgenden Anforderungen:

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 lx Branded Zone

  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 lx-zone.


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


    host1# zoneadm -z lx-zone detach
    

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

  4. Verschieben Sie den zonepath für lx-zone zum 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 lx-zone
    

    Die folgende Systemmeldung wird angezeigt:


    lx-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 lx-zone auf dem neuen Host zu erstellen.


    zonecfg:lx-zone> create -a /export/zones/lx-zone
    
  7. Zeigen Sie die Konfiguration an.


    zonecfg:lx-zone> info
    zonename: lx-zone
    zonepath: /export/zones/lx-zone
    brand: lx
    autoboot: false
    bootargs:
    pool:
    limitpriv:
    net:
             address: 192.168.0.90
             physical: bge0
  8. (Optional) 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:lx-zone> select net physical=bge0
    zonecfg:lx-zone:net> set physical=e1000g0
    zonecfg:lx-zone:net> end
    
  9. Übernehmen Sie die Konfiguration und beenden Sie.


    zonecfg:lx-zone> commit
    zonecfg:lx-zone> exit
    
  10. Hängen Sie die Zone auf dem neuen Host an.

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


      host2# zoneadm -z lx-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.

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


      host2# zoneadm -z lx-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 37–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 lx-zone.tar lx-zone
    host1# sftp host2
    Connecting to host2...
    Password:
    sftp> cd /export/zones
    sftp> put lx-zone.tar
    Uploading lx-zone.tar to /export/zones/lx-zone.tar
    sftp> quit
    
  2. Entpacken Sie die tar-Datei auf host2.


    host2# cd /export/zones
    host2# tar xf lx-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:

Der Benutzer muss sicherstellen, dass der Prozessortyp im neuen Computer unterstützt wird. Weitere Informationen finden Sie unter Allgemeine Informationen zum Migrieren einer lx Branded Zone.

Solaris 10 5/08: Informationen zum Testen einer Migration zu einer lx-Branded Zone vor dem Durchfü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 Migration zu einer lx-Branded Zone vor dem Durchfü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 einem Ausgangs-Host namens lx-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 lx-zone detach -n | ssh remotehost zoneadm attach -n -
      

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

    • Erstellen Sie das Manifest auf einem Ausgangs-Host namens lx-zone und leiten Sie die Ausgabe in eine Datei um:


      global# zoneadm -z lx-zone detach -n 
      

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


      global# zoneadm attach -n path_to_manifest
      

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