Systemverwaltungshandbuch: Oracle Solaris Container - Ressourcenverwaltung und Solaris Zones

Kapitel 19 Einführung in das Installieren, Anhalten, Klonen und Deinstallieren von nicht-globalen Zonen

In diesem Kapitel wird die Installation von Zonen auf einem Solaris-System beschrieben. Darüber hinaus werden die zwei Prozesse vorgestellt, mit denen die virtuelle Plattform und die Anwendungsumgebung verwaltet werden:zoneadmd und zsched. Weiterhin finden Sie Informationen zum Anhalten, Neustarten, Klonen und Deinstallieren von Zonen.

In diesem Kapitel werden folgende Themen behandelt:

Wie eine nicht-globale Zone geklont, installiert, gebootet, angehalten oder deinstalliert wird, können Sie in Kapitel 20Installieren, Booten, Anhalten, Deinstallieren und Klonen von nicht-globalen Zonen (Vorgehen) nachlesen.

Weitere Informationen zur Installation und zum Klonen einer lx Branded Zone finden Sie in Kapitel 34Einführung in das Installieren, Booten, Anhalten, Klonen und Deinstallieren von lx Branded Zones bzw. in Kapitel 35Installieren, Booten, Anhalten, Deinstallieren und Klonen von lx Branded Zones (Vorgehen).

Neuerungen in diesem Kapitel

Solaris 10 11/06: Das Klonen einer nicht-globalen Zone ist jetzt möglich. Lesen Sie dazu Solaris 10 11/06: Klonen einer nicht-globalen Zone im gleichen System.

Solaris 10 8/07: Informationen zu Boot-Argumenten wurden hinzugefügt. Lesen Sie dazu Solaris 10 8/07: Boot-Argumente in einer Zone.

Solaris 10 5/09: ZFS-Klonen wurde implementiert. Befinden sich der zonepath der Quelle und der zonepath des Ziels auf einem ZFS und im gleichen Pool, so verwendet das ZFS automatisch den Befehl zoneadm clone, um die Zone zu klonen. Befindet sich mindestens ein zonepath nicht auf einem ZFS, wird die vorhandene Kopiertechnik verwendet.

Installation einer Zone und Konzepte der Administration

Der in der Manpage zoneadm ausführlich beschriebene Befehl zoneadm(1M) ist das primäre Tool zur Installation und Verwaltung von nicht-globalen Zonen. Operationen mit dem Befehl zoneadm müssen von der globalen Zone aus ausgeführt werden. Mit dem Befehl zoneadm können Sie:

Informationen zur Installation und Überprüfung einer Zone finden Sie in Kapitel 20Installieren, Booten, Anhalten, Deinstallieren und Klonen von nicht-globalen Zonen (Vorgehen) und in der Manpage zoneadm(1M) Angaben zu den unterstützten Funktionen des Befehls zoneadm list finden Sie in der Manpage zoneadm(1M. ) Informationen zur Konfiguration einer Zone finden Sie in Kapitel 18Planen und Konfigurieren von nicht-globalen Zonen (Vorgehen) und in der Manpage zonecfg(1M) Die Statuszustände einer Zone sind unter Statusmodell einer nicht-globalen Zone beschrieben.

Wenn Sie beabsichtigen, Solaris-Revisionsdatensätze für Zonen zu erstellen, lesen Sie Verwenden von Solaris-Auditing in Zonen, bevor Sie nicht-globale Zonen installieren.

Zonenkonstruktion

Dieser Abschnitt bezieht sich auf die Erstkonstruktion einer Zone, nicht für das Klonen von bestehenden Zonen.

Nachdem Sie eine nicht-globale Zone konfiguriert haben, müssen Sie sicherstellen, dass die Zone sicher in der Systemkonfiguration installiert werden kann. Anschließend können Sie die Zone installieren. Für das Root-Dateisystem der Zone erforderliche Dateien installiert das System unter dem Root-Pfad der Zone.

Eine nicht-globale Zone wird mit der offenen Netzwerkkonfiguration (generic_open.xml) installiert. Netzwerk-Konfigurationstypen sind in Kapitel 19, Managing Services (Tasks) in System Administration Guide: Basic Administration beschrieben. Der Zonenadministrator kann die Zone mit dem Befehl netservices auf eine eingeschränkte Netzwerkkonfiguration (generic_limited_net.xml) umschalten. Bestimmte Services können mithilfe von SMF-Befehlen aktiviert oder deaktiviert werden.

