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.
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:
Die globale Zone auf dem Zielsystem muss das gleiche Solaris-Release wie der Originalhost ausführen.
Um sicherzustellen, dass die Zone ordnungsgemäß ausgeführt werden kann, muss das Zielsystem die gleichen Versionen der folgenden Betriebssystem-Pakete und -Patches wie auf dem Originalhost ausführen.
Pakete, die Dateien unter einer inherit-pkg-dir-Ressource bereitstellen
Pakete, bei denen Folgendes gesetzt ist: SUNW_PKG_ALLZONES=true
Andere Pakete und Patches, z. B. solche von Drittanbietern, können hiervon abweichen.
Solaris 10 10/08: Wenn auf dem neuen Host neuere Versionen zonenabhängiger Pakete und zugehöriger Patches installiert sind, werden durch Verwendung von zoneadm attach mit der Option -u diese Pakete zur Übereinstimmung mit dem neuen Host innerhalb der Zone aktualisiert. Die für das Aktualisieren während des Anhängens zuständige Software untersucht die zu migrierende Zone und legt fest, welche Pakete zur Übereinstimmung mit dem neuen Host zu aktualisieren sind. Nur diese Pakete werden aktualisiert. Die übrigen Pakete und deren zugehörige Patches können·von Zone zu Zone unterschiedlich sein. Diese Option ermöglicht auch die automatische Migration zwischen Rechnerklassen wie z.B. von sun4u auf sun4v
Solaris 10 9/10: Wenn auf dem neuen Host neuere Versionen der Pakete und der zugehörigen Patches installiert sind, werden durch Verwendung von zoneadm attach mit der Option -U diese Pakete innerhalb der Zone aktualisiert, sodass sie den Paketen einer neu installierten nicht-globalen Zone auf diesem Host entsprechen. Alle Pakete, die in dieser Zone, jedoch nicht in der globalen Zone installiert sind, werden ignoriert und nicht verändert. Diese Option ermöglicht auch die automatische Migration zwischen Rechnerklassen wie z.B. von sun4u auf sun4v
Solaris 10 5/09: Mit der Option -b können Patches vor der Aktualisierung aus der Zone zurückgenommen werden.
Host- und Zielsystem müssen die gleiche Rechnerarchitektur aufweisen, es sei denn die Option -u zum Migrieren zwischen den Rechnerklassen sun4u und sun4v wird verwendet.
Solaris 10 5/09: Mit der Option -b können offizielle oder Interim Diagnostics/Relief-Patches (IDR) während des Anhängens aus der Zone zurückgenommen werden. Es können mehrere Optionen des Typs -b angegeben werden. Wenn ein Patch aus einem beliebigen Grund nicht zurückgenommen werden kann, schlägt der Befehl zoneadm fehl und es werden keine Patches zurückgenommen.
Diese Option kann nur für Zone Brands angewendet werden, die Pakete des Typs SVr4 verwenden.
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.
Für dieses Verfahren müssen Sie als globaler Administrator in der globalen Zone angemeldet sein.
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.
Halten Sie die zu migrierende Zone an. In diesem Beispiel ist das my-zone.
host1# zoneadm -z my-zone halt |
Trennen Sie die Zone.
host1# zoneadm -z my-zone detach |
Die getrennte Zone befindet sich jetzt in Status „configured“.
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.
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. |
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 |
(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 |
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 |
Übernehmen Sie die Konfiguration und beenden Sie.
zonecfg:my-zone> commit zonecfg:my-zone> exit |
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 |
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 |
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.
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.
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.
Verschieben Sie den zonepath auf den neuen Host. Sie können die in diesem Verfahren beschriebene Methode oder eine andere Methode Ihrer Wahl verwenden.
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 |
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).
Informationen zu den folgenden Problemen finden Sie unter Auflösen von Problemen bei einem zoneadm attach-Vorgang:
Patches und Pakete sind nicht synchron.
Betriebssystem-Releases stimmen nicht überein.
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.
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.
Für dieses Verfahren müssen Sie als globaler Administrator bei der globalen Zone angemeldet sein.
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.
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.