Eine erfolgreich installierte Zone ist bereit zur ersten Anmeldung und zum ersten Booten.

Die ursprünglich zur Installation der Pakete in einer Solaris-Installation verwendet Methode ist auch die Methode, mit der eine nicht-globale Zone bestückt wird.

Die globale Zone muss alle zum Bestücken einer nicht-globalen Zone erforderlichen Daten enthalten. Das Bestücken einer Zone umfasst das Erstellen von Verzeichnissen, das Kopieren von Dateien und das Bereitstellen von Konfigurationsinformationen.

Zum Bestücken der nicht-globalen Zone aus der globalen Zone werden nur Informationen oder Daten verwendet, die in der globalen Zone aus den Paketen erstellt wurden. Weitere Informationen finden Sie in den Manpages pkgparam(1) und pkginfo(4).

Daten aus dem Folgenden werden bei der Installation einer Zone weder referenziert noch kopiert:

Darüber hinaus werden die folgenden Informationstypen, sofern in der globalen Zone vorhanden, nicht in eine zu installierende nicht-globale Zone kopiert:

Wenn das Solaris-Auditing verwendet wird, sind eventuell Änderungen für das Auditing von Dateien erforderlich, die von der globalen Zone aus kopiert werden. Weitere Informationen finden Sie unter Verwenden von Solaris-Auditing in Zonen.

Die folgenden Funktionen können in einer nicht-globalen Zone nicht konfiguriert werden:

Die in der Konfigurationsdatei angegebenen Ressourcen werden hinzugefügt, wenn die Zone vom Status „installed“ in den Status „ready“ übergeht. Das System weist eine eindeutige Zonen-ID zu. Dateisysteme werden eingehängt, Netzwerkschnittstellen eingerichtet und Geräte konfiguriert. Der Übergang in den Status „ready“ bereitet die virtuelle Plattform darauf vor, mit der Ausführung von Benutzerprozessen zu beginnen. Im Status „ready“ werden die Prozesse zsched und zoneadmd gestartet, mit denen die virtuelle Plattform verwaltet wird.

Eine Zone im Status „ready“ enthält noch keine Benutzerprozesse, die in der Zone ausgeführt werden. Der wesentliche Unterschied zwischen einer Zone im Status „ready“ und einer Zone im Status „running“ besteht darin, dass in einer „running“ Zone mindestens einen Prozess ausgeführt wird. Weitere Informationen finden Sie in der Manpage init(1M).

Der Daemon zoneadmd

Der Zonen-Administrationsdaemon zoneadmd ist der wichtigste Prozess zur Verwaltung der virtuellen Plattform einer Zone. Darüber hinaus ist der Daemon für das Booten und Herunterfahren einer Zone verantwortlich. Es wird nur ein zoneadmd-Prozess für jede aktive Zone („ready“, „running“ oder “shutting down“) auf einem System ausgeführt.

Der zoneadmd-Daemon richtet eine Zone gemäß der Zonenkonfiguration ein. Dieser Prozess umfasst die folgenden Aktionen:

Falls der zoneadmd-Daemon noch nicht ausgeführt wird, wird er automatisch von zoneadm gestartet. Sollte der Daemon aus bestimmten Gründen noch nicht ausgeführt werden, startet jeder Aufruf von zoneadm zum Verwalten der Zone zoneadmd neu.

Die Manpage für den zoneadmd-Daemon ist zoneadmd(1M).

Der Zonen-Scheduler zsched

Eine aktive Zone ist eine Zone, die sich im Status „ready“, „running“ oder „shutting down“ befindet. Jede aktive Zone hat einen zugehörigen Kernel-Prozess, zsched. Kernel-Threads arbeiten im Auftrag der Zone, die das Eigentum von zsched ist. Der zsched-Prozess ermöglicht es dem Untersystem der Zonen, die Kernel-Threads für jede Zone zu verfolgen.

Anwendungsumgebung einer Zone

Die Anwendungsumgebung einer Zone wird mit dem Befehl zoneadm erstellt.

Bevor eine nicht-globale Zone das erste Mal gebootet wird, muss die interne Konfiguration der Zone erstellt worden sein. Die interne Konfiguration gibt den zu verwendende Namen-Service, das standardmäßige Gebietsschema sowie die Zeitzone, das Root-Passwort der Zone und weitere Aspekte der Anwendungsumgebung an. Die Anwendungsumgebung wird hergestellt, indem verschiedene, auf der Zonenkonsole angezeigte Eingabeaufforderungen beantwortet werden. Eine Beschreibung dieses Vorgangs finden Sie unter Interne Zonenkonfiguration. Beachten Sie, dass das standardmäßige Gebietsschema sowie die Zeitzone einer Zone auch unabhängig der globalen Einstellungen konfiguriert werden können.

Allgemeine Informationen zum Anhalten, Neustarten und Deinstallieren von Zonen

In diesem Abschnitt finden Sie eine Übersicht der Verfahren zum Anhalten, Neustarten und Deinstallieren von Zonen. Darüber hinaus finden Sie Tipps zur Fehlersuche bei Zonen, die nicht auf Anforderung anhalten.

Anhalten einer Zone

Mit dem Befehl zoneadm halt werden sowohl die Anwendungsumgebung als auch die virtuelle Plattform einer Zone entfernt. Die Zone wird daraufhin in den Status „installed“ zurückversetzt. Alle Prozesse werden abgebrochen, die Konfiguration von Geräten wird aufgehoben, Netzwerkschnittstellen werden zerstört, Dateisysteme ausgehängt und Kernel-Datenstrukturen aufgehoben.

Der Befehl halt führt keine Skripten zum Herunterfahren innerhalb der Zone aus. Wie eine Zone heruntergefahren wird, können Sie unter So verwenden Sie den Befehl zlogin zum Herunterfahren einer Zone nachlesen.

Wenn das Anhalten fehlschlägt, lesen Sie Zone lässt sich nicht anhalten.

Neustarten einer Zone

Mit dem Befehl zoneadm reboot wird eine Zone neu gestartet. Die Zone wird angehalten und dann erneut gebootet. Beim Neustart einer Zone wird die Zonen-ID geändert.

Solaris 10 8/07: Boot-Argumente in einer Zone

Zonen unterstützten die folgenden Boot-Argumente, die mit den Befehlen zoneadm boot und reboot aufgerufen werden:

Es gelten die folgenden Definitionen:

-i altinit

Wählt eine alternative ausführbare Datei als ersten Prozess. altinit muss ein gültiger Pfad zu einer ausführbaren Datei sein. Der standardmäßige erste Prozess ist in der Manpage init(1M) beschrieben.

-m smf-Optionen

Steuert das Boot-Verhalten von SMF. Es gibt zwei Kategorien von Optionen: Wiederherstellungsoptionen und Meldungsoptionen. Meldungsoptionen legen den Typ und die Anzahl der Meldungen fest, die während des Bootvorgangs angezeigt werden. Service-Optionen legen die Services fest, die während des Booten des Systems verwendet werden.

Die Wiederherstellungsoptionen umfassen:

debug

Druckt eine standardmäßige Ausgabe pro Service und alle svc.startd-Nachrichten in ein Protokoll.

milestone=Meilenstein

Bootet bis zu dem von einem bestimmten Meilenstein definierten Subgraph. Gültige Meilensteine sind none, single-user, multi-user, multi-user-server und all.

Die Meldungsoptionen umfassen:

quiet

Druckt eine standardmäßige Ausgabe pro Service sowie Fehlermeldungen, die administratives Eingreifen erfordern

verbose

Bedruckt eine standardmäßige Ausgabe pro Service sowie Meldungen, die weiterführende Informationen enthalten.

-s

Bootet nur bis zum Meilenstein svc:/milestone/single-user:default . Dieser Meilenstein entspricht der init-Ebene s.

Anwendungsbeispiele finden Sie unter So booten Sie eine Zone und So booten Sie eine Zone im Einzelbenutzermodus.

Weitere Informationen zur Solaris Service Management Facility (SMF) und zu init finden Sie in Kapitel 18, Managing Services (Overview) in System Administration Guide: Basic Administration, svc.startd(1M) und in·init(1M).

Zone autoboot

Wenn Sie die Ressourceneigenschaft autoboot in einer Zonenkonfiguration auf true setzen, wird die Zone bei einem Neustart der globalen Zone automatisch gebootet. Die Standardeinstellung ist false.

Beachten Sie, dass auch der Zonenservice svc:/system/zones:default aktiviert sein muss, damit Zonen automatisch gebootet werden können.

Deinstallieren einer Zone

Mit dem Befehl zoneadm uninstall werden alle Dateien aus dem Root-Dateisystem der Zone gelöscht. Vor dem Fortsetzen werden Sie vom Befehl zur Bestätigung der Aktion aufgefordert, es sei denn, die Option -F (Erzwingen) wurde ebenfalls angegeben. Der Befehl uninstall darf nur nach sorgfältiger Überlegung angewendet werden, da die Aktion nicht rückgängig gemacht werden kann.

Solaris 10 11/06 und höher: Allgemeine Informationen zum Klonen von nicht-globalen Zonen

Klonen ermöglicht das Kopieren einer bereits auf dem System bestehenden konfigurierten und installierten Zone, um schnell eine neue Zone auf dem gleichen System bereitzustellen. Dabei müssen Sie mindestens die Eigenschaften und Ressourcen der Komponenten zurücksetzen, die bei unterschiedlichen Zonen nicht identisch sein können. Somit muss der zonepath immer geändert werden. Darüber hinaus müssen die IP-Adressen aller Netzwerkressourcen in einer Shared IP-Zone unterschiedlich sein. Bei einer Exclusive IP-Zone muss die physikalische Eigenschaft aller Netzwerkressourcen unterschiedlich sein.

Solaris 10 5/09: Befinden sich der zonepath der Quelle und der zonepath des Ziels auf einem ZFS und im gleichen Pool, so verwendet der Befehl zoneadm clone automatisch die ZFS-Klonfunktion, um die Zone zu klonen. Bei Verwendung der ZFS-Klonfunktion werden die Daten erst kopiert, wenn sie geändert wurden. Daher kann der anfängliche Klon in kürzester Zeit erstellt werden. Der Befehl zoneadm erstellt eine ZFS-Momentaufnahme des zonepath-Quellverzeichnisses und richtet das zonepath-Zielverzeichnis ein. Die Momentaufnahme erhält vom System den Namen SUNWzoneX, wobei X eine eindeutige Zahl ist, die zur Unterscheidung zwischen mehreren Momentaufnahmen dient. Der zonepath der Zielzone wird zur Benennung des ZFS-Klons verwendet. Es wird eine Software-Bestandsaufnahme durchgeführt, sodass zukünftig verwendete Momentaufnahmen vom System überprüft werden können. Zum mehrmaligen Klonen einer Quellzone kann festgelegt werden, dass der Befehl zoneadm eine vorhandene Momentaufnahme verwenden soll. Das System überprüft, ob die vorhandene Momentaufnahme für das Ziel verwendet werden kann.

Sie können keine manuellen Momentaufnahmen verwenden, wie sie beispielsweise unter Erstellen und Löschen von ZFS-Snapshots in Oracle Solaris ZFS-Administrationshandbuch beschriebenen werden. Momentaufnahmen dieses Typs enthalten nicht genügend Daten zum Durchführen einer Validierung.

Möglicherweise möchten Sie eine Quellzone mehrmals klonen, jedoch keine neue Momentaufnahme für jeden Klon speichern. Mit dem Parameter -s des Unterbefehls clone können Sie festlegen, dass eine vorhandene Momentaufnahme eines zuvor erstellten Klons verwendet wird. Weitere Informationen finden Sie unter Solaris 10 5/09: So klonen Sie eine Zone anhand einer bestehenden Momentaufnahme.

Eine Momentaufnahme stellt eine Zone an einem Zeitpunkt in der Vergangenheit dar. Das System kann daher aktualisiert worden sein, beispielsweise durch Patches oder Upgrades, die nach der Erstellung der Momentaufnahme angewendet wurden. Wenn die Zone aktualisiert wurde, kann die Momentaufnahme möglicherweise nicht mehr als Zone auf einem aktuellen System verwendet werden.


Hinweis –

Sie können angeben, dass der ZFS-zonepath kopiert und nicht mit der ZFS-Funktion geklont wird, auch wenn das Klonen der Quelle auf diese Weise möglich ist.


Weitere Informationen finden Sie unter Solaris 10 11/06: Klonen einer nicht-globalen Zone im gleichen System.