In diesem Teil wird die Partitionierungssoftware Solaris Zones vorgestellt. Solaris Zones stellt virtuelle Betriebssystemservices bereit, mit denen Sie voneinander getrennte Umgebungen erzeugen können, um Anwendungen isoliert auszuführen. Durch diese Isolation wird verhindert, dass Prozesse in einer Zone Prozesse in anderen Zonen überwachen oder beeinflussen.
Die Solaris Zones im Betriebssystem Solaris bieten eine isolierte Umgebung, in der Anwendungen auf einem System ausgeführt werden können. Solaris Zones sind eine Komponente der Solaris Container-Umgebung.
In diesem Kapitel werden die folgenden Themen behandelt:
Wenn Sie direkt mit dem Erstellen von Zonen auf einem System beginnen möchten, lesen Sie Kapitel 17Einführung in die Konfiguration einer nicht-globalen Zone.
Die Partitionierungstechnologie Solaris Zones dient zum Virtualisieren von Betriebssystemservices und bietet eine isolierte und sichere Umgebung zum Ausführen von Anwendungen. Eine Zone ist eine virtuelle Betriebssystemumgebung, die in einer Instanz des Betriebssystems Solaris erstellt wird. Durch das Erstellen einer Zone produzieren Sie eine Ausführungsumgebung für Anwendungen, in der Prozesse vom restlichen System isoliert sind. Diese Isolation verhindert, dass Prozesse in einer Zone Prozesse in anderen Zonen überwachen oder beeinflussen. Selbst ein Prozess, der mit Berechtigungen eines Superuser ausgeführt wird, kann Aktivitäten in anderen Zonen weder anzeigen noch beeinflussen.
Darüber hinaus bietet eine Zone eine abstrakte Schicht, die Anwendungen von den physikalischen Attributen des Computers trennt, auf dem sie installiert sind. Ein Beispiel für diese Attribute sind physikalische Gerätepfade.
Zonen können auf allen Computern verwendet werden, auf denen mindestens das Solaris-Release 10 ausgeführt wird. Maximal können 8192 Zonen auf einem System angelegt werden. Die Anzahl der Zonen, die effektiv auf einem System verwaltet werden können, wird allerdings durch die gesamten Ressourcenanforderungen der Anwendungen festgelegt, die in diesen Zonen ausgeführt werden.
In Solaris 10 gibt es zwei Arten von Root-Dateisystemmodellen in einer nicht-globalen Zone: Sparse Root Zone und Whole Root Zone. Das Modell Sparse Root Zone optimiert das gemeinsame Nutzen von Objekten. Das Modell Whole Root Zone bietet maximale Konfigurierbarkeit. Diese Konzepte werden in Kapitel 18Planen und Konfigurieren von nicht-globalen Zonen (Vorgehen) ausführlich vorgestellt.
Solaris 10 9/10: Installierte Produkte, so genannte Systemressourcen, werden durch eine automatische Registrierungsfunktion überwacht. Während der Installation gibt der Benutzer Berechtigungsdaten ein oder meldet sich als anonymer Benutzer an. Beim Neustart des Systems werden Service-Tags für die neuen Produkte auf den My Oracle Support-Server hochgeladen. Dies funktioniert nur in der globalen Zone. Weitere Informationen finden Sie unter System Administration Guide: Basic Administration .
Branded Zones (BrandZ) stellen das Framework zum Erstellen von Containern, die alternative Sets verschiedener Laufzeitverhalten beinhalten, zur Verfügung. Brand kann sich auf zahlreiche unterschiedliche Betriebsumgebungen beziehen. Zum Beispiel kann die nicht-globale Zone das Betriebssystem Solaris 8 oder eine Betriebsumgebung wie Linux emulieren.
Das Brand definiert die Betriebsumgebung, die in der Zone installiert werden kann, und legt fest, wie sich das System innerhalb der Zone verhält, damit die in der Zone installierte Software ordnungsgemäß funktioniert. Darüber hinaus dient das Brand einer Zone zur korrekten Identifikation des Anwendungstyps beim Start der Anwendung. Die gesamte Verwaltung von Branded Zones wird durch Erweiterungen der Standard-Befehle für Zonen ausgeführt. Die meisten Verwaltungsvorgänge sind für alle Zonen gleich.
Folgende zwei Brands werden auf SPARC-Computern unterstützt, die das Betriebssystem Solaris 10 8/07 oder eine neuere Version von Solaris 10 ausführen:
Das solaris8-Brand, Solaris 8 Container, dokumentiert im System Administration Guide: Solaris 8 Containers
Das solaris9-Brand, Solaris 9 Container, dokumentiert im System Administration Guide: Solaris 9 Containers
Weitere vom Betriebssystem Solaris 10 unterstützte Brands sind unter anderem:
Das Linux lx-Brand für x86- und x64-Systeme, dokumentiert in Teil III, lx Branded Zones
Das cluster-Brand, dokumentiert in der Sun Cluster 3.2 1/09 Software Collection for Solaris OS auf docs.sun.com
Obwohl Sie Branded Zones auf einem Trusted Solaris-System mit aktivierten Labels konfigurieren und installieren können, ist das Booten von Branded Zones bei dieser Systemkonfiguration nicht möglich.
Zonen eignen sich besonders für Umgebungen, die zahlreiche Anwendungen auf einem Server zusammenlegen. Die Kosten und Komplexität der Verwaltung von Computern machen die Konsolidierung von mehreren Anwendungen auf großen, besser skalierbaren Servern zu einem aufwändigen Abenteuer.
Die folgende Abbildung zeigt ein System mit vier Zonen. Jede der Zonen apps, users und work führt eine Arbeitslast in einer konsolidierten Beispielumgebung aus. Dabei werden die einzelnen Arbeitslasten nicht von den Arbeitslasten der anderen Zonen beeinflusst. Das Beispiel zeigt, dass verschiedene Versionen der gleichen Anwendung ohne negative Auswirkungen in unterschiedlichen Zonen ausgeführt werden können, um die Anforderungen an die Konsolidierung zu erfüllen. Jede Zone kann eine benutzerdefinierte Gruppe von Diensten zur Verfügung stellen.
Zonen ermöglichen eine effektivere Ressourcenauslastung auf einem System. Mit der dynamischen Neuzuordnung von Ressourcen ist es möglich, nicht verwendete Ressourcen in andere Containern zu verschieben. Fehler- und Sicherheitsisolation bedeutet, dass schlecht programmierte Anwendungen kein dediziertes und zu gering ausgelastetes System erfordern. Mithilfe von Zonen können diese Anwendungen mit anderen Anwendungen zusammengelegt werden.
Zonen ermöglichen Ihnen das Delegieren bestimmter administrativer Funktionen, während die gesamte Systemsicherheit aufrechterhalten bleibt.
Man kann sich eine nicht-globale Zone als einen Kasten vorstellen. In diesem Kasten können eine oder mehrere Anwendungen ausgeführt werden, ohne dass sie sich auf das restliche System auswirken. Solaris Zones isolieren Softwareanwendungen und Services mit flexiblen, softwaredefinierten Grenzen. Anwendungen, die in der gleichen Instanz des Betriebssystem Solaris ausgeführt werden, können unabhängig von anderen Anwendungen verwaltet werden. Daher können verschiedene Versionen der gleichen Anwendung in unterschiedlichen Zonen ausgeführt werden können, um die Anforderungen der Konfiguration zu erfüllen.
Ein Prozess, der einer Zone zugewiesen ist, kann andere Prozesse in dieser Zone manipulieren, überwachen oder direkt mit ihnen kommunizieren. Der Prozess kann diese Funktionen nicht an Prozessen durchführen, die anderen Zonen oder keinen Zonen des Systems zugewiesen sind. Prozesse, die verschiedenen Zonen zugewiesen sind, können nur über die Netzwerk-APIs miteinander kommunizieren.
Ab Solaris 10 8/07 können IP-Netzverbindungen auf zwei verschiedene Arten konfiguriert werden. Die gewählte Art hängt davon ab, ob die Zone über eigene Exclusive IP-Instanzen verfügt oder die IP-Schicht-Konfiguration und den Status der globalen Zone teilt. Weitere Informationen zu IP-Typen in Zonen finden Sie unter Netzwerkschnittstellen der Zone. Informationen zur Konfiguration finden Sie unter So konfigurieren Sie die Zone.
Jedes Solaris-System enthält eine globale Zone. Die globale Zone hat zwei Funktionen. Die globale Zone gilt sowohl als Standardzone des Systems als auch als Zone für die systemweite Administrationssteuerung. Wenn keine nicht-globalen Zonen, vereinfacht auch als „Zonen“ bezeichnet, vom globalen Administrator erstellt wurden, werden alle Prozesse in der globalen Zone ausgeführt.
Die globale Zone ist die einzige Zone, von der aus eine nicht-globale Zone konfiguriert, installiert, verwaltet oder deinstalliert werden kann. Nur die globale Zone kann von der System-Hardware gebootet werden. Die Verwaltung der System-Infrastruktur, z. B. der reellen Geräte, des Routing in einer Shared-IP-Zone oder der dynamische Rekonfiguration (DR), ist nur in der globalen Zone möglich. Entsprechend privilegierte Prozesse, die in der globalen Zone ausgeführt werden, können auf Objekte zugreifen, die anderen Zonen zugewiesen sind.
Nichtberechtigte Prozesse in der globalen Zone können eventuell Vorgänge ausführen, die berechtigten Prozessen in einer nicht-globalen Zone nicht gestattet sind. Beispielsweise können Benutzer in der globalen Zone Informationen zu jedem Prozess auf dem System anzeigen. Wenn diese Fähigkeit ein Sicherheitsproblem an Ihrem Standort darstellt, können Sie den Zugriff auf die globale Zone einschränken.
Jeder Zone, einschließlich der globalen Zone, ist ein Zonenname zugewiesen. Die globale Zone heißt immer global. Jede Zone erhält außerdem einen einmaligen numerischen Bezeichner, der beim Booten der Zone vom System zugewiesen wird. Die globale Zone erhält immer die ID 0. Zonennamen und numerische IDs sind unter Verwenden des Befehls zonecfg beschrieben.
Weiterhin verfügt jede Zone über einen vom Zonennamen vollständig unabhängigen Knotennamen. Der Knotenname wird der Zone vom Administrator zugewiesen. Weitere Informationen finden Sie unter Knotennamen in nicht-globalen Zonen.
Jede Zone verfügt über einen Root-Verzeichnispfad, der relativ zum Root-Verzeichnis der globalen Zone angegeben ist. Weitere Informationen finden Sie unter Verwenden des Befehls zonecfg.
Die Scheduling-Klasse einer nicht-globalen Zone wird standardmäßig auf die Scheduling-Klasse des Systems gesetzt. Eine Abhandlung der Methoden zum Setzen der Scheduling-Klasse in einer Zone finden Sie unter Scheduling-Klasse in einer Zone.
Mit dem in der Manpage priocntl(1) beschriebenen Befehl priocntl können Sie laufende Prozesse in eine andere Scheduling-Klasse verschieben, ohne dass die standardmäßige Scheduling-Klasse geändert oder das System neu gebootet werden muss.
In der folgenden Tabelle werden die Eigenschaften der globalen Zone und der nicht-globalen Zonen zusammengefasst.
Ein globaler Administrator verfügt über die Berechtigungen eines Superusers oder die betriebliche Funktion (Rolle) eines „Primary Administrators“. Ein korrekt bei einer globalen Zone angemeldeter globaler Administrator kann das gesamte System überwachen und steuern.
Eine nicht-globale Zone kann von einem Zonenadministrator verwaltet werden. Ein globaler Administrator weist dem Zonenadministrator das Profil „Zone Management“ zu. Die Berechtigungen eines Zonenadministrators sind auf eine nicht-globale Zone begrenzt.
Eine Zone wird vom globalen Administrator mit dem Befehl zonecfg und dem Einstellen verschiedener Parameter für die virtuelle Plattform und Anwendungsumgebung der Zone konfiguriert. Die Zone wird dann vom globalen Administrator installiert, der mit dem Befehl zoneadm Software auf der Paketschicht in der Dateisystemhierarchie installiert, die für die Zone eingerichtet wurde. Der globale Administrator kann sich mit dem Befehl zlogin bei der installierten Zone anmelden. Mit dem ersten Anmelden wird die interne Konfiguration einer Zone abgeschlossen. Dann wird der Befehl zoneadm zum Booten der Zonen verwendet.
Informationen zur Zonenkonfiguration finden Sie in Kapitel 17Einführung in die Konfiguration einer nicht-globalen Zone. Informationen zur Zoneninstallation finden Sie in Kapitel 19Einführung in das Installieren, Anhalten, Klonen und Deinstallieren von nicht-globalen Zonen. Informationen zum Anmelden bei einer Zone finden Sie in Kapitel 21Einführung in das Anmeldeverfahren bei einer nicht-globalen Zone .
Eine nicht-globale Zone kann einen der folgenden sechs Status annehmen:
Die Konfiguration einer Zone ist abgeschlossen. Sie wird zur stabilen Speicherung übernommen. Jedoch sind noch keine Elemente der Anwendungsumgebung einer Zone vorhanden, die nach dem ersten Booten angegeben werden müssen.
Während eines Installations- oder Deinstallationsvorgangs setzt zoneadm den Status der Zielzone auf „incomplete“. Nach dem erfolgreichen Abschluss des Vorgangs wird der Status korrigiert.
Die Konfiguration der Zone wird auf dem System instanziiert. Mit dem Befehl zoneadm kann überprüft werden, ob die Konfiguration erfolgreich auf dem zugewiesenen Solaris-System eingesetzt werden kann. Pakete werden unter dem Root-Pfad in der Zone installiert. In diesem Status verfügt die Zone über keine zugewiesene virtuelle Plattform.
Die virtuelle Plattform der Zone wird eingerichtet. Der Kernel erstellt den Prozess zsched, Netzwerkschnittstellen werden eingerichtet und für die Zone verfügbar gemacht, Dateisysteme werden eingehängt und Geräte konfiguriert. Das System weist eine eindeutige Zonen-ID zu. Zu diesem Zeitpunkt wurden noch keine der Prozesse gestartet, die der Zone zugewiesen sind.
Benutzerprozesse, die der Zonen-Anwendungsumgebung zugewiesen sind, werden ausgeführt. Die Zone tritt in den Status „running“ über, sobald der erste der Anwendungsumgebung zugewiesene Benutzerprozess (init) erstellt wird.
Diese Status sind Übergangszustände, die sichtbar sind, während eine Zone angehalten ist. Eine Zone, die aus beliebigen Gründen nicht heruntergefahren werden kann, stoppt in einem dieser Status.
Kapitel 20Installieren, Booten, Anhalten, Deinstallieren und Klonen von nicht-globalen Zonen (Vorgehen) und in die Manpage zoneadm(1M) enthalten Beschreibungen, wie der Befehl zoneadm eingesetzt werden kann, um Übergänge zwischen diesen Status einzuleiten.
Tabelle 16–1 Befehle, die sich auf den Zonenstatus auswirken
Aktueller Zonenstatus |
Anwendbare Befehle |
---|---|
Configured |
zonecfg -z Zonenname verify zonecfg -z Zonenname commit zonecfg -z Zonenname delete zoneadm -z Zonenname attach zoneadm -z Zonenname verify zoneadm -z Zonenname install zoneadm -z Zonenname clone Sie können den Befehl zonecfg auch zum Umbenennen einer Zone verwenden, die sich im Status „configured“ oder „installed“ befindet. |
Incomplete |
zoneadm -z Zonenname uninstall |
Installed |
zoneadm -z Zonenname ready (optional) zoneadm -z Zonenname boot zoneadm -z Zonenname uninstall deinstalliert die Konfiguration der angegebenen Zone vom System. zoneadm -z Zonenname move Pfad zoneadm -z Zonenname detach zonecfg -z Zonenname kann zum Hinzufügen oder Entfernen einer der folgenden Eigenschaften verwendet werden: attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl oder scheduling-class. Sie können auch eine Zone umbenennen, die sich im Status „installed“ befindet. Die inherit-pkg-dir-Ressourcen können nicht geändert werden. |
Ready |
zoneadm -z Zonenname boot zoneadm halt und ein Neustart des Systems setzt eine Zone vom Status „ready“ in den Status „installed“ zurück. zonecfg -z Zonenname kann zum Hinzufügen oder Entfernen einer der folgenden Eigenschaften verwendet werden: attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl oder scheduling-class. Die inherit-pkg-dir-Ressourcen können nicht geändert werden. |
Running |
zlogin Optionen zonename zoneadm -z Zonennname reboot zoneadm -z Zonennname halt setzt eine Zone aus dem Status „ready“ in den Status „installed“ zurück. zoneadm halt und ein Neustart des Systems setzt eine Zone vom Status „running“ in den Status „installed“ zurück. zonecfg -z Zonenname kann zum Hinzufügen oder Entfernen einer der folgenden Eigenschaften verwendet werden: attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl oder scheduling-class. Die Ressourcen zonepath und inherit-pkg-dir können nicht geändert werden. |
Parameteränderungen über zonecfg wirken sich nicht auf eine laufende Zone aus. Die Zone muss neugestartet werden, damit Änderungen übernommen werden.
Eine Zone bietet eine Isolierung in nahezu jedem von Ihnen gewünschten Maß. Zonen benötigen keine eigens für sie zuständigen CPUs, realen Geräte oder Bereiche des realen Hauptspeichers. Diese Ressourcen können entweder über mehrere Zonen multiplexiert werden, die innerhalb einer einzelnen Domäne oder eines einzelnen Systems ausgeführt werden, oder mit den Funktionen der Ressourcenverwaltung auf Zonenbasis zugewiesen werden.
Jede Zone kann eine benutzerdefinierte Gruppe von Diensten zur Verfügung stellen. Um eine grundlegende Prozessisolierung durchzusetzen, kann ein Prozess nur die in der gleichen Zone existierenden Prozesse sehen bzw. mit ihnen kommunizieren. Die allgemeine Kommunikation zwischen den Zonen wird dadurch erreicht, dass jeder Zone eine IP-Netzwerkkonnektivität zugewiesen wird. Für eine Anwendung, die in einer Zone ausgeführt wird, ist der Netzwerkverkehr einer anderen Zone nicht sichtbar. Diese Isolierung ist gegeben, obwohl die jeweiligen Datenpaketströme über dieselbe physische Schnittstelle übertragen werden.
Jede Zone erhält einen Anteil der Dateisystemhierarchie. Da jede Zone auf ihren eigenen Teilstrang in der Dateisystemhierarchie begrenzt ist, kann ein Vorgang in einer bestimmten Zone nicht auf die Festplattendaten eines anderen Vorgangs in einer anderen Zone zugreifen.
Dateien, die von Namen-Services verwendet werden, befinden sich in der einer Zone eigenen Root-Dateisystemansicht. Damit sind Namen-Services in unterschiedlichen Zonen voneinander isoliert, und die Services können unabhängig voneinander konfiguriert werden.
Wenn Sie die Funktionen der Ressourcenverwaltung verwenden, müssen Sie die Grenzen der Resource Controls der Ressourcenverwaltung mit denen der Zonen abstimmen. Diese Anpassung erstellt ein ausgereifteres Modell eines virtuellen Computers, bei dem Zugriff auf Namespace, Sicherheitsisolierung und Ressourcennutzung gesteuert werden.
Alle besonderen Anforderungen für das Anwenden einzelner Funktionen der Ressourcenverwaltung an Zonen sind in den entsprechenden Kapiteln dieses Handbuchs beschrieben.
Nicht-globale Zonen bieten die folgenden Funktionen:
Sobald ein Prozess in einer anderen als der globalen Zone platziert wurde, kann weder dieser Prozess noch einer seiner Unterprozesse Änderungen an den Zonen vornehmen.
Netzwerkservice können in einer Zone ausgeführt werden. Indem Sie Netzwerkservice in einer Zone ausführen, beschränken Sie den im Fall einer Sicherheitsverletzung möglichen Schaden. Ein Eindringling, der eine Sicherheitslücke einer Software, die in einer Zone ausgeführt wird, erfolgreich nutzt, ist auf Aktionen beschränkt, die innerhalb dieser Zone ausgeführt werden können. Die innerhalb einer Zone verfügbaren Berechtigungen umfassen nur einen Teil der Berechtigungen, die im gesamten System zur Verfügung stehen.
Mit Zonen können mehrere Anwendungen auf dem gleichen Computer bereitgestellt werden, auch wenn diese Anwendungen in unterschiedlichen vertrauenswürdigen Domänen ausgeführt werden, exklusiven Zugriff auf eine globale Ressource erfordern oder zu Problemen mit globalen Konfigurationen führen. Beispielsweise können mehrere Anwendungen, die in unterschiedlichen Shared IP-Zonen auf dem gleichen System ausgeführt werden, an den gleichen Netzwerkanschluss gebunden sein, indem unterschiedliche, jeder Zone individuell zugewiesene IP-Adressen oder eine Stellvertreteradressen verwendet werden. Außerdem wird verhindert, dass die Anwendungen den Netzwerkverkehr, die Dateisystemdaten oder die Prozessaktivität anderer Anwendungen überwachen oder abfangen.
Wenn eine Zone auf der IP-Schicht eines Netzwerks isoliert werden muss, beispielsweise indem es mit anderen VLANs oder anderen LANs als der globalen Zone oder anderen nicht-globalen Zonen verbunden wird, kann die Zone aus Sicherheitsgründen zu einer Exklusive IP-Zone werden. Die exklusive IP-Zone kann zur Konsolidierung von Anwendungen eingesetzt werden, die mit verschiedenen Teilnetzen auf unterschiedlichen VLANs oder LANs kommunizieren müssen.
Zonen können auch als Shared IP-Zonen konfiguriert werden. Diese Zonen stellen eine Verbindung mit den gleichen VLANs bzw. LANs wie die globale Zone her und nutzen die IP-Routingkonfiguration gemeinsam mit der globalen Zone. Shared IP-Zonen verfügen über separate IP-Adressen, nutzen aber andere Teile des IP gemeinsam.
Zonen bieten eine virtualisierte Umgebung, die Details wie z. B. die reellen Geräte, die primäre IP-Adresse des Systems sowie den Hostnamen vor Anwendungen verbergen können. Die gleiche Anwendungsumgebung kann für mehrere reelle Computer verwendet werden. Diese virtualisierte Umgebung ermöglicht eine getrennte Verwaltung jeder Zone. Aktionen, die ein Zonenadministrator in einer nicht-globalen Zone ausführt, wirken sich nicht auf das restliche System aus.
Eine Zone kann in nahezu jedem gewünschten Maß isoliert werden. Weitere Informationen finden Sie unter Eigenschaften nicht-globaler Zonen.
Zonen ändern nicht die Umgebung, in der Anwendungen ausgeführt werden, es sei denn, dies ist zum Erreichen der Sicherheits- und Isolationsziele erforderlich. Zonen stellen keine neue API oder ABI dar, auf die Anwendungen portiert werden müssen. Stattdessen bieten Zonen die standardmäßigen Solaris-Schnittstellen und Anwendungsumgebungen (mit einigen Einschränkungen). Die Einschränkungen betreffen im Wesentlichen Anwendungen, die versuchen, privilegierte Vorgänge auszuführen.
Anwendungen in der globalen Zone werden unverändert ausgeführt, unabhängig davon, ob zusätzliche Zonen konfiguriert sind oder nicht.
Die folgende Tabelle enthält eine allgemeine Übersicht aller Schritte, die zum ersten Einrichten von Zonen auf einem System ausgeführt werden müssen.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Identifizieren der Anwendungen, die in Zonen ausgeführt werden sollen. |
Überprüfen der auf dem System ausgeführten Anwendungen:
|
Lesen Sie ggf. Ihre unternehmerischen Ziele und Ihre Systemdokumentation. |
Ermitteln der Anzahl der zu konfigurierenden Zonen. |
Analysieren Sie:
|
Lesen Sie dazu Bewerten des aktuellen System-Setups. |
Prüfen Sie, ob Resource Pools mit der Zone verwendet werden müssen, um einen Container zu erstellen. |
Wenn Sie auch Funktionen der Ressourcenverwaltung auf dem System verwenden, müssen Sie die Zonen an die Grenzen der Ressourcenverwaltung anpassen. Konfigurieren Sie Resource Pools, bevor Sie Zonen konfigurieren. Ab dem Solaris-Release 10 8/7 können Sie mit den Eigenschaften von zonecfg schnell zonenweite Resource Controls und Pool-Funktionen zu einer Zone hinzufügen. |
Lesen Sie dazu So konfigurieren Sie die Zone undKapitel 13Erstellen und Verwalten von Resource Pools (Vorgehen). |
Durchführen der Schritte zur Vorkonfiguration. |
Festlegen von Zonenname und Zonenpfad. Festlegen, ob eine Zone eine Shared IP-Zone oder eine Exclusive IP-Zone ist, und beziehen der IP-Adressen oder des Data-Link-Namens. Festlegen der erforderlichen Dateisysteme und Geräte für jede Zone. Festlegen der Scheduling-Klasse der Zone. Festlegen des Berechtigungssets, auf den Prozesse innerhalb der Zone beschränkt sein sollen, falls die Standardberechtigungen nicht ausreichen. Bitte beachten Sie, dass einige zonecfg-Einstellungen automatisch Zugriffsrechte hinzufügen. So fügt ip-type=exclusive beispielsweise automatisch mehrere Zugriffsrechte hinzu, die zum Konfigurieren und Verwalten von Netzwerk-Stacks erforderlich sind. |
Informationen zu Zonennamen und -pfad, IP-Typen, IP-Adressen, Dateisystemen, Geräten, Scheduling-Klasse und Berechtigungen finden Sie in Kapitel 17Einführung in die Konfiguration einer nicht-globalen Zone und unter Bewerten des aktuellen System-Setups. Eine Liste der Standardberechtigungen und anderer Berechtigungen, die in einer nicht-globalen Zone konfiguriert werden können, finden Sie unter Berechtigungen in einer nicht-globalen Zone. Informationen zur Verfügbarkeit der IP-Funktionen finden Sie unter Netzwerkverbindungen in nicht-globalen Shared IP-Zonen und unter Solaris 10 8/07: Netzwerkverbindungen in nicht-globalen Exclusive IP-Zonen. |
Entwickeln von Konfigurationen. |
Konfigurieren der nicht-globalen Zonen. |
Weitere Informationen finden Sie unter Konfigurieren, Prüfen und Übernehmen einer Zone und in der Manpage zonecfg(1M). |
Überprüfen und Installieren der konfigurierten Zonen (als globaler Administrator). |
Zonen müssen vor dem Anmelden überprüft und installiert werden. |
Lesen Sie dazu Kapitel 19Einführung in das Installieren, Anhalten, Klonen und Deinstallieren von nicht-globalen Zonen und Kapitel 20Installieren, Booten, Anhalten, Deinstallieren und Klonen von nicht-globalen Zonen (Vorgehen). |
Anmelden bei jeder nicht-globalen Zone mit dem Befehl zlogin und der Option -C oder Speichern einer sysidcfg-Datei in dem Verzeichnis /etc der Zone (als globaler Administrator). |
|
Lesen Sie dazu Kapitel 21Einführung in das Anmeldeverfahren bei einer nicht-globalen Zone und Kapitel 22Anmelden bei nicht-globalen Zonen (Vorgehen). |
Booten der nicht-globalen Zone (als globaler Administrator). |
Booten jeder Zone, um sie in den Status „running“ zu überführen. |
Lesen Sie dazu Kapitel 19Einführung in das Installieren, Anhalten, Klonen und Deinstallieren von nicht-globalen Zonen und Kapitel 20Installieren, Booten, Anhalten, Deinstallieren und Klonen von nicht-globalen Zonen (Vorgehen). |
Vorbereiten der neuen Zone für den Einsatz in der Produktion. |
Erstellen von Benutzerkonten, Hinzufügen von zusätzlicher Software und Anpassen der Zonenkonfiguration. |
Lesen Sie die Dokumentation zum Einrichten eines neu installierten Computers. In diesem Handbuch sind besondere Überlegungen für die Zonenumgebung beschrieben. |
In diesem Kapitel wird die Konfiguration einer nicht-globalen Zone beschrieben.
In diesem Kapitel werden folgende Themen behandelt:
Nach einer Einführung in die allgemeine Zonenkonfiguration können Sie zu Kapitel 18Planen und Konfigurieren von nicht-globalen Zonen (Vorgehen) übergehen, um die auf dem System zur installierenden nicht-globalen Zonen zu konfigurieren.
Informationen zur Konfiguration einer lx Branded Zone finden Sie in Kapitel 32Einführung in die Planung der Konfiguration einer lx Branded Zone und Kapitel 33Konfigurieren einer lx Branded Zone (Vorgehen).
Solaris 10 6/06: Unterstützung für das ZFS-Dateisystem, einschließlich der Möglichkeit zum Hinzufügen einer Dataset-Ressource zu einer nativen nicht-globalen Zone, wurde hinzugefügt. Weitere Informationen finden Sie unter Ressourcentypeigenschaften.
Solaris 10 11/06: Unterstützung für konfigurierbare Berechtigungen wurde hinzugefügt. Lesen Sie dazu Solaris 10 11/06 und höher: Konfigurierbare Berechtigungen.
Solaris 10 8/07: Unterstützung für die folgenden Funktionen wurden dem Befehl zonecfg hinzugefügt:
Bessere Integration von Funktionen zur Ressourcenverwaltung und Zonen. Der Befehl zonecfg kann jetzt zum Konfigurieren von temporären Pools, Speicherbeschränkungen, der Scheduling-Klasse der Zone und für Resource Control-Aliases verwendet werden. Es ist nicht mehr erforderlich, alle manuellen Schritte zum Einrichten der Ressourcenverwaltung auszuführen. Neue Resource Controls wurden hinzugefügt:
zone.max-locked-memory
zone.max-msg-ids
zone.max-sem-ids
zone.max-shm-ids
zone.max-shm-memory
zone.max-swap
Möglichkeit, den Befehl zonecfg in der globalen Zone zu verwenden.
Möglichkeit, einen IP-Typ für eine Zone anzugeben. Für nicht-globale Zonen stehen die IP-Typen Shared IP und Exclusive IP zur Verfügung.
Möglichkeit, DTrace in einer Zone zu verwenden. Dazu werden die erforderlichen Berechtigungen über die Eigenschaft limitpriv hinzugefügt.
Möglichkeit, Boot-Argumente über die Eigenschaft bootargs in einer Zone zu verwenden.
Solaris 10 10/08: Die Eigenschaft defrouter wurde zur Ressource net im Dienstprogramm zonecfg für nicht-globale Shared-IP-Zonen hinzugefügt. Mithilfe dieser Eigenschaft können Sie den Standard-Router für eine Netzwerkschnittstelle festlegen.
Eine vollständige Liste der neuen Funktionen in Solaris 10 sowie eine Beschreibung der Solaris-Releases finden Sie in Neuerungen in Oracle Solaris 9 10/10.
Eine Zone, die Funktionen zur Ressourcenverwaltung umfasst, wird als ein Container bezeichnet. In einem Container können u. a. folgende Ressourcen gesteuert werden:
Resource Pools oder zugewiesene CPUs, die zum Partitionieren von Computerressourcen verwendet werden.
Resource Controls, die einen Mechanismus zur Einschränkung der Systemressourcen bieten.
Scheduling-Klassen, mit denen Sie die Zuordnung von verfügbaren CPU-Ressourcen zu den Zonen über relative Shares steuern können. Sie können die Wichtigkeit von Arbeitslasten in einer bestimmten Zone über die Anzahl der Shares an CPU-Ressourcen angeben, die Sie dieser Zone zuweisen.
Bevor eine nicht-globale Zone installiert und auf einem System verwendet werden kann, muss sie konfiguriert werden.
Mit dem Befehl zonecfg erstellen Sie die Konfiguration und überprüfen, ob die angegebenen Ressourcen und Eigenschaften auf einem hypothetischen System gültig sind. Die von zonecfg an einer bestimmten Konfiguration durchgeführte Prüfung stellt Folgendes sicher:
Es wurde ein Zonenpfad angegeben
Für jede Ressource wurden alle erforderlichen Eigenschaften angegeben
Weitere Informationen zum Befehl zonecfg finden Sie in der Manpage zonecfg(1M).
In diesem Abschnitt werden die erforderlichen und optionalen Zonenkomponenten beschrieben, die in eine Konfiguration einbezogen werden können. Weitere Informationen finden Sie unter Konfigurationsdaten in einer Zone.
Sie müssen einen Namen und einen Pfad für die Zone angeben.
Mit einer Einstellung für die Eigenschaft autoboot können Sie festlegen, ob eine Zone bei einem Neustart der globalen Zone automatisch gebootet wird. Der Zones-Service svc:/system/zones:default muss ebenfalls aktiviert werden.
Wenn, wie in Kapitel 13Erstellen und Verwalten von Resource Pools (Vorgehen) beschrieben, Resource Pools auf dem System konfiguriert sind, können Sie die Eigenschaft pool beim Konfigurieren der Zone verwenden, um die Zone zu einem der Resource Pools zuzuordnen.
Ab dem Solaris-Release 10 8/07 können Sie mit der Ressource dedicated-cpu angeben, dass ein Teil der Systemprozessoren für eine nicht-globale Zone zugewiesen wird. Dies gilt auch dann, wenn keine Ressourcen-Pools konfiguriert wurden. Während der Ausführung der Zone erstellt das System dynamisch einen temporären Pool. Durch die Angaben mithilfe von zonecfg werden die Pool-Einstellungen bei Migrationen übernommen.
Eine Zonenkonfiguration, die ein persistentes, mit der Eigenschaft pool eingerichtetes Pool-Set verwendet, ist nicht mit einem temporären Pool kompatibel, der mit der Ressource dedicated-cpu eingerichtet wurde. Sie können nur eine dieser beiden Eigenschaften einrichten.
Mit der Ressource dedicated-cpu legen Sie fest, dass ein Teil der Systemprozessoren ausschließlich einer nicht-globale Zone zugewiesen wird, solange diese ausgeführt wird. Beim Booten der Zone erstellt das System dynamisch einen temporären Pool, der solange verwendet wird, wie die Zone ausgeführt wird.
Durch die Angaben in zonecfg werden die Pool-Einstellungen bei Migrationen übernommen.
Die Ressource dedicated-cpu legt Grenzwerte für ncpus und optional für importance fest.
Geben Sie die Anzahl der CPUs oder einen Bereich an, z. B. 2–4 CPUs. Wenn Sie einen Bereich angeben, um das Verhalten eines Dynamic Resource Pool umzusetzen, müssen Sie auch Folgendes ausführen:
Richten Sie die Eigenschaft importance ein.
Aktivieren Sie den Service poold. Anweisungen hierzu finden Sie unter Solaris 10 11/06 und höher: So aktivieren Sie die Dynamic Resource Pools mit dem Befehl svcadm.
Wenn Sie einen CPU-Bereich verwenden, um ein dynamisches Verhalten zu implementieren, müssen Sie die Eigenschaft importance einrichten. Die Eigenschaft importance ist optional und definiert die relative Wichtigkeit des Pools. Diese Eigenschaft ist nur dann erforderlich, wenn Sie einen Bereich für ncpus angeben und Dynamic Resource Pools verwenden, die mit poold verwaltet werden. Wenn poold nicht ausgeführt wird, wird importance ignoriert. Wenn poold ausgeführt wird und importance nicht eingestellt ist, nimmt importance automatisch den Standardwert 1 an. Weitere Informationen finden Sie unter pool.importance-Eigenschafteneinschränkung.
Die Ressourcen capped-cpu und dedicated-cpu sind nicht miteinander kompatibel. Die Resource Control cpu-shares und die Ressource dedicated-cpu sind nicht miteinander kompatibel.
Die Ressource capped-cpu gibt einen absoluten, fein abgestimmten Grenzwert für die CPU-Ressourcen an, die von einem Projekt bzw. einer Zone beansprucht werden können. In Verbindung mit Prozessor-Sets beschränken CPU-Ressourcengrenzwerte (CPU-Caps) die CPU-Beanspruchung innerhalb eines Sets. Die Ressource capped-cpu besitzt eine Eigenschaft (ncpus). Diese ist eine positive Dezimalzahl mit Stellen rechts vom Dezimalpunkt. Diese Eigenschaft entspricht CPU-Einheiten. Sie können für diese Eigenschaft keinen Bereich und keine Dezimalzahl größer als 1 angeben. Wenn Sie für ncpus den Wert 1 eingeben, bedeutet dies die Beanspruchung von 100 Prozent der CPU-Ressourcen. Der Wert 1.25 bedeutet 125 Prozent, da 100 Prozent der kompletten Auslastung einer CPU auf dem System entspricht.
Die Ressourcen capped-cpu und dedicated-cpu sind nicht miteinander kompatibel.
Mit dem Fair Share Scheduler (FSS) steuern Sie die Zuordnung von verfügbaren CPU-Ressourcen zwischen den Zonen. Die Zuordnung erfolgt dabei nach der Wichtigkeit der Zonen. Diese Wichtigkeit einer Arbeitslast wird durch die Anzahl der Shares (Anteile) an CPU-Ressourcen ausgedrückt, die Sie jeder Zone zuweisen. Auch wenn Sie FSS nicht zur Verwaltung der CPU-Ressourcenzuordnung zwischen den Zonen einsetzen, können Sie die Scheduling-Klasse der Zone zum Verwenden von FSS einrichten, so dass Sie Shares für die Projekte innerhalb der Zone zuordnen können.
Wenn Sie die Eigenschaft cpu-shares explizit setzen, wird der Fair Share Scheduler (FSS) als Scheduling-Klasse für diese Zone verwendet. Normalerweise wird der FSS mit dem Befehl dispadmin als standardmäßige Scheduling-Klasse eingerichtet. Auf diese Weise erhalten alle Zonen einen gleich großen Anteil der CPU-Ressourcen des Systems. Wenn cpu-shares für eine Zone nicht gesetzt wurde, verwendet die Zone standardmäßig die Scheduling-Klasse des Systems. Die Scheduling-Klasse einer Zone wird mit den folgenden Methoden eingerichtet:
Im Solaris-Release 10 8/07 können die Eigenschaft scheduling-class in zonecfg verwenden, um die Scheduling-Klasse der Zone einzustellen.
Sie können die Scheduling-Klasse für eine Zone mithilfe der Resource-Pools-Funktion einrichten. Wenn die Zone einem Pool zugeordnet ist, deren Eigenschaft pool.scheduler auf eine gültige Scheduling-Klasse gesetzt ist, werden in der Zone laufende Prozesse standardmäßig in dieser Scheduling-Klasse ausgeführt. Lesen Sie dazu Einführung in Resource Pools und So ordnen Sie einen Pool einer Scheduling-Klasse zu.
Wenn die Resource Control cpu-shares gesetzt ist und der FSS nicht über eine andere Aktion als Scheduling-Klasse für die Zone eingerichtet wurde, stellt zoneadmd den FSS beim Booten der Zone als Scheduling-Klasse ein.
Die Zone erbt die standardmäßige Scheduling-Klasse des Systems, sofern sie nicht über eine andere Aktion eingestellt wurde.
Mit dem in der Manpage priocntl(1) beschriebenen Befehl priocntl können Sie laufende Prozesse in eine andere Scheduling-Klasse verschieben, ohne dass die standardmäßige Scheduling-Klasse geändert oder das System neu gebootet werden muss.
Die Ressource capped-memory legt Grenzwerte für den reellen (physical), ausgelagerten (swap) und gesperrten (locked) Speicher fest. Jeder Grenzwert ist optional, es muss aber mindestens ein Grenzwert eingerichtet sein.
Legen Sie Werte für diese Ressource fest, wenn Sie den Speicher für die Zone von der globalen Zone aus mit dem Befehl rcapd begrenzen möchten. Die Eigenschaft physical der Ressource capped-memory wird von rcapd als max-rss-Wert für die Zone verwendet.
Die Resource Control zone.max-swap wird primär über die Eigenschaft swap der Ressource capped-memory eingerichtet.
Die Resource Control zone.max-locked-memory wird primär über die Eigenschaft locked der Ressource capped-memory eingerichtet.
Anwendungen sperren im Allgemeinen keine bedeutenden Speichermengen. Sie können jedoch das Sperren von Speicher einrichten, wenn bekannt ist, dass die Anwendungen der Zone normalerweise Speicher sperren. Wenn die Vertrauenswürdigkeit einer Zone von Bedeutung ist, können Sie die Memory Cap für gesperrten Speicher auch auf 10 Prozent des reellen Speichers des Systems oder auf 10 Prozent der Memory Cap für den reellen Speicher der Zone einschränken.
Weitere Informationen finden Sie in Kapitel 10Einführung in die Steuerung des reellen Arbeitsspeichers mithilfe des Resource Capping Daemons, Kapitel 11Verwalten des Resource Capping Daemons (Vorgehen) und in der Manpage So konfigurieren Sie die Zone. Weitere Informationen zum Festlegen einer temporären Resource Cap für eine Zone finden Sie unter So legen Sie eine temporäre Resource Cap für eine Zone fest.
Mit dem Befehl zonecfg konfigurierte Netzwerkschnittstellen für Zonen sorgen für die Netzwerkverbindungen und werden beim Booten automatisch in einer Zone eingerichtet.
Die Internet Protocol (IP)-Schicht akzeptiert Pakete und liefert sie im Netzwerk aus. Diese Schicht umfasst IP-Routing, das Address Resolution Protocol (ARP), die IP-Sicherheitsarchitektur (IPsec) und IP-Filter.
Für nicht-globale Zonen stehen die IP-Typen Shared IP und Exclusive IP zur Verfügung. In der Shared IP-Zone wird eine Netzwerkschnittstelle gemeinsam genutzt, während die Exclusive IP-Zone muss über eine dedizierte Netzwerkschnittstelle verfügen muss.
Informationen zu den IP-Funktionen jedes Typs finden Sie unter Netzwerkverbindungen in nicht-globalen Shared IP-Zonen und Solaris 10 8/07: Netzwerkverbindungen in nicht-globalen Exclusive IP-Zonen.
Die Shared IP-Zone ist der Standardtyp. Die Zone muss über mindestens eine dedizierte IP-Adresse verfügen. Eine Shared IP-Zone nutzt die Konfiguration und den Status der IP-Schicht gemeinsam mit der globalen Zone. Die Zone muss die Shared IP-Instanz verwenden, wenn die beiden folgenden Bedingungen zutreffen:
Die Zone ist mit dem gleichen Data-Link verbunden, d. h., sie befindet sich im gleichen IP-Teilnetz bzw. in den gleichen Teilnetzen wie die globale Zone.
Sie benötigen keine der Merkmale, die eine Exclusive IP-Zone bietet.
Shared IP-Zonen werden mit dem Befehl zonecfg eine oder mehrere IP-Adressen zugewiesen. Die Data-Link-Namen müssen ebenfalls in der globalen Zone konfiguriert werden.
Diese Adressen werden mithilfe von logischen Netzwerkschnittstellen zugeordnet. Mit dem Befehl ifconfig können die logischen Schnittstellen in einer laufenden Zone von der globalen Zone aus hinzugefügt oder entfernt werden. Weitere Informationen finden Sie unter Shared IP-Netzwerkschnittstellen.
In einer Exclusive IP-Zone stehen alle Funktionen der IP-Schicht zur Verfügung.
Eine Exclusive IP-Zone verfügt über einen eigenen IP-orientierten Status.
Hierzu gehört die Fähigkeit, die folgenden Funktionen einer Exclusive IP-Zone zu nutzen:
Statusfreie automatische Konfiguration von Adressen unter DHCPv4 und IPv6
IP-Filter, einschließlich Funktionen zur Network Address Translation (NAT)
ndd zum Einstellen der TCP/UDP/SCTP- und IP/ARP-Level knobs
IP Security (IPsec) und Internet Key Exchange (IKE), das die Bereitstellung von authentifizierten Schlüsseln für die IPsec-Sicherheitszuweisung automatisiert
Eine Exclusive IP-Zone erhält mit dem Befehl zonecfg ein eigenes Data-Link-Set. Die Zone erhält einen Data-Link-Name wie z. B. xge0, e1000g1 oder bge32001. Dazu wird die Eigenschaft physical der net-Ressourcen verwendet. Die Eigenschaft address der net-Ressource ist nicht gesetzt.
Beachten Sie, dass die zugewiesene Data-Link das Verwenden des Befehls snoop möglich macht.
Der Befehl dladm kann zusammen mit dem Unterbefehl show-linkprop verwendet werden, um die Zuweisung von Data-Links zu laufenden Exclusive IP-Zonen anzuzeigen. Der Befehl dladm kann zusammen mit dem Unterbefehl set-linkprop verwendet werden, um laufenden Zonen zusätzliche Data-Links zuzuweisen. Anwendungsbeispiele finden Sie unter Solaris 10 8/07: Verwalten von Data-Links in nicht-globalen Exclusive IP-Zonen.
Innerhalb einer laufenden Exclusive IP-Zone kann der Befehl ifconfig zum Konfigurieren der IP-Funktionen verwendet werden. Hierzu gehört die Möglichkeit, logische Schnittstellen hinzuzufügen oder zu entfernen. Die IP-Konfiguration in einer Zone kann mithilfe von sysidtools, das unter sysidcfg(4) beschrieben wird, auf die gleiche Weise wie für die globale Zone eingerichtet werden.
Die IP-Konfiguration einer Exclusive IP-Zone kann nur von der globalen Zone aus mit dem Befehl zlogin angezeigt werden. Ein Beispiel:
global# zlogin zone1 ifconfig -a |
In einer Shared IP-Zone können weder die Anwendungen in einer Zone noch der Superuser Pakete mit anderen Quell-IP-Adressen als denen senden, die der Zone mit dem Dienstprogramm zonecfg zugewiesen wurden. Dieser Zonentyp hat keinen Zugriff zum Senden und Empfangen von zufälligen Data-Link-Paketen (Schicht 2).
Bei einer Exclusive IP-Zone gewährt zonecfg stattdessen die gesamten angegebene Data-Link für die Zone. Somit kann der Superuser in einer Exclusive IP-Zone genauso wie in der globalen Zone Spoofing-Pakete über diese Data-Links versenden.
Die Shared IP-Zonen nutzen die IP-Schicht immer gemeinsam mit der globalen Zone, die Exclusive IP-Zonen hingegen verfügen immer über ihre eigene Instanz der IP-Schicht. Shared IP-Zonen und Exclusive IP-Zonen können gemeinsam auf dem gleichen Computer eingesetzt werden.
Im Allgemeinen umfassen die in einer Zone eingehängten Dateisysteme Folgendes:
Die beim Initialisieren der virtuellen Plattform eingehängten Dateisystemsets
Die innerhalb der Anwendungsumgebung eingehängten Dateisystemsets
Dies kann z. B. die folgenden Dateisysteme umfassen:
Dateisysteme, die in der Datei /etc/vfstab einer Zone angegeben sind
AutoFS- und AutoFS-ausgelöste Mounts
Mounts, die explizit von einem Zonenadministrator durchgeführt werden
Für Mounts, die innerhalb einer Anwendungsumgebung eingehängt werden, gelten bestimmte Einschränkungen. Diese Einschränkungen verhindern, dass der Zonenadministrator Services für das restliche System verweigert oder Einstellungen trifft, die sich negativ auf andere Zonen auswirken.
Für das Einhängen bestimmter Dateisysteme innerhalb einer Zone gelten Sicherheitseinschränkungen. Einige Dateisysteme zeigen ein besonderes Verhalten, wenn sie in einer Zone eingehängt werden. Weitere Informationen finden Sie unter Dateisysteme und nicht-globale Zonen.
Der Befehl zonecfg verwendet ein Rule Matching-System, um festzulegen, welche Geräte in einer bestimmten Zone erscheinen müssen. Geräte, die einer der Regeln entsprechen, werden in das Dateisystem /dev der Zone aufgenommen. Weitere Informationen finden Sie unter So konfigurieren Sie die Zone.
Sie können eine hostid-Eigenschaft für die nicht-globale Zone einstellen, die sich von der hostid der globalen Zone unterscheidet. Dies ist sinnvoll, wenn ein physischer Rechner mit der P2V-Funktion in einer Zone konsolidiert wird. Anwendungen, die sich jetzt innerhalb der Zone befinden, können von der ursprünglichen hostid abhängen und die Anwendungskonfiguration kann möglicherweise nicht aktualisiert werden. Weitere Informationen finden Sie unter Ressourcen- und Eigenschaftentypen.
Der globale Administrator kann privilegierte zonenweite Resource Controls für eine Zone einrichten. Zonenweite Resource Controls schränken die gesamte Ressourcennutzung aller Prozesseinheiten innerhalb einer Zone ein.
Diese Grenzwerte werden mit dem Befehl zonecfg sowohl für die globale Zone als auch für nicht-globale Zonen eingerichtet. Lesen Sie dazu So konfigurieren Sie die Zone.
Ab dem Solaris-Release 10 8/07 lassen sich zonenweite Resource Controls einfacher einrichten, indem Sie den Eigenschaftennamen anstelle der Ressource rctl verwenden.
Solaris 10 5/08: Die Resource Control zone.cpu-cap gibt einen absoluten Grenzwert an CPU-Ressourcen an, die von einer Zone beansprucht werden können. Der Wert 100 gibt als Einstellung von project.cpu-cap die 100-prozentige Beanspruchung der Ressourcen einer CPU an. Der Wert 1.25 bedeutet 125 Prozent, da 100 Prozent der kompletten Auslastung einer CPU auf einem System mit CPU-Ressourcengrenzwerten (CPU-Caps) entspricht.
Die Ressource capped-cpu muss eine Dezimalzahl sein. Der Wert entspricht der Resource Control zone.capped-cpu , wird jedoch um den Faktor 100 heruntergesetzt. Der Wert 1 entspricht dem Wert 100 der Resource Control.
Die Resource Control zone.cpu-shares legt einen Grenzwert für die Anzahl der Fair Share Scheduler (FSS) CPU-Shares für eine Zone fest. CPU-Shares werden zunächst der Zone zugeordnet und dann gemäß den Einträgen in project.cpu-shares weiter zwischen den Projekten in einer Zone aufgeteilt. Weitere Informationen finden Sie unter Verwenden des Fair Share Scheduler auf einem Solaris-System mit installierten Zonen. Der globale Eigenschaftenname für diese Resource Control lautet cpu-shares.
Die Resource Control zone.max-locked-memory begrenzt den gesperrten reellen Speicher, der eine Zone zur Verfügung steht. Die Zuordnung der gesperrten Speicherressourcen zu Projekten innerhalb einer Zone wird über die Resource Control project.max-locked-memory gesteuert. Weitere Informationen finden Sie in Tabelle 6–1.
Die Resource Control zone.max-lwps verbessert die Ressourcenisolierung, indem Sie verhindert, dass sich zu viele LWPs in einer Zone negativ auf andere Zonen auswirken. Die Zuordnung der LWP-Ressourcen zu den Projekten in einer Zone wird über die Resource Control project.max-lwps gesteuert. Weitere Informationen finden Sie in Tabelle 6–1. Der globale Eigenschaftenname für diese Resource Control lautet max-lwps.
Die Resource Controls zone.max-msg-ids, zone.max-sem-ids, zone.max-shm-ids und zone.max-shm-memory dienen zum Begrenzen der System V-Ressourcen, die von allen Prozessen in einer Zone genutzt werden. Die Zuordnung von System V-Ressourcen zu Projekten in einer Zone kann mithilfe der Projektversionen dieser Resource Controls gesteuert werden. Die globalen Eigenschaftennamen dieser Resource Controls lauten max-msg-ids, max-sem-ids, max-shm-ids und max-shm-memory .
Die Resource Control zone.max-swap begrenzt den Swap-Bereich, der von Benutzerprozess-Adressraumzuordnungen und tmpfs-Mounts innerhalb einer Zone verwendet wird. Die Ausgabe von prstat -Z zeigt eine SWAP-Spalte an. Der angezeigte Swap-Bereich ist der gesamte Swap-Bereich, der von den Prozessen der Zone und den tmpfs-Mounts verbraucht wird. Dieser Wert unterstützt die Überwachung des von jeder Zone reservierten Swap-Bereichs. Er kann zum Wählen einer geeigneten Einstellung für zone.max-swap verwendet werden.
Tabelle 17–1 Zonenweite Resource Controls
Name der Resource Control |
Name der globalen Eigenschaft |
Beschreibung |
Standardeinheit |
Wird verwendet für |
---|---|---|---|---|
zone.cpu-cap |
Solaris 10 5/08: Absoluter Grenzwert für die Beanspruchung von CPU-Ressourcen für diese Zone. |
Menge (CPU-Anzahl) in Prozent. Hinweis – Bei der Einstellung für die Ressource capped-cpu können Sie für die Einheit eine Dezimalzahl verwenden. | ||
zone.cpu-shares |
cpu-shares |
Anzahl der Fair Share Scheduler (FSS) CPU-Shares für diese Zone. |
Menge (Shares) | |
zone.max-locked-memory |
Gesamtmenge des in einer Zone verfügbaren, physikalisch gesperrten Speichers. Wenn priv_proc_lock_memory einer Zone zugewiesen ist, können Sie durch Einrichten dieser Resource Control auch verhindern, dass die Zone den gesamten Speicher sperrt. |
Größe (Byte) |
locked-Eigenschaft von capped-memory. |
|
zone.max-lwps |
max-lwps |
Höchstzahl der gleichzeitig in dieser Zone verfügbaren LWPs. |
Menge (LWPs) | |
zone.max-msg-ids |
max-msg-ids |
Höchstzahl der für diese Zone zulässigen Nachrichtenwarteschlangen-IDs. |
Menge (Nachrichtenwarteschlangen-IDs) | |
zone.max-sem-ids |
max-sem-ids |
Höchstzahl der für diese Zone zulässigen Semaphor-IDs. |
Menge (Semaphor- IDs) | |
zone.max-shm-ids |
max-shm-ids |
Höchstzahl der für diese Zone zulässigen Shared Memory-IDs. |
Menge (Shared Memory-IDs) | |
zone.max-shm-memory |
max-shm-memory |
Gesamtmenge des für diese Zone zulässigen System V Shared Memory. |
Größe (Byte) | |
zone.max-swap |
Gesamtmenge des Swap-Bereichs, der von Benutzerprozess- Adressraumzuordnun- gen und tmpfs-Mounts für diese Zone verwendet wird. |
Größe (Byte) |
swap -Eigenschaft von capped-memory |
Diese Grenzen können mit dem Befehl prctl für laufende Prozesse angegeben werden. Ein Beispiel finden Sie unter So richten Sie FSS-Shares mit dem Befehl prctl in der globalen Zone ein. Die mit dem Befehl prctl festgelegten Grenzen sind nicht persistent. Sie sind nur solange wirksam, bis das System neu gebootet wird.
Beim Booten einer Zone wird ein Standardset mit sicheren Berechtigungen in die Konfiguration aufgenommen. Diese Berechtigungen werden als sicher betrachtet, weil sie verhindern, dass ein privilegierter Prozess in der Zone Prozesse in anderen nicht-globalen Zonen des Systems oder in der globalen Zone beeinflusst. Mit dem Befehl zonecfg können Sie:
Zum Standard-Berechtigungsset hinzufügen. Diese Änderungen können jedoch eine globale Ressource steuern und so dazu führen, dass Prozesse in einer Zone Prozesse in anderen Zonen beeinflussen.
Vom Standard-Berechtigungsset entfernen. Diese Änderungen können jedoch dazu führen, dass bestimmte Prozesse nicht korrekt ausgeführt werden können, wenn diese Berechtigungen zur Ausführung erforderlich sind.
Einige Berechtigungen können nicht aus dem Standard-Berechtigungsset einer Zone entfernt werden, und bestimmte Berechtigungen können in diesem Fall nicht zum Standardset hinzugefügt werden.
Weitere Informationen finden Sie unter Berechtigungen in einer nicht-globalen Zone, unter So konfigurieren Sie die Zone und in der Manpage privileges(5).
Mit dem Ressourcentyp attr können Sie einer Zone einen Kommentar hinzufügen. Weitere Informationen finden Sie unter So konfigurieren Sie die Zone.
Mit dem in der Manpage zonecfg ausführlich beschriebenen Befehl zonecfg(1M) können Sie eine nicht-globale Zone konfigurieren. Ab dem Solaris-Release 10 8/07 können mit diesem Befehl außerdem die Einstellungen der Ressourcenverwaltung für die globale Zone persistent angegeben werden.
Der Befehl zonecfg kann im interaktiven Modus, im Befehlszeilen-Modus oder im Befehlsdatei-Modus verwendet werden. Mit diesem Befehl werden die folgenden Vorgänge durchgeführt:
Erstellen oder Löschen (Zerstören) einer Zonenkonfiguration
Hinzufügen von Ressourcen zu einer bestimmten Konfiguration
Einrichten von Eigenschaften für Ressourcen, die einer Konfiguration hinzugefügt wurden
Entfernen von Ressourcen von einer bestimmten Konfiguration
Abfragen oder Überprüfen einer Konfiguration
Übernehmen einer Konfiguration
Wiederherstellen einer vorherigen Konfiguration
Umbenennen einer Zone
Beenden einer zonecfg-Sitzung
Der Befehl zonecfg hat die folgende Syntax:
zonecfg:zonename> |
Wenn Sie einen bestimmten Ressourcentyp konfigurieren, z. B. ein Dateisystem, wird auch dieser Ressourcentyp in die Befehlssyntax aufgenommen:
zonecfg:zonename:fs> |
Weitere Informationen, einschließlich Verfahren zur Verwendung der verschiedenen in diesem Kapitel beschriebenen zonecfg-Komponenten finden Sie unter Kapitel 18Planen und Konfigurieren von nicht-globalen Zonen (Vorgehen).
Für die Benutzerschnittstelle findet das Konzept eines Geltungsbereichs (Scope) Anwendung. Der Geltungsbereich kann entweder global oder ressourcenspezifisch angelegt sein. Der standardmäßige Geltungsbereich ist global.
Im globalen Geltungsbereich wird eine bestimmte Ressource mit den Unterbefehlen add und select ausgewählt. Daraufhin ändert sich der Geltungsbereich zu diesem Ressourcentyp.
Bei dem Unterbefehl add wird die Ressourcenspezifikation mit den Unterbefehlen end oder cancel abgeschlossen.
Bei dem Unterbefehl select wird die Ressourcenmodifikation mit den Unterbefehlen end oder cancel abgeschlossen.
Anschließend wird der Geltungsbereich auf global zurückgesetzt.
Bestimmte Unterbefehle, z. B. add, remove und set, haben in verschiedenen Geltungsbereichen unterschiedliche Bedeutungen.
Im interaktiven Modus werden die folgenden Unterbefehle unterstützt. Weitere Informationen zu den Bedeutungen und Optionen, die mit den Unterbefehlen verwendet werden können, finden Sie in der Manpage zonecfg(1M. ) Bei jedem Unterbefehl, der zu destruktiven Aktionen oder dem Verlust von Arbeiten führen könnte, fordert das System vor dem Fortsetzen eine Bestätigung durch den Benutzer an. Diese Bestätigung können Sie durch Verwenden der Option -F (Force / Erzwingen) umgehen.
Druckt die allgemeine Hilfe aus oder zeigt Hilfe zu einer bestimmten Ressource an.
zonecfg:my-zone:inherit-pkg-dir> help |
Beginnt die Konfiguration einer im Arbeitsspeicher abgelegten Konfiguration für die angegebene neue Zone für einen der folgenden Zwecke:
Das Anwenden der Standardeinstellungen auf eine neue Konfiguration. Diese Methode ist die Standardeinstellung.
Mit der Option -t Vorlage erstellen Sie eine Konfiguration, die mit einer angegebenen Vorlage identisch ist. Der Zonenname wird vom Vorlagennamen zum neuen Zonennamen geändert.
Mit der Option -F überschreiben Sie eine bestehende Konfiguration.
Mit der Option -b erstellen Sie eine leere Konfiguration, in der nichts festgelegt ist.
Druckt die Konfiguration über das standardmäßige Ausgabegerät oder in die angegebene Ausgabedatei. Die Ausgabe weist dabei ein Format auf, das in einer Befehlsdatei verwendet werden kann.
Bei einem globalen Geltungsbereich wird der Konfiguration der angegebene Ressourcentyp hinzugefügt.
Bei einem ressourcenspezifischen Geltungsbereich wird eine Eigenschaft mit dem angegebenen Namen und dem angegebenen Wert hinzugefügt.
Weitere Informationen finden Sie unter So konfigurieren Sie die Zone und in der Manpage zonecfg(1M).
Setzt einen angegebenen Eigenschaftennamen auf einen angegebenen Eigenschaftenwert. Einige Eigenschaften, z. B. zonepath, sind global, andere gelten nur für eine bestimmte Ressource. Aus diesem Grund hat dieser Befehl sowohl für einen globalen als auch für einen ressourcenspezifischen Geltungsbereich.
Gilt nur im globalen Geltungsbereich. Wählt eine Ressource des angegebenen Typs, die dem angegebenen Kriterium Eigenschaftenname/Eigenschaftenwert-Paar entspricht, zur Bearbeitung aus. Der Geltungsbereich wird auf diesen Ressourcentyp geändert. Damit die Ressource eindeutig identifiziert werden kann, müssen Sie eine ausreichende Anzahl an Eigenschaftenname/Eigenschaftenwert-Paaren angeben.
Solaris 10 8/07: Löscht den Wert für die optionalen Einstellungen. Erforderliche Einstellungen können nicht gelöscht werden. Einige erforderliche Einstellungen können jedoch durch Zuweisen eines neuen Werts geändert werden.
Bei einem globalen Geltungsbereich wird der angegebene Ressourcentyp entfernt. Damit der Ressourcentyp eindeutig identifiziert werden kann, müssen Sie eine ausreichende Anzahl an Eigenschaftenname/Eigenschaftenwert-Paaren angeben. Wenn kein Eigenschaftenname/Eigenschaftenwert-Paar angegeben wurde, werden alle Instanzen gelöscht. Wurden mehrere Paare angegeben, wird eine Bestätigung erforderlich, es sei denn, die Option -F wurde verwendet.
Bei einem ressourcenspezifischen Geltungsbereich wird das angegebene Eigenschaftenname/Eigenschaftenwert-Paar von der aktuellen Ressource entfernt.
Gilt nur im ressourcenspezifischen Geltungsbereich. Beendet die Ressourcenspezifikation.
Anschließend überprüft der Befehl zonecfg, ob die aktuelle Ressource vollständig angegeben wurde.
Wenn die Ressource vollständig angegeben wurde, wird sie der im Arbeitsspeicher befindlichen Konfiguration hinzugefügt und der globale Geltungsbereich wiederhergestellt.
War die Spezifikation unvollständig, zeigt das System eine Fehlermeldung an und beschreibt, was noch ausgeführt werden muss.
Gilt nur im ressourcenspezifischen Geltungsbereich. Beendet die Ressourcenspezifikation und stellt den globalen Geltungsbereich wieder her. Alle teilweise angegebenen Ressourcen werden nicht erhalten.
Löscht die angegebene Konfiguration vollständig. Löscht die Konfiguration sowohl aus dem Arbeitsspeicher als auch vom Speicherort. Sie müssen die Option -F zusammen mit dem Befehl delete verwenden.
Diese Aktion findet unmittelbar statt. Es ist keine Bestätigung erforderlich. Eine gelöschte Zone kann nicht wiederhergestellt werden.
Zeigt Informationen über die aktuelle Konfiguration oder die globalen Ressourceneigenschaften zonepath, autoboot und pool an. Wenn ein Ressourcentyp angegeben wurde, werden nur Informationen zu diesem Ressourcentyp angezeigt. Bei einem ressourcenspezifischen Geltungsbereich gilt dieser Unterbefehl nur für die hinzugefügte oder modifizierte Ressource.
Überprüft die aktuelle Konfiguration auf Richtigkeit. Stellt sicher, dass für alle Ressourcen alle erforderlichen Eigenschaften angegeben wurden.
Überführt die aktuelle Konfiguration aus dem Arbeitsspeicher an einen Festspeicherort. Bis die im Arbeitsspeicher befindliche Konfiguration übernommen wurde, können Änderungen mit dem Unterbefehl revert rückgängig gemacht werden. Eine Konfiguration muss mit dem Befehl zoneadm übernommen werden. Dieser Vorgang wird automatisch versucht, wenn Sie eine zonecfg-Sitzung abschließen. Weil nur eine korrekte Konfiguration übernommen werden kann, führt der commit-Vorgang automatisch eine Überprüfung durch.
Setzt die Konfiguration auf den zuletzt übernommenen Status zurück.
Beendet die zonecfg-Sitzung. Mit dem Befehl exit können Sie auch die Option -F (Erzwingen) verwenden.
Ein commit-Vorgang wird ggf. automatisch versucht. Auch ein EOF-Zeichen kann zum Beenden der Sitzung verwendet werden.
Im Befehlsdatei-Modus erfolgt die Eingabe aus einer Datei. Zum Erzeugen dieser Datei wird der unter zonecfg Interaktiver Modus beschriebene Unterbefehl export verwendet. Die Konfiguration kann über das standardmäßige Ausgabegerät gedruckt oder mit der Option -f an eine bestimmte Ausgabedatei gesendet werden.
Daten einer Zonenkonfiguration setzen sich aus zwei Arten von Einheiten zusammen: Ressourcen und Eigenschaften. Jede Ressource weist einen Typ auf, und jede Ressource verfügt über ein Set mit mindestens einer Eigenschaft. Die Eigenschaften haben Namen und Werte. Die Eigenschaftensets hängen vom Ressourcentyp ab.
Ressourcen- und Eigenschaftentypen lassen sich wie folgt beschreiben:
Der Zonenname identifiziert die Zone gegenüber dem Konfigurationsdienstprogramm. Für Zonennamen gelten die folgenden Regeln:
Jede Zone muss über einen eindeutigen Namen verfügen.
Der Zonenname ist abhängig von der Groß-/Kleinschreibung.
Der Zonenname muss mit einem alphanumerischen Zeichen beginnen.
Der Name kann alphanumerische Zeichen, Unterstriche (_), Bindestriche (-) und Punkte (.) enthalten .
Der Name darf nicht mehr als 64 Zeichen umfassen.
Der Name global und alle Namen, die mit SUNW beginnen, sind reserviert und können nicht verwendet werden.
Die Eigenschaft zonepath ist der Pfad zum Stammverzeichnis (Root) der Zone. Jede Zone verfügt über ein root-Verzeichnis, das sich im Dateisystem der globalen Zone unter dem entsprechenden zonepath befindet. Während der Installation der Zone wird die zonepath-Verzeichnishierarchie mit dem entsprechenden Eigentümer und Modus erstellt. Der Eigentümer des zonepath-Verzeichnisses muss root mit dem Modus 700 sein.
Der Root-Verzeichnispfad der nicht-globalen Zone befindet sich eine Ebene niedriger. Das Root-Verzeichnis der Zone weist den gleichen Eigentümer und Berechtigungen wie das Root-Verzeichnis (/) der globalen Zone auf. Der Eigentümer des Zonen-Verzeichnisses muss root mit dem Modus 755 sein. Diese Verzeichnisse werden automatisch mit den richtigen Berechtigungen erstellt. Es ist keine Überprüfung durch den Zonenadministrator erforderlich. Diese Hierarchie stellt sicher, dass das Dateisystem einer nicht-globalen Zone nicht von nicht-berechtigten Benutzern in der globalen Zone durchlaufen werden kann.
Pfad |
Beschreibung |
---|---|
/home/export/my-zone |
zonecfg zonepath |
/home/export/my-zone/root |
Root der Zone |
/home/export/my-zone/dev |
Für die Zone erstellte Geräte |
Weitere Informationen zu diesem Thema finden Sie unter Durchlaufen von Dateisystemen.
Informationen zu den ZFS-Einschränkungen für dieses Release finden Sie unter Solaris 10 6/06, Solaris 10 11/06, Solaris 10 8/07 und Solaris 10 5/08: Das Root-Dateisystem einer nicht-globalen Zone nicht auf einem ZFS ablegen.
Wenn diese Eigenschaft auf „true“ gesetzt ist, wird die Zone bei einem Neustart der globalen Zone automatisch gebootet. Beachten Sie, dass wenn der Zonenservice svc:/system/zones:default deaktiviert ist, in die Zone ungeachtet der Einstellung für diese Eigenschaft nicht automatisch gebootet wird. Sie können den Zonenservice mit dem in der Manpage svcadm(1M) beschriebenen Befehl svcadm aktivieren:
global# svcadm enable zones |
Solaris 10 8/07: Mit dieser Eigenschaft wird ein Boot-Argument für die Zone eingerichtet. Das Boot-Argument wird angewendet, sofern es nicht durch die Befehle reboot, zoneadm boot oder zoneadm reboot außer Kraft gesetzt wird. Lesen Sie dazu Solaris 10 8/07: Boot-Argumente in einer Zone.
Mit dieser Eigenschaft wird die Zone einem Ressourcenpool auf dem System zugewiesen. Mehrere Zonen können die Ressourcen eines Pools nutzen. Lesen Sie dazu auch Solaris 10 8/07: dedicated-cpu-Ressource.
Solaris 10 11/06 und höher: Diese Eigenschaft dient zur Angabe einer anderen Berechtigungsmaske als der Standardmaske. Lesen Sie dazu Berechtigungen in einer nicht-globalen Zone.
Berechtigungen werden hinzugefügt, indem Sie den Berechtigungsnamen mit oder ohne einem einleitenden priv_ angeben. Berechtigungen werden ausgeschlossen, indem Sie einen Bindestrich (-) oder ein Ausrufezeichen (!) vor dem Namen eingeben. Die Werte der Berechtigung werden durch Kommata voneinander getrennt und stehen zwischen Anführungszeichen (“).
Die speziellen Berechtigungssets none, allund basic erweitern die normalen Definitionen. Genauere Informationen hierzu finden Sie unter priv_str_to_set(3C) Da die Zonenkonfiguration in der globalen Zone stattfindet kann das spezielle Berechtigungsset zone nicht verwendet werden. Das standardmäßige Berechtigungsset wird häufig durch Hinzufügen oder Entfernen von Berechtigungen geändert. Mit dem Spezialset defaultkönnen Sie die standardmäßigen Berechtigungen wieder herstellen. Wenn default am Anfang der Eigenschaft limitpriv steht, wird sie zum Standardset erweitert.
Der folgende Eintrag fügt die Fähigkeit hinzu, DTrace-Programme zu verwenden, die nur die Berechtigungen dtrace_proc und dtrace_user in der Zone benötigen:
global# zonecfg -z userzone zonecfg:userzone> set limitpriv="default,dtrace_proc,dtrace_user" |
Enthält das Berechtigungsset einer Zone eine nicht zulässige Berichtigung, fehlt eine erforderliche Berechtigung oder umfasst es eine unbekannte Berechtigung, schlägt der Versuch, die Zone zu überprüfen, fertig zu stellen oder zu booten fehl und es wird eine Fehlermeldung angezeigt.
Solaris 10 8/07: Diese Eigenschaft legt die Scheduling-Klasse der Zone fest. Weitere Informationen und Tipps finden Sie unter Scheduling-Klasse in einer Zone.
Solaris 10 8/07: Diese Eigenschaft muss nur dann eingerichtet werden, wenn es sich bei der Zone um eine Exclusive IP-Zone handelt. Lesen Sie dazu Solaris 10 8/07: Nicht-globale Exclusive IP-Zonen und So konfigurieren Sie die Zone.
Solaris 10 8/07: Diese Ressource reserviert während der Ausführung einen bestimmten Bereich der Systemprozessoren für die Zone. Die Ressource dedicated-cpu stellt Grenzwerte für ncpus und optional für importance bereit. Weitere Informationen finden Sie unter Solaris 10 8/07: dedicated-cpu-Ressource.
Solaris 10 5/08: Diese Ressource gibt einen Grenzwert für die CPU-Ressourcen an, die von einer Zone, während sie läuft, beansprucht werden können. Die Ressource gibt einen Grenzwert für ncpus an.
Solaris 10 8/07: Diese Ressource gruppiert die verwendeten Eigenschaften, wenn das Memory Capping für die Zone eingesetzt wird. Die Ressource capped-memory bietet Grenzwerte für den reellen (physical), ausgelagerten (swap) und gesperrten (locked) Speicher. Mindestens eine dieser Eigenschaften muss angegeben werden.
Solaris 10 6/06: Das Hinzufügen einer ZFS-Dateisystemressource ermöglicht das Delegieren der Speicherverwaltung an eine nicht-globale Zone. Der Zonenadministrator kann Dateisysteme innerhalb dieses Datasets erstellen und löschen, Klone erstellen und löschen und die Eigenschaften des Datasets bearbeiten. Der Zonenadministrator kann keine Datasets beeinflussen, die der Zone nicht zugewiesen wurden oder mögliche Top Level-Kontingente überschreiten, die für das Dataset eingerichtet wurden, das der Zone zugewiesen ist.
ZFS-Datasets können einer Zone auf verschiedene Arten hinzugefügt werden.
Als ein LOFS-mounted Dateisystem, wenn das Ziel nur das gemeinsame Nutzen von Speicherplatz mit der globalen Zone ist
Als ein delegiertes Dataset
Lesen Sie dazu Kapitel 10, Fortgeschrittene Oracle Solaris ZFS-Themen in Oracle Solaris ZFS-Administrationshandbuch und Dateisysteme und nicht-globale Zonen.
Weitere Informationen zu Datasets finden Sie auch in Kapitel 30Behebung von verschiedenen Problemen mit Solaris Zones.
Jede Zone kann über verschiedene Dateisysteme verfügen, die eingehängt werden, wenn die Zone vom Status „installed“ in den Status „ready“ übergeht. Die Dateisystemressource gibt den Pfad zum Einhängepunkt des Dateisystems an. Weitere Informationen zur Verwendung von Dateisystemen in Zonen finden Sie unter Dateisysteme und nicht-globale Zonen.
Diese Ressource darf nicht in der Whole Root Zone konfiguriert werden.
In einer Sparse Root Zone dient die Ressource inherit-pkg-dir zum Darstellen der Verzeichnisse, die Softwarepakete enthalten, die eine nicht-globale Zone gemeinsam mit der globalen Zone nutzt.
Die Inhalte der Softwarepakete, die in das Verzeichnis inherit-pkg-dir übertragen wurden, werden von der nicht-globalen Zone im schreibgeschützten Modus übernommen. Die Paketdatenbank der Zone wird aktualisiert, um die Pakete widerzuspiegeln. Nachdem die Zone mit zoneadm installiert wurde, können diese Ressourcen nicht mehr geändert oder entfernt werden.
In der Konfiguration sind vier inherit-pkg-dir-Standardressourcen enthalten. Diese Verzeichnisressourcen kennzeichnen, welche Verzeichnisse ihre zugehörigen Pakete von der globalen Zone übernehmen sollen. Die Ressourcen werden über ein schreibgeschütztes Dateisystem implementiert, auf das als Loopback-Mount zugegriffen wird.
/lib
/platform
/sbin
/usr
Die Netzwerkschnittstellenressource ist der Schnittstellenname. Jede Zone kann über verschiedene Netzwerkschnittstellen verfügen, die eingerichtet werden, wenn die Zone vom Status „installed“ in den Status „ready“ übergeht.
Die Geräteressource ist der Bezeichner für die Geräteentsprechung. Jede Zone kann über Geräte verfügen, die konfiguriert werden, wenn die Zone vom Status „installed“ in den Status „ready“ übergeht.
Die Ressource rctl wird für zonenweite Resource Controls verwendet. Die Resource Controls werden aktiviert, wenn die Zone vom Status „installed“ in den Status „ready“ übergeht.
Es kann eine hostid festgelegt werden, die sich von der hostid der globalen Zone unterscheidet.
Dieses generische Attribut kann für Benutzerkommentare oder von anderen Untersystemen verwendet werden. Die Eigenschaft Name eines attr muss mit einem alphanumerischen Zeichen beginnen. Die Eigenschaft name kann alphanumerische Zeichen, Bindestriche (-) und Punkte (.) enthalten. Attributnamen, die mit zone beginnen, sind für die Verwendung durch das System reserviert.
Auch Ressourcen besitzen Eigenschaften, die konfiguriert werden können. Die folgenden Eigenschaften sind den aufgeführten Ressourcentypen zugeordnet.
ncpus, importance
Solaris 10 8/07: Geben Sie die Anzahl der CPUs und optional die relative Wichtigkeit des Pools an. Das folgende Beispiel gibt einen CPU-Bereich an, der von der Zone my-zone verwendet werden kann. importance wird ebenfalls gesetzt.
zonecfg:my-zone> add dedicated-cpu zonecfg:my-zone:dedicated-cpu> set ncpus=1-3 zonecfg:my-zone:dedicated-cpu> set importance=2 zonecfg:my-zone:dedicated-cpu> end |
ncpus
Legt die Anzahl der CPUs fest. Das folgende Beispiel gibt einen CPU-Ressourcengrenzwert von 3,5 CPUs an, die von der Zone my-zone verwendet werden können.
zonecfg:my-zone> add capped-cpu zonecfg:my-zone:capped-cpu> set ncpus=3.5 zonecfg:my-zone:capped-cpu> end |
physical, swap, locked
Legen Sie die Speichergrenzen für die Zone my-zone fest. Jeder Grenzwert ist optional, es muss aber mindestens ein Grenzwert eingerichtet sein.
zonecfg:my-zone> add capped-memory zonecfg:my-zone:capped-memory> set physical=50m zonecfg:my-zone:capped-memory> set swap=100m zonecfg:my-zone:capped-memory> set locked=30m zonecfg:my-zone:capped-memory> end |
dir, special, raw, type, options
Die Ressourcenparameter fs liefern die Werte, mit denen festgelegt wird, wie und wann Dateisysteme eingehängt werden. Die Parameter fs sind wie folgt definiert:
Gibt den Einhängepunkt für das Dateisystem an
Gibt den Block-spezifischen Gerätenamen oder das Verzeichnis an, aus dem von der globalen Zone aus eingehängt wird
Gibt das Raw-Gerät an, auf dem fsck ausgeführt wird, bevor das Dateisystem eingehängt wird
Gibt den Dateisystemtyp an
Gibt Einhängeoptionen ähnlich denen an, die für den Befehl mount gelten
Die Zeilen im folgenden Beispiel geben an, dass /dev/dsk/c0t0d0s2 in der globalen Zone als /mnt in der zu konfigurierenden Zone eingehängt wird. Die Eigenschaft raw gibt ein optionales Gerät an, auf dem der Befehl fsck ausgeführt wird, bevor versucht wird, das Dateisystem einzuhängen. Der zu verwendende Dateisystemtyp ist UFS. Die Optionen nodevices und logging wurden hinzugefügt.
zonecfg:my-zone> add fs zonecfg:my-zone:fs> set dir=/mnt zonecfg:my-zone:fs> set special=/dev/dsk/c0t0d0s2 zonecfg:my-zone:fs> set raw=/dev/rdsk/c0t0d0s2 zonecfg:my-zone:fs> set type=ufs zonecfg:my-zone:fs> add options [nodevices,logging] zonecfg:my-zone:fs> end |
Weitere Informationen finden Sie unter Die Option -o nosuid, Sicherheitseinschränkungen und Dateisystemverhalten und in den Manpages fsck(1M) und mount(1M). Beachten Sie, dass 1M Manpages für Einhängeoptionen zur Verfügung stehen, die nur für ein bestimmtes Dateisystem gelten. Die Namen dieser Manpages weisen das Format mount_Dateisystem auf.
Zum Hinzufügen eines ZFS-Dateisystems verwenden Sie die Ressourceneigenschaft fs. Lesen Sie dazu Hinzufügen von ZFS-Dateisystemen zu einer nicht-globalen Zone in Oracle Solaris ZFS-Administrationshandbuch.
name
Die Zeilen im folgenden Beispiel geben an, dass das Dataset sales in der nicht-globalen Zone eingehängt und dort sichtbar ist. In der globalen Zone ist das Dataset nicht mehr sichtbar.
zonecfg:my-zone> add dataset zonecfg:my-zone> set name=tank/sales zonecfg:my-zone> end |
dir
Die Zeilen im folgenden Beispiel geben an, dass /opt/sfw als Loopback-Mount von der globalen Zone aus eingehängt wird.
zonecfg:my-zone> add inherit-pkg-dir zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw zonecfg:my-zone:inherit-pkg-dir> end |
address, physical, defrouter,
Bei einer Shared IP-Zone werden sowohl IP-Adresse als auch Gerät angegeben. Optional kann der Standard-Router festgelegt werden.
Mit der Eigenschaft defrouter können Sie eine Standardroute einstellen, wenn sich die nicht-globale Zone in einem Teilnetz befindet, das nicht in der globalen Zone konfiguriert ist.
Jede Zone, für die die Eigenschaft defrouter eingestellt ist, muss sich in einem Teilnetz befinden, das nicht in der globalen Zone konfiguriert ist.
Wenn sich Shared-IP-Zonen in verschiedenen Teilnetzen befinden, konfigurieren Sie kein Data-Link in der globalen Zone.
Bei einer Exclusive IP-Zone wird nur die physische Schnittstelle angegeben. Die physische Eigenschaft kann eine VNIC sein.
Im folgenden Beispiel für eine Shared IP-Zone wird die IP-Adresse 192.168.0.1 zur Zone hinzugefügt. Die Karte hme0 wird als physikalische Schnittstelle verwendet. Um zu ermitteln, welche physikalische Schnittstelle verwendet werden muss, geben Sie ifconfig -a auf dem System ein. Jede Zeile der Ausgabe (mit Ausnahme der Loopback-Treiberzeilen) beginnt mit dem Namen der im System installierten Karte. Zeilen, die LOOPBACK in den Beschreibungen enthalten, gelten nicht für Karten.
zonecfg:my-zone> add net zonecfg:my-zone:net> set physical=hme0 zonecfg:my-zone:net> set address=192.168.0.1 zonecfg:my-zone:net> end |
Im folgenden Beispiel für eine Exclusive IP-Zone wird die Verbindung bge32001 als physikalische Schnittstelle verwendet. Geben Sie den Befehl dladm show-link ein, um festzustellen, welche Data-Links verfügbar sind. Die Data-Link muss GLDv3 sein, damit sie mit Exclusive IP-Zonen verwendet werden kann. Nicht-GLDv3-Data-Links werden als type: legacy in der dladm show-link-Ausgabe angezeigt. Beachten Sie, dass ip-type=exclusive ebenfalls angegeben sein muss.
zonecfg:my-zone> set ip-type=exclusive zonecfg:my-zone> add net zonecfg:my-zone:net> set physical=bge32001 zonecfg:my-zone:net> end |
match
Im folgenden Beispiel wird ein /dev/pts-Gerät in eine Zone aufgenommen.
zonecfg:my-zone> add device zonecfg:my-zone:device> set match=/dev/pts* zonecfg:my-zone:device> end |
name, value
Solaris 10 8/07: Die neuen Resource Controls für dieses Release sind zone.max-locked-memory , zone.max-msg-ids, zone.max-sem-ids, zone.max-shm-ids, zone.max-shm-memory und zone.max-swap.
Die folgenden zonenweiten Resource Controls sind verfügbar:
zone.cpu-shares (preferred: cpu-shares )
zone.max-locked-memory
zone.max-lwps (bevorzugt: max-lwps)
zone.max-msg-ids (bevorzugt: max-msg-ids)
zone.max-sem-ids (bevorzugt: max-sem-ids)
zone.max-shm-ids (bevorzugt: max-shm-ids)
zone.max-shm-memory (bevorzugt: max-shm-memory)
zone.max-swap
Eine zonenweite Resource Control lässt sich einfacher einrichten, wenn Sie den Eigenschaftennamen anstelle der Ressource rctl verwenden. Dies wird unter So konfigurieren Sie die Zone gezeigt. Wenn die Einträge einer zonenweiten Resource Control mit add rctl konfiguriert werden, weicht das Format von den Resource Control-Einträgen in der project-Datenbank ab. In einer Zonenkonfiguration besteht der Ressourcentyp rctl aus drei Name/Wert-Paaren. Die Namen sind priv, limit und action. Jeder Name akzeptiert einen einfachen Wert.
zonecfg:my-zone> add rctl zonecfg:my-zone:rctl> set name=zone.cpu-shares zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)zonecfg:my-zone:rctl> end |
zonecfg:my-zone> add rctl zonecfg:my-zone:rctl> set name=zone.max-lwps zonecfg:my-zone:rctl> add value (priv=privileged,limit=100,action=deny) zonecfg:my-zone:rctl> end |
Allgemeine Informationen zu Resource Controls und Attributen finden Sie in Kapitel 6Einführung in die Resource Controls und unter Resource Controls in nicht-globalen Zonen.
name, type, value
Im folgenden Beispiel wird ein Kommentar über eine Zone hinzugefügt.
zonecfg:my-zone> add attr zonecfg:my-zone:attr> set name=comment zonecfg:my-zone:attr> set type=string zonecfg:my-zone:attr> set value="Production zone" zonecfg:my-zone:attr> end |
Sie können den Unterbefehl export verwenden, um eine Zonenkonfiguration über das standardmäßige Ausgabegerät zu drucken. Die Konfiguration wird in einem Format gespeichert, das in einer Befehlsdatei verwendet werden kann.
Die Befehlszeilen-Bearbeitungsbibliothek Tecla kann mit dem Befehl zonecfg verwendet werden. Die Bibliothek bietet einen Mechanismus zur Speicherung des Befehlszeilenverlaufs und unterstützt die Bearbeitung.
Die Befehlszeilen-Bearbeitungsbibliothek Tecla ist in den folgenden Manpages dokumentiert:
enhance(1)
libtecla(3LIB )
ef_expand_file(3TECLA)
gl_get_line(3TECLA)
gl_io_mode(3TECLA)
pca_lookup_file(3TECLA)
tecla(5)
In diesem Kapitel sind die Maßnahmen beschrieben, die Sie vor dem Konfigurieren einer Zone auf dem System ausführen müssen. Darüber hinaus werden in diesem Kapitel das Konfigurieren einer Zone, das Modifizieren einer Zonenkonfiguration und das Löschen einer Zonenkonfiguration von einem System beschrieben.
Eine Einführung in die Zonenkonfiguration finden Sie in Kapitel 17Einführung in die Konfiguration einer nicht-globalen Zone.
Bevor Sie ein System zur Verwendung von Zonen einrichten, müssen Sie Informationen sammeln und entscheiden, wie die Zonen konfiguriert werden sollen. In der folgenden Übersicht der Schritte wird zusammengefasst, was beim Planen und Konfigurieren einer Zone beachtet werden muss.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Planen der Zonenstrategie. |
|
Verwenden Sie die Nutzungsverlaufsdaten. Lesen Sie auch Erforderlicher Festplattenspeicher und In Zonen verwendete Resource Pools. |
Festlegen des Zonennamens. |
Festlegen des Zonennamens basierend auf den Benennungskonfigurationen. |
Lesen Sie dazu Konfigurationsdaten in einer Zone und Zonen-Hostname. |
Festlegen des Zonenpfads. |
Jede Zone verfügt über einen Root-Verzeichnispfad, der relativ zum Root-Verzeichnis der globalen Zone angegeben ist. |
Lesen Sie dazu Konfigurationsdaten in einer Zone. |
Bewerten der Notwendigkeit einer CPU-Beschränkung, falls keine Resource Pools konfiguriert werden. |
Überprüfen Sie die Anforderungen der Anwendungen. |
Lesen Sie dazu Solaris 10 8/07: dedicated-cpu-Ressource. |
Bewerten der Notwendigkeit einer Speicherzuordnung, falls Sie beabsichtigen, den für eine Zone zur Verfügung stehenden Speicher mithilfe von rcapd von der globalen Zone aus mit einer Memory Cap zu begrenzen. |
Überprüfen Sie die Anforderungen der Anwendungen. |
Lesen Sie Kapitel 10Einführung in die Steuerung des reellen Arbeitsspeichers mithilfe des Resource Capping Daemons, Kapitel 11Verwalten des Resource Capping Daemons (Vorgehen) und Solaris 10 8/07: Steuerung des reellen Speichers und der capped-memory-Ressource. |
Festlegen des FSS als standardmäßigen Scheduler des Systems. |
Jeder Zone werden CPU-Shares zugewiesen, um die Ansprüche der Zone auf CPU-Ressourcen zu steuern. Der FSS garantiert eine faire Verteilung der CPU-Ressourcen unter den Zonen basierend auf den zugewiesenen Shares. |
Kapitel 8Einführung in den Fair Share Scheduler, Scheduling-Klasse in einer Zone. |
Festlegen, ob eine Zone eine Shared IP-Zone oder eine Exclusive IP-Zone wird. |
Bei einer Shared IP-Zone, der Standardeinstellung, erhalten oder konfigurieren Sie die IP-Adressen der Zone. Je nach Konfiguration müssen Sie mindestens eine IP-Adresse für jede nicht-globale Zone beziehen, für die eine Netzwerkverbindung vorgesehen ist. Bei einer Exclusive IP-Zone legen Sie die Data-Link fest, die der Zone zugewiesen wird. Die Zone benötigt exklusiven Zugriff auf mindestens eine Netzwerkschnittstelle. Bei dieser Schnittstelle kann es sich um eine separate LAN-Karte wie z. B. bge1 oder eine separate VLAN-Karte wie z. B. bge2000 handeln. Bei der Data-Link muss es sich um GLDv3 handeln. Eine Data-Link, bei der es sich nicht um GLDv3 handelt, wird als type: legacy in der Ausgabe des Befehls dladm show-link identifiziert. |
Weitere Informationen finden Sie unter Festlegen des Zonen-Hostnamens und Beziehen der Netzwerkadresse, So konfigurieren Sie die Zone und im Systemverwaltungshandbuch: IP Services. Informationen zu GLDv3-Schnittstellen finden Sie unter Oracle Solaris-Schnittstellentypen in Systemverwaltungshandbuch: IP Services. |
Festlegen der Dateisysteme, die in der Zone eingehängt werden sollen. |
Überprüfen Sie die Anforderungen der Anwendungen. |
Weitere Informationen finden Sie unter In Zonen eingehängte Dateisysteme. |
Festlegen, welche Netzwerkschnittstellen in der Zone verfügbar sein sollen. |
Überprüfen Sie die Anforderungen der Anwendungen. |
Weitere Informationen finden Sie unter Shared IP-Netzwerkschnittstellen. |
Festlegen, ob die standardmäßigen Berechtigungen für eine nicht-globale Zone geändert werden müssen. |
Überprüfen der Berechtigungssets: default, Berechtigungen können hinzugefügt und entfernt werden und Berechtigungen, die derzeit nicht verwendet werden können. |
Lesen Sie dazu Berechtigungen in einer nicht-globalen Zone. |
Festlegen, welche Geräte in jeder Zone konfiguriert werden sollen. |
Überprüfen Sie die Anforderungen der Anwendungen. |
Lesen Sie die Dokumentation Ihrer Anwendung. |
Konfigurieren der Zone. |
Geben Sie den Befehl zonecfg ein, um die Konfiguration für eine Zone zu erstellen. |
Lesen Sie dazu Konfigurieren, Prüfen und Übernehmen einer Zone. |
Überprüfen und Übernehmen der konfigurierten Zone. |
Feststellen, ob die angegebenen Ressourcen und Eigenschaften in einem hypothetischen System gültig sind. |
Lesen Sie dazu Konfigurieren, Prüfen und Übernehmen einer Zone. |
Zonen können von jedem Computer über werden, der das Solaris-Release 10 ausführt. Bei der Verwendung von Zonen müssen die folgenden Überlegungen hinsichtlich des Computers angestellt werden.
Die Leistungsanforderungen der Anwendungen, die in den Zonen ausgeführt werden.
Der verfügbare Festplattenspeicher, um die in jeder Zone einmaligen Dateien.
Es gibt keinerlei Grenzwerte, wie viel Festplattenspeicher von einer Zone verbraucht werden darf. Einschränkungen des Speicherplatzes werden vom globalen Administrator eingerichtet. Der globale Administrator muss sicherstellen, dass der lokale Speicherplatz ausreichend groß ist, um das Dateisystem einer nicht-globalen Zone aufzunehmen. Selbst ein kleines Uniprozessor-System kann mehrere Zonen unterstützen, die gleichzeitig ausgeführt werden.
Die in der globalen Zone installierten Pakete wirken sich auf die Speicherplatzanforderungen der erstellten nicht-globalen Zonen aus. Weitere Faktoren sind die Anzahl der Pakete und deren Speicherplatzanforderungen.
Im Solaris 10-Release werden nicht-globale Zonen, die über inherit-pkg-dir-Ressourcen verfügen, als Sparse Root Zones bezeichnet.
Das Sparse Root Zone-Modell optimiert das gemeinsame Nutzen von Objekten folgendermaßen:
Es wird nur ein Teil der in der globalen Zone installierten Pakete direkt in der nicht-globalen Zone installiert.
Für den Zugriff auf andere Dateien werden schreibgeschützte, als Loopback-Mount eingehängte Dateisysteme verwendet, die durch inherit-pkg-dir-Ressourcen gekennzeichnet sind.
Bei diesem Modell scheinen alle Pakete in der nicht-globalen Zone installiert zu sein. Pakete, die keine Inhalte an schreibgeschützte, als Loopback-Mount eingehängte Dateisysteme liefern, sind vollständig installiert. Inhalte, die an schreibgeschützte, als Loopback-Mount eingehängte Dateisysteme geliefert werden, müssen nicht installiert werden, da der Inhalt von der globalen Zone übernommen wird (und sichtbar ist).
Als allgemeine Richtlinie benötigt eine Zone etwa 100 MB freien Festplattenspeicher pro Zone, wenn die globale Zone mit allen Solaris-Standardpaketen installiert ist.
Standardmäßig werden nicht-globale Zonen mit allen zusätzlichen Pakete bestückt, die auch in der globalen Zone installiert werden. Entsprechend steigt die Menge des erforderlichen Festplattenspeichers an, abhängig davon, ob zusätzliche Pakete Dateien bereitstellen, die sich im inherit-pkg-dirResource Space befinden.
Weitere 40 MB RAM pro Zone werden empfohlen, sind aber bei Computern mit ausreichend Swap-Speicher nicht erforderlich.
Das Whole Root Zone-Modell bietet maximale Konfigurierbarkeit. Alle erforderlichen und ausgewählten optionalen Solaris-Pakete werden in den privaten Dateisystemen der Zone installiert. Zu den Vorteilen dieses Modells zählt z. B. die Möglichkeiten für den globalen Administrator, das Dateisystem-Layout ihrer Zonen anzupassen. Dies dient u. a. zum Hinzufügen von beliebigen nicht gebündelten Paketen oder Paketen von Drittanbietern.
Die Speicherplatzanforderungen dieses Modell werden vom Festplattenspeicherplatz bestimmt, der für die aktuell in der globalen Zone installierten Paketen erforderlich ist.
Wenn Sie eine Sparse Root Zone erstellen, die die folgenden inherit-pkg-dir-Verzeichnisse enthält, müssen Sie diese Verzeichnisse vor der Installation der Zone aus der Konfiguration der nicht-globalen Zone entfernen, um eine Whole Root Zone zu erstellen:
/lib
/platform
/sbin
/usr
Lesen Sie dazu So konfigurieren Sie die Zone.
Zum Beschränken der Größe einer Zone können die folgenden Optionen verwendet werden:
Sie können die Zone in einer als lofi eingehängten Partition platzieren. Mit dieser Aktion wird der von der Zone verbrauchte Speicherplatz auf die von lofi verwendete Datei beschränkt. Weitere Informationen finden Sie in den Manpages lofiadm(1M) und lofi(7D).
Sie können Software-Partitionen verwenden, um Festplatten-Slices oder logische Datenträger in Partitionen aufzuteilen. Diese Partitionen können Sie als Zone-Roots verwenden und somit den Festplattenverbrauch pro Zone begrenzen. Der Grenzwert für eine Software-Partition beträgt 8192 Partitionen. Weitere Informationen finden Sie in Kapitel 12, Soft Partitions (Overview) in Solaris Volume Manager Administration Guide.
Sie können die Standard-Partitionen einer Festplatte für Zonen-Roots verwenden und somit den Festplattenverbrauch der einzelnen Zonen begrenzen.
Sie müssen den Hostnamen für die Zone festlegen. Dann müssen Sie eine IPv4-Adresse zuweisen oder manuell eine IPv6-Adresse konfigurieren und der Zone zuweisen, wenn die Zone über eine Netzwerkverbindung verfügen soll.
Der von Ihnen für die Zone gewählte Hostname muss entweder in der Datenbank hosts oder in der Datenbank /etc/inet/hosts definiert sein. Dies richtet sich nach der Angabe in der Datei /etc/nsswitch.conf in der globalen Zone. Die Netzwerk-Datenbanken sind Dateien, die Informationen zur Netzwerkkonfiguration enthalten. Die Datei nsswitch.conf gibt an, welcher Namen-Service zu verwenden ist.
Wenn Sie lokale Dateien für den Namen-Service verwenden, wird in die Datenbank hosts in der Datei /etc/inet/hosts gepflegt. Die Hostnamen für die Netzwerkschnittstellen der Zone werden von der lokalen hosts-Datenbank in der Datei /etc/inet/hosts aufgelöst. Alternativ kann die IP-Adresse direkt bei der Konfiguration der Zone angegeben werden, so dass keine Hostnamenauflösung erforderlich ist.
Weitere Informationen finden Sie unter TCP/IP-Konfigurationsdateien in Systemverwaltungshandbuch: IP Services und Netzwerkdatenbanken und die nsswitch.conf-Datei in Systemverwaltungshandbuch: IP Services.
Jede mit einem Netzwerk verbundene Shared IP-Zone benötigt mindestens eine eindeutige ID-Adresse. Es werden sowohl IPv4- als auch IPv6-Adressen unterstützt.
Wenn Sie IPv4 verwenden, beziehen Sie eine Adresse und weisen Sie die Adresse der Zone zu.
Mit der IP-Adresse kann eine Präfix-Länge angegeben werden. Das Format für dieses Präfix ist Adresse/Präfixlänge, z. B. 192.168.1.1/24. Somit wird die Adresse 192.168.1.1 und die Netzmaske 255.255.255.0 verwendet oder die Maske, wenn die ersten 24 Bit 1-Bits sind.
Wenn Sie IPv6 verwenden, müssen Sie die Adressen manuell konfigurieren. In der Regel müssen mindestens die folgenden zwei Adressarten konfiguriert werden:
Eine Link-local-Adresse hat die Syntax fe80:: 64-Bit-Schnittstellen-ID/10. Die /10 kennzeichnet eine Präfixlänge von 10 Bit.
Eine globale Unicast-Adresse basiert auf einem 64-Bit-Präfix, das der Administrator für jedes Teilnetz konfiguriert, sowie einer 64-Bit-Schnittstellen-ID. Das Präfix kann auch durch Ausführen des Befehls ifconfig mit der Option -a6 auf jedem System im gleichen Teilnetz bezogen werden, das zur Verwendung von IPv6 konfiguriert wurde.
Die 64-Bit-Schnittstellen-ID wird in der Regel von der MAC-Adresse des Systems abgeleitet. Für die Verwendung in Zonen kann, wie im Folgenden beschrieben, eine alternative, einmalige Adresse von der IPv4-Adresse der globalen Zone abgeleitet werden:
16 Bits Null:obere 16 Bits der IPv4-Adresse:untere 16 Bits der IPv4-Adresse:eine in der Zone einmalige Zahl
Angenommen, die IPv4-Adresse der globalen Zone lautet 168.200.10, so wäre eine geeignete Link-local-Adresse für eine nicht-globale Zone unter Verwendung einer in der Zone einmaligen Zahl 1 fe80::c0a8:c80a:1/10. Wenn das im Teilnetz verwendete globale Präfix 2001:0db8:aabb:ccdd/64 lautet, wäre eine einmalige globale Unicast-Adresse für die gleiche nicht-globale Zone 2001:0db8:aabb:ccdd::c0a8:c80a:1/64. Beachten Sie, dass Sie beim Konfigurieren einer IPv6-Adresse eine Präfixlänge angeben müssen.
Weitere Informationen zu Link-local- und globalen Unicast-Adressen finden Sie in der Manpage inet6(7P).
Innerhalb einer Exclusive IP-Zone können Sie Adressen auf die gleiche Weise wie für die globale Zone konfigurieren. Beachten Sie, dass die automatische statusfreie DHCP- und IPv6-Adresskonfiguration zum Konfigurieren von Adressen verwendet werden kann.
Weitere Informationen finden Sie in sysidcfg(4).
Sie können mehrere Mounts angeben, die beim Einrichten der virtuellen Plattform ausgeführt werden. Dateisysteme, die als Loopback-Mount in einer Zone eingehängt sein (mit dem Loopback Virtual File System, LOFS), sollten mit der Option nodevices eingehängt werden. Weitere Informationen zur Option nodevices finden Sie unter Dateisysteme und nicht-globale Zonen.
Mit LOFS können Sie ein neues virtuelles Dateisystem erstellen, so dass Sie über einen alternativen Pfadnamen auf Dateien zugreifen können. In einer nicht-globalen Zone lässt ein Loopback-Mount die Dateisystemhierarchie so erscheinen, als wäre sie unter dem Zonen-Root dupliziert worden. In der Zone kann über einen Pfadnamen, der vom Zonen-Root aus startet, auf alle Dateien zugegriffen werden. Das LOFS-Mounting erhält den Namespace des Dateisystems.
Weitere Informationen finden Sie in der Manpage lofs(7S).
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Konfigurieren einer nicht-globalen Zone. |
Erstellen einer Zone mit dem Befehl zonecfg, Überprüfen und Übernehmen der Konfiguration. Sie können auch ein Skript verwenden, um mehrere Zonen auf einem System zu konfigurieren und booten. Mit dem Befehl zonecfg können Sie die Konfiguration einer nicht-globalen Zone anzeigen. |
Konfigurieren, Prüfen und Übernehmen einer Zone, Skript zur Konfiguration mehrerer Zonen |
Bearbeiten der Zonenkonfiguration. |
Mit dem folgenden Verfahren bearbeiten Sie einen Ressourcentyp in einer Zonenkonfiguration oder fügen einer Zone ein spezielles Gerät hinzu. |
Verwenden des Befehls zonecfg zum Bearbeiten einer Zonenkonfiguration |
Zurückzusetzen einer Zonenkonfiguration oder Löschen einer Zonenkonfiguration. |
Zurücksetzen einer Ressourceneinstellung in einer Zonenkonfiguration oder Löschen einer Zonenkonfiguration mit dem Befehl zonecfg. |
Verwenden des Befehls zonecfg zum Zurücksetzen oder Löschen einer Zonenkonfiguration |
Löschen einer Zonenkonfiguration. |
Löschen einer Zonenkonfiguration vom System mit dem Befehl zonecfg und dem Unterbefehl delete. |
Mit dem in der Manpage zonecfg ausführlich beschriebenen Befehl zonecfg(1M) können Sie:
Die Zonenkonfiguration erstellen
Das Vorhandensein aller erforderlichen Informationen überprüfen
Die Konfiguration einer nicht-globalen Zone übernehmen
Weiterhin können mit dem Befehl zonecfg die Einstellungen der Ressourcenverwaltung für die globale Zone persistent angegeben werden.
Beim Konfigurieren einer Zone mit dem Dienstprogramm zonecfg können Sie den Unterbefehl revert verwenden, um die Einstellung einer Ressource rückgängig zu machen. Lesen Sie dazu So setzen Sie eine Zonenkonfiguration zurück.
Ein Skript zur Konfiguration mehrerer Zonen auf einem System finden Sie unter Skript zur Konfiguration mehrerer Zonen.
Eine Anleitung, wie Sie die Konfiguration einer nicht-globalen Zone anzeigen, finden Sie unter So zeigen Sie die Konfiguration einer nicht-globalen Zone an.
Bitte beachten Sie, dass zum Erstellen einer nativen nicht-globalen Zone nur die Eigenschaften zonename und zonepath erforderlich sind. Andere Ressourcen und Eigenschaften sind optional. Bei einigen optionalen Ressourcen sind auch verschiedene Alternativen möglich. So kann beispielsweise die Ressource dedicated-cpu oder die Ressource capped-cpu verwendet werden. Informationen zu verfügbaren Eigenschaften und Ressourcen des Befehls zonecfg finden Sie unter Konfigurationsdaten in einer Zone .
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.
Richten Sie eine Zonenkonfiguration mit dem von Ihnen gewählten Zonennamen ein.
In diesem Beispielverfahren wird der Name my-zone verwendet.
global# zonecfg -z my-zone |
Wenn Sie diese Zone das erste Mal konfigurieren, wird die folgende Systemmeldung angezeigt:
my-zone: No such zone configured Use 'create' to begin configuring a new zone. |
Erstellen Sie die neue Zonenkonfiguration
Bei diesem Verfahren werden die Standardeinstellungen verwendet.
zonecfg:my-zone> create |
Legen Sie den Zonenpfad fest. Verwenden Sie in diesem Beispiel /export/home/my-zone.
zonecfg:my-zone> set zonepath=/export/home/my-zone |
Platzieren Sie bei Releases vor Solaris&;10&;10/08 den zonepath nicht auf einem ZFS.
Legen Sie einen autoboot-Wert fest.
Wenn diese Eigenschaft auf true gesetzt ist, wird die Zone bei einem Neustart der globalen Zone automatisch gebootet. Beachten Sie, dass auch der Zonenservice svc:/system/zones:default aktiviert sein muss, damit Zonen automatisch gebootet werden können. Der Standardwert ist false.
zonecfg:my-zone> set autoboot=true |
Legen Sie die persistenten Boot-Argumente einer Zone fest.
zonecfg:my-zone> set bootargs="-m verbose" |
Weisen Sie dieser Zone eine CPU zu.
zonecfg:my-zone> add dedicated-cpu |
Überarbeiten Sie das Standard-Berechtigungsset.
zonecfg:my-zone> set limitpriv="default,sys_time" |
Mit dieser Zeile wird die Fähigkeit hinzugefügt, die Systemuhr auf das Standard-Berechtigungsset zu setzen.
Setzen Sie die Scheduling-Klasse auf FSS.
zonecfg:my-zone> set scheduling-class=FSS |
Fügen Sie eine Memory Cap hinzu.
zonecfg:my-zone> add capped-memory |
Richten Sie die Memory Cap ein.
zonecfg:my-zone:capped-memory> set physical=50m |
Richten Sie eine Memory Cap für den Swap-Speicher ein.
zonecfg:my-zone:capped-memory> set swap=100m |
Richten Sie eine Memory Cap für den gesperrten Speicher ein.
zonecfg:my-zone:capped-memory> set locked=30m |
Beenden Sie die Spezifikation der Memory Cap.
zonecfg:my-zone:capped-memory> end |
Fügen Sie ein Dateisystem hinzu.
zonecfg:my-zone> add fs |
Legen Sie den Einhängepunkt das Dateisystem fest. Verwenden Sie in diesem Beispiel /usr/local.
zonecfg:my-zone:fs> set dir=/usr/local |
Legen Sie fest, dass /opt/zones/my-zone/local in der globalen Zone als /usr/local in der konfigurierten Zone eingehängt wird.
zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local |
In der nicht-globalen Zone besteht Schreib- und Lesezugriff für das Dateisystem /usr/local.
Geben Sie den Dateisystemtyp an. Verwenden Sie in diesem Beispiel lofs.
zonecfg:my-zone:fs> set type=lofs |
Der Typ gibt an, wie der Kernel mit dem Dateisystem interagiert.
Beenden Sie die Dateisystemspezifikation.
zonecfg:my-zone:fs> end |
Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere Dateisysteme hinzuzufügen sind.
(Optional) Legen Sie die hostid fest.
zonecfg:my-zone> set hostid=80f0c086 |
Fügen Sie ein ZFS-Dataset namens sales in den Speicherpool tank ein.
zonecfg:my-zone> add dataset |
(Nur Sparse Root Zone) Fügen Sie ein gemeinsam genutztes Dateisystem hinzu, das von der globalen Zone aus als Loopback-Mount eingehängt wird.
Führen Sie diesen Schritt nicht aus, um eine Whole Root Zone zu erstellen, die nicht über gemeinsam genutzte Dateisysteme verfügt. Weitere Informationen finden Sie im Abschnitt über Whole Root Zones unter Erforderlicher Festplattenspeicher.
zonecfg:my-zone> add inherit-pkg-dir |
Legen Sie fest, dass /opt/sfw in der globalen Zone im schreibgeschützten Modus in die konfigurierte Zone eingehängt wird.
zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw |
Die Paketdatenbank der Zone wird aktualisiert, um die Pakete widerzuspiegeln. Nachdem die Zone mit zoneadm installiert wurde, können diese Ressourcen nicht mehr geändert oder entfernt werden.
Beenden Sie die inherit-pkg-dir-Spezifikation.
zonecfg:my-zone:inherit-pkg-dir> end |
Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere gemeinsam genutzte Dateisysteme hinzuzufügen sind.
Wenn Sie eine Whole Root Zone erstellen möchten, die standardmäßigen Ressourcen gemeinsam genutzter Dateisysteme aber mit inherit-pkg-dir hinzugefügt wurden, müssen Sie diese standardmäßigen inherit-pkg-dir-Ressourcen mit zonecfg entfernen, bevor Sie die Zone installieren:
zonecfg:my-zone> remove inherit-pkg-dir dir=/lib
zonecfg:my-zone> remove inherit-pkg-dir dir=/platform
zonecfg:my-zone> remove inherit-pkg-dir dir=/sbin
zonecfg:my-zone> remove inherit-pkg-dir dir=/usr
(Optional) Wenn Sie eine Exclusive IP-Zone erstellen, setzen Sie den ip-type.
zonecfg:my-zone> set ip-type=exclusive |
Im Schritt add net wird nur der Typ des reellen Geräts festgelegt.
Führen Sie eine Netzwerkschnittstelle hinzu.
zonecfg:my-zone> add net |
(Nur Shared IP ) Stellen Sie die IP-Adresse für die Netzwerkschnittstelle ein. Verwenden Sie in diesem Beispiel 192.168.0.1.
zonecfg:my-zone:net> set address=192.168.0.1 |
Legen Sie den Typ des reellen Geräts für die Netzwerkschnittstelle fest. Verwenden Sie in diesem Beispiel das Gerät hme.
zonecfg:my-zone:net> set physical=hme0 |
Solaris 10 10/08: (optional, nur Shared-IP) Legen Sie den Standard-Router für die Netzwerkschnittstelle, 10.0.0.1 in diesem Vorgang, fest.
zonecfg:my-zone:net> set defrouter=10.0.0.1 |
Beenden Sie die Spezifikation.
zonecfg:my-zone:net> end |
Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere Netzwerkschnittstellen hinzuzufügen sind.
Fügen Sie ein Gerät hinzu.
zonecfg:my-zone> add device |
Legen Sie die Geräteentsprechung fest. Verwenden Sie in diesem Beispiel /dev/sound/*.
zonecfg:my-zone:device> set match=/dev/sound/* |
Beenden Sie die Gerätespezifikation.
zonecfg:my-zone:device> end |
Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere Geräte hinzuzufügen sind.
Fügen Sie eine zonenweite Resource Control hinzu. Verwenden Sie dazu den Eigenschaftennamen.
zonecfg:my-zone> set max-sem-ids=10485200 |
Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere Resource Controls hinzuzufügen sind.
Fügen Sie mithilfe des Ressourcentyps attr einen Kommentar hinzu.
zonecfg:my-zone> add attr |
Setzen Sie den Namen auf comment.
zonecfg:my-zone:attr> set name=comment |
Setzen Sie den Typ auf string.
zonecfg:my-zone:attr> set type=string |
Setzen Sie den Wert auf einen Kommentar, der die Zone beschreibt.
zonecfg:my-zone:attr> set value="This is my work zone." |
Beenden Sie die Spezifikation des attr-Ressourcentyps.
zonecfg:my-zone:attr> end |
Überprüfen Sie die Zonenkonfiguration der Zone.
zonecfg:my-zone> verify |
Übernehmen Sie die Zonenkonfiguration für die Zone.
zonecfg:my-zone> commit |
Beenden Sie den Befehl zonecfg.
zonecfg:my-zone> exit |
Wenn Sie nicht explizit commit an der Eingabeaufforderung eingeben, wird das commit automatisch versucht, wenn Sie exit eingeben oder ein EOF auftritt.
Der Befehl zonecfg unterstützt mehrere in Anführungszeichen gestellte und durch Semikola voneinander getrennte Unterbefehle, die in der gleichen Shell aufgerufen werden.
global# zonecfg -z my-zone "create ; set zonepath=/export/home/my-zone" |
Informationen zur Installation der übernommenen Zonenkonfiguration finden Sie unter Installieren und Booten von Zonen.
Mit dem folgenden Skript können Sie mehrere Zonen auf einem System konfigurieren und booten. Dieses Skript enthält die folgenden Parameter:
Die Anzahl der zu erstellenden Zonen
Das Präfix zonename
Das als Basisverzeichnis zu verwendende Verzeichnis
Zum Ausführen dieses Skripts müssen Sie als globaler Administrator in der globalen Zone angemeldet sein. Der globale Administrator hat Superuser-Berechtigungen in der globalen Zone oder nimmt die Rolle des Primäradministrators an.
#!/bin/ksh # # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" if [[ -z "$1" || -z "$2" || -z "$3" ]]; then echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir>" exit 2 fi if [[ ! -d $3 ]]; then echo "$3 is not a directory" exit 1 fi nprocs=`psrinfo | wc -l` nzones=$1 prefix=$2 dir=$3 ip_addrs_per_if=`ndd /dev/ip ip_addrs_per_if` if [ $ip_addrs_per_if -lt $nzones ]; then echo "ndd parameter ip_addrs_per_if is too low ($ip_addrs_per_if)" echo "set it higher with 'ndd -set /dev/ip ip_addrs_per_if <num>" exit 1 fi i=1 while [ $i -le $nzones ]; do zoneadm -z $prefix$i list > /dev/null 2>&1 if [ $? != 0 ]; then echo configuring $prefix$i F=$dir/$prefix$i.config rm -f $F echo "create" > $F echo "set zonepath=$dir/$prefix$i" >> $F zonecfg -z $prefix$i -f $dir/$prefix$i.config 2>&1 | \ sed 's/^/ /g' else echo "skipping $prefix$i, already configured" fi i=`expr $i + 1` done i=1 while [ $i -le $nzones ]; do j=1 while [ $j -le $nprocs ]; do if [ $i -le $nzones ]; then if [ `zoneadm -z $prefix$i list -p | \ cut -d':' -f 3` != "configured" ]; then echo "skipping $prefix$i, already installed" else echo installing $prefix$i mkdir -pm 0700 $dir/$prefix$i chmod 700 $dir/$prefix$i zoneadm -z $prefix$i install > /dev/null 2>&1 & sleep 1 # spread things out just a tad fi fi i=`expr $i + 1` j=`expr $j + 1` done wait done i=1 while [ $i -le $nzones ]; do echo setting up sysid for $prefix$i cfg=$dir/$prefix$i/root/etc/sysidcfg rm -f $cfg echo "network_interface=NONE {hostname=$prefix$i}" > $cfg echo "system_locale=C" >> $cfg echo "terminal=xterms" >> $cfg echo "security_policy=NONE" >> $cfg echo "name_service=NONE" >> $cfg echo "timezone=US/Pacific" >> $cfg echo "root_password=Qexr7Y/wzkSbc" >> $cfg # 'l1a' i=`expr $i + 1` done i=1 para=`expr $nprocs \* 2` while [ $i -le $nzones ]; do date j=1 while [ $j -le $para ]; do if [ $i -le $nzones ]; then echo booting $prefix$i zoneadm -z $prefix$i boot & fi j=`expr $j + 1` i=`expr $i + 1` done wait done |
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.
Zeigen Sie die Konfiguration einer Zone an.
global# zonecfg -z zonename info |
Mit dem Befehl zonecfg können Sie:
Einen Ressourcentyp in einer Zonenkonfiguration bearbeiten
Einen Eigenschaftenwert in einer Zonenkonfiguration löschen
Ein spezielles Gerät zu einer Zone hinzufügen
Sie können einen Ressourcentyp auswählen und die Spezifikation dieser Ressource ändern.
Beachten Sie, dass die Inhalte der Softwarepakete im Verzeichnis inherit-pkg-dir nicht mehr geändert oder entfernt werden können, nachdem die Zone mit dem Befehl zoneadm installiert wurde.
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.
Wählen Sie die zu ändernde Zone aus. Verwenden Sie in diesem Beispiel my-zone.
global# zonecfg -z my-zone |
Wählen Sie den zu ändernden Ressourcentyp aus, z. B. eine Resource Control.
zonecfg:my-zone> select rctl name=zone.cpu-shares |
Löschen Sie den aktuellen Wert.
zonecfg:my-zone:rctl> remove value (priv=privileged,limit=20,action=none) |
Fügen Sie den neuen Wert hinzu.
zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none) |
Beenden Sie die rctl-Spezifikation.
zonecfg:my-zone:rctl> end |
Übernehmen Sie die Zonenkonfiguration für die Zone.
zonecfg:my-zone> commit |
Beenden Sie den Befehl zonecfg.
zonecfg:my-zone> exit |
Wenn Sie nicht explizit commit an der Eingabeaufforderung eingeben, wird das commit automatisch versucht, wenn Sie exit eingeben oder ein EOF auftritt.
Änderungen, die über zonecfg vorgenommen wurden, werden beim nächsten Starten der Zone übernommen.
Mit dem folgenden Verfahren wird eine eigenständige Eigenschaft zurückgesetzt.
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.
Wählen Sie die zu ändernde Zone aus. Verwenden Sie in diesem Beispiel my-zone.
global# zonecfg -z my-zone |
Löschen Sie die zu ändernde Eigenschaft. Verwenden Sie in diesem Beispiel die vorhandenen Pool-Zuordnungen.
zonecfg:my-zone> clear pool |
Übernehmen Sie die Zonenkonfiguration für die Zone.
zonecfg:my-zone> commit |
Beenden Sie den Befehl zonecfg.
zonecfg:my-zone> exit |
Wenn Sie nicht explizit commit an der Eingabeaufforderung eingeben, wird das commit automatisch versucht, wenn Sie exit eingeben oder ein EOF auftritt.
Änderungen, die über zonecfg vorgenommen wurden, werden beim nächsten Starten der Zone übernommen.
Mit dem folgenden Verfahren können Sie eine eigenständige Eigenschaft zurücksetzen, die keine zu konfigurierenden zugehörigen Eigenschaften aufweist. Um beispielsweise die vorhandene Pool-Zuordnung zu entfernen, können Sie die Ressource pool auf null zurücksetzen.
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.
Wählen Sie die zu ändernde Zone aus. Verwenden Sie in diesem Beispiel my-zone.
global# zonecfg -z my-zone |
Setzen Sie die zu ändernde Eigenschaft zurück. Verwenden Sie in diesem Beispiel die vorhandenen Pool-Zuordnungen.
zonecfg:my-zone> set pool="" |
Übernehmen Sie die Zonenkonfiguration für die Zone.
zonecfg:my-zone> commit |
Beenden Sie den Befehl zonecfg.
zonecfg:my-zone> exit |
Wenn Sie nicht explizit commit an der Eingabeaufforderung eingeben, wird das commit automatisch versucht, wenn Sie exit eingeben oder ein EOF auftritt.
Änderungen, die über zonecfg vorgenommen wurden, werden beim nächsten Starten der Zone übernommen.
Mit diesem Verfahren können Zonen umbenannt werden, deren Status „configured“ oder „installed“ lautet.
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.
Wählen Sie die umzubenennende Zone aus. Verwenden Sie in diesem Beispiel my-zone.
global# zonecfg -z my-zone |
Ändern Sie den Namen der Zone, z. B. zu newzone.
zonecfg:my-zone> set zonename=newzone |
Übernehmen Sie die Änderung.
zonecfg:newzone> commit |
Beenden Sie den Befehl zonecfg.
zonecfg:newzone> exit |
Änderungen, die über zonecfg vorgenommen wurden, werden beim nächsten Starten der Zone übernommen.
Mit der folgenden Spezifikation wird ein Scanner in die Konfiguration einer nicht-globalen Zone eingefügt.
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.
Fügen Sie ein Gerät hinzu.
zonecfg:my-zone> add device |
Legen Sie die Geräteentsprechung fest. Verwenden Sie in diesem Beispiel /dev/scsi/scanner/c3t4*.
zonecfg:my-zone:device> set match=/dev/scsi/scanner/c3t4* |
Beenden Sie die Gerätespezifikation.
zonecfg:my-zone:device> end |
Beenden Sie den Befehl zonecfg.
zonecfg:my-zone> exit |
Mit diesem Verfahren werden Shares persistent in der globalen Zone eingestellt.
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.
Rufen Sie den zonecfg-Befehl auf.
# zonecfg -z global |
Stellen Sie fünf Shares für die globale Zone ein.
zonecfg:global> set cpu-shares=5 |
Beenden Sie zonecfg.
zonecfg:global> exit |
Mit dem in der Manpage zonecfg(1M) beschriebenen Befehl zonecfg setzen Sie die Konfiguration einer Zone zurück oder löschen eine Zonenkonfiguration.
Während eine Zone mit dem Dienstprogramm zonecfg konfiguriert wird, verwenden Sie den Unterbefehl revert, um eine Ressourceneinstellung in der Zonenkonfiguration rückgängig zu machen.
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.
Geben Sie bei der Konfiguration einer Zone namens tmp-zone den Befehl info ein, um die Konfiguration anzuzeigen:
zonecfg:tmp-zone> info |
Das Ressourcensegment net der Konfiguration wird angezeigt:
. . . fs: dir: /tmp special: swap type: tmpfs net: address: 192.168.0.1 physical: eri0 device match: /dev/pts/* . . . |
Löschen Sie die Netzadresse:
zonecfg:tmp-zone> remove net address=192.168.0.1 |
Überprüfen Sie, ob der Eintrag net entfernt wurde.
zonecfg:tmp-zone> info |
. . . fs: dir: /tmp special: swap type: tmpfs device match: /dev/pts/* . . . |
Geben Sie revert ein.
zonecfg:tmp-zone> revert |
Beantworten Sie die folgende Frage mit „Ja“ (y):
Are you sure you want to revert (y/[n])? y |
Überprüfen Sie, ob wieder eine Netzadresse vorhanden ist:
zonecfg:tmp-zone> info |
. . . fs: dir: /tmp special: swap type: tmpfs net: address: 192.168.0.1 physical: eri0 device match: /dev/pts/* . . . |
Geben Sie den Befehl zonecfg mit dem Unterbefehl delete ein, um eine Zonenkonfiguration vom System zu löschen.
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.
Löschen Sie die Zonenkonfiguration der Zone a-zone mithilfe eines der folgenden Verfahren:
Geben Sie die Option -F ein, um die Aktion zu erzwingen:
global# zonecfg -z a-zone delete -F |
Löschen Sie die Zone interaktiv durch Beantworten der folgenden Systemaufforderung mit „Ja“ (y):
global# zonecfg -z a-zone delete Are you sure you want to delete zone a-zone (y/[n])? y |
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:
Allgemeine Informationen zum Anhalten, Neustarten und Deinstallieren von Zonen
Solaris 10 11/06 und höher: Allgemeine Informationen zum Klonen von nicht-globalen Zonen
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).
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.
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:
Eine Zone überprüfen
Eine Zone installieren
Eine Zone booten, ähnlich dem Booten eines normalen Solaris-Systems
Informationen zu einer laufenden Zone anzeigen
Eine Zone anhalten
Eine Zone neu starten
Eine Zone deinstallieren
Einer Zone von einem Punkt eines Systems an einen anderen Punkt des gleichen Systems umsetzen
Eine neue Zone basierend auf der Konfiguration einer im gleichen System bestehenden Zone bereitstellen
Eine Zone mit dem Befehl zonecfg migrieren
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.
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:
Nicht-installierte Pakete
Patches
Daten auf CDs und DVDs
Netzwerk-Installationsabbilder
Ein Prototyp oder eine andere Instanz einer Zone
Darüber hinaus werden die folgenden Informationstypen, sofern in der globalen Zone vorhanden, nicht in eine zu installierende nicht-globale Zone kopiert:
Neue oder geänderte Benutzer in der Datei /etc/passwd
Neue oder geänderte Gruppen in der Datei /etc/group
Konfigurationen für Netzwerkservices wie DHCP-Adresszuweisung, UUCP oder sendmail
Konfigurationen für Netzwerkservices wie Namen-Services
Neue oder geänderte crontab-, Drucker- und Mail-Dateien
Systemprotokoll-, Nachrichten- und Accounting-Dateien
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:
Solaris Live Upgrade-Boot-Umgebungen
Solaris Volume Manager-Metadevices
DHCP-Adresszuweisung in Shared-IP-Zonen
SSL-Proxy-Server
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.
zsched, ein System-Scheduling-Prozess ähnlich sched, dient zum Verfolgen der Kernel-Ressourcen, die der Zone zugewiesen sind.
zoneadmd ist der Zonen-Administrationsdaemon.
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 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:
Zuordnen der Zonen-ID und Starten des zsched-Systemprozesses.
Einrichten von zonenweiten Resource Controls.
Vorbereiten der Zonengeräte gemäß der Zonenkonfiguration. Weitere Informationen finden Sie in der Manpage devfsadmd(1M).
Einrichten von virtuellen Netzwerkschnittstellen.
Einhängen von Loopback- und konventionellen Dateisystemen.
Instanziieren und Initialisieren des Zonen-Konsolengerätes.
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).
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.
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.
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.
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.
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.
Zonen unterstützten die folgenden Boot-Argumente, die mit den Befehlen zoneadm boot und reboot aufgerufen werden:
-i altinit
-m smf_options
-s
Es gelten die folgenden Definitionen:
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.
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:
Druckt eine standardmäßige Ausgabe pro Service und alle svc.startd-Nachrichten in ein Protokoll.
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:
Druckt eine standardmäßige Ausgabe pro Service sowie Fehlermeldungen, die administratives Eingreifen erfordern
Bedruckt eine standardmäßige Ausgabe pro Service sowie Meldungen, die weiterführende Informationen enthalten.
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).
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.
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.
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.
Das Klonen einer Zone ist schneller als das Installieren einer Zone.
Die neue Zone enthält alle Änderungen, die zur Anpassung der Quellzone vorgenommen wurde, z. B. hinzugefügte Pakete oder Dateiänderungen.
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.
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.
In diesem Kapitel wird die Installation und das Booten einer nicht-globalen Zone beschrieben. Darüber hinaus wird erläutert, wie Sie durch Klonen eine Zone auf dem gleichen System installieren. Weiterhin werden Aufgaben im Zusammenhang mit der Installation, z. B. das Anhalten, Neustarten und Deinstallieren von Zonen behandelt. Auch das Verfahren zum vollständigen Löschen einer Zone von einem System wird angegeben.
Allgemeine Informationen zur Installation einer Zone und den zugehörigen Vorgängen finden Sie in Kapitel 19Einführung in das Installieren, Anhalten, Klonen und Deinstallieren von nicht-globalen Zonen.
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).
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
(Optional) Überprüfen der Konfiguration einer Zone vor dem Installieren der Zone. |
Sicherstellen, dass eine Zone die Anforderungen für eine Installation erfüllt. Wenn Sie dieses Verfahren überspringen, wird die Überprüfung automatisch während der Installation der Zone durchgeführt. |
So überprüfen Sie eine konfigurierte Zone vor der Installation |
Installieren einer konfigurierten Zone. |
Installieren einer Zone, die sich im Status „configured“ befindet. | |
Solaris 8/07: Beziehen der Universally Unique Identifier (UUID) für die Zone. |
Dieser separate Bezeichner, der einer installierten Zone zugewiesen wird, ist eine alternative Möglichkeit, eine Zone zu identifizieren. |
Solaris 10 8/07: So beziehen Sie den UUID einer installierten nicht-globalen Zone |
(Optional) Übergang einer Zone vom Status „installed“ in den Status „ready“. |
Dieses Verfahren kann übersprungen werden, wenn Sie die Zone booten und unmittelbar verwenden. |
(Optional) So lassen Sie eine Zone vom Status „installed“ in den Status „ready“ übergehen |
Booten einer Zone. |
Eine Zone wird durch Booten in den Status „running“ versetzt. Zum Booten muss sich eine Zone im Status „ready“ oder „installed“ befinden. Beachten Sie, dass Sie eine interne Zonenkonfiguration durchführen müssen, wenn Sie sich nach dem ersten Booten bei einer Zone anmelden. |
So booten Sie eine Zone, Interne Zonenkonfiguration, Durchführen der internen Erstkonfiguration der Zone |
Booten einer Zone im Einzelbenutzermodus. |
Bootet nur bis zum Meilenstein svc:/milestone/single-user:default. Dieser Meilenstein entspricht dem init-Level s. Lesen Sie dazu die Manpages init(1M) und svc.startd(1M). |
Mit dem in der Manpage zoneadm genauer beschriebenen Befehl zoneadm(1M) führen Sie die Schritte zur Installation einer nicht-globalen Zone durch. Zum Durchführen einer Zoneninstallation müssen der globale Administrator sein. Für die Beispiele in diesem Kapitel werden der Zonenname und der Zonenpfad verwendet, die unter Konfigurieren, Prüfen und Übernehmen einer Zone eingerichtet wurden.
Sie können eine Zone vor der Installation überprüfen. Wenn Sie dieses Verfahren überspringen, wird die Überprüfung automatisch während der Installation der Zone durchgeführt.
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.
Überprüfen Sie eine konfigurierte Zone namens my-zone, indem Sie die Option -z mit dem Zonennamen und dem Unterbefehl verify verwenden.
global# zoneadm -z my-zone verify |
Die folgende Meldung zur Überprüfung des Zonenpfad wird angezeigt:
Warning: /export/home/my-zone does not exist, so it cannot be verified. When 'zoneadm install' is run, 'install' will try to create /export/home1/my-zone, and 'verify' will be tried again, but the 'verify' may fail if: the parent directory of /export/home/my-zone is group- or other-writable or /export/home1/my-zone overlaps with any other installed zones. |
Wenn jedoch eine Fehlermeldung angezeigt wird und die Zone nicht überprüft werden kann, nehmen Sie die in der Meldung angegebenen Korrekturen vor und führen den Befehl erneut aus.
Wenn keine Fehlermeldungen angezeigt werden, können Sie die Zone installieren.
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.
Installieren Sie die konfigurierte Zone my-zone mit dem Befehl zoneadm und der Option -z install.
global# zoneadm -z my-zone install |
Es werden verschiedene Meldungen angezeigt, während die für das Root-Dateisystem der Zone erforderlichen Dateien und Verzeichnisse unter dem Root-Pfad der Zone installiert sind.
(Optional) Wenn eine Fehlermeldung angezeigt wird und die Installation der Zone fehlschlägt, geben Sie den folgenden Befehl ein, um den Status der Zone abzurufen:
global# zoneadm -z my-zone list -v |
Wenn der Status „configured“ lautet, nehmen Sie die in der Meldung angegebenen Änderungen vor und versuchen erneut, den Befehl zoneadm install auszuführen.
Wenn der Status als „incomplete“ angegeben wird, führen Sie zunächst den folgenden Befehl aus:
global# zoneadm -z my-zone uninstall |
Dann nehmen Sie die in der Meldung angegebenen Änderungen vor und versuchen erneut, den Befehl zoneadm install auszuführen.
Wenn die Installation jetzt abgeschlossen wird, versuchen Sie den Unterbefehl list mit den Optionen -i und -v, um die installierten Zonen aufzulisten und deren Status zu überprüfen.
global# zoneadm list -iv |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared |
Wenn die Installation einer Zone unterbrochen wird oder fehlschlägt, befindet sie sich im Status „incomplete“. Geben Sie den Befehl uninstall -F ein, um die Zone in den Status „configured“ zurückzusetzen.
Diese Zone wurde standardmäßig mit der offenen Netzwerk-Konfiguration installiert, die in Kapitel 19, Managing Services (Tasks) in System Administration Guide: Basic Administrationbeschrieben ist. Sie können zur offenen Netzwerk-Konfiguration wechseln oder einzelne Services beim Anmelden bei der Zone aktivieren bzw. deaktivieren. Weitere Informationen finden Sie unter Umschalten der nicht-globalen Zone zu einer anderen Netzwerkservicekonfiguration.
Ein Universally Unique Identifier (UUID) wird einer Zone bei der Installation zugewiesen. Der UUID kann mithilfe von zoneadm mit dem Unterbefehl list und der Option -p bezogen werden. Der UUID ist das fünfte Feld auf dem Bildschirm.
Zeigen Sie die UUIDs der bereits installierten Zonen an.
global# zoneadm list -p |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
0:global:running:/: 6:my-zone:running:/export/home/my-zone:61901255-35cf-40d6-d501-f37dc84eb504 |
global# zoneadm -z my-zone -u 61901255-35cf-40d6-d501-f37dc84eb504 list -v |
Wenn sowohl -u uuid-Entsprechung als auch -z Zonenname angegeben sind, erfolgt die Zuordnung zunächst basierend auf der UUID. Wurde eine Zone mit dem angegebenen UUID gefunden, wird diese Zone verwendet und der Parameter -z ignoriert. Wurde keine Zone mit dem angegebenen UUID gefunden, sucht das System nach dem Zonennamen.
Zonen können deinstalliert und unter dem gleichen Namen mit unterschiedlichen Inhalten neu installiert werden. Zonen können auch umbenannt werden, ohne dass die Inhalte geändert werden. Aus diesen Gründen ist der UUID ein zuverlässigerer Handle als der Zonenname.
Weitere Informationen finden Sie in zoneadm(1M) und libuuid(3LIB).
Wenn administrative Änderungen auf einem System dazu geführt haben, dass eine Zone inkonsistent ist oder nicht mehr verwendet werden kann, so kann der Status einer Zone von „installed“ zu „incomplete“ geändert 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.
Markieren Sie die Zone testzone als unvollständig.
global# zoneadm -z testzone mark incomplete |
Geben Sie den Unterbefehl list zusammen mit den Optionen -i und -v ein, um den Status zu überprüfen.
global# zoneadm list -iv |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared - testzone incomplete /export/home/testzone native shared |
Mit der Option -R root können die Unterbefehle mark und list des Befehls zoneadm verwendet werden, um eine alternative Boot-Umgebung anzugeben. Weitere Informationen finden Sie unter zoneadm(1M).
Das Markieren einer Zone als unvollständig kann nicht rückgängig gemacht werden. Eine als „incomplete“ gekennzeichnete Zone kann nur deinstalliert und in den Status „configured“ zurückgesetzt werden. Lesen Sie dazu So deinstallieren Sie eine Zone.
Der Übergang in den Status „ready“ bereitet die virtuelle Plattform darauf vor, mit der Ausführung von Benutzerprozessen zu beginnen. Eine Zone im Status „ready“ enthält noch keine Benutzerprozesse, die in der Zone ausgeführt werden.
Dieses Verfahren kann übersprungen werden, wenn Sie die Zone booten und unmittelbar verwenden. Der Übergang zum Status „ready“ wird automatisch durchgeführt, wenn Sie die Zone neu starten.
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.
Geben Sie den Befehl zoneadm mit der Option -z, dem Namen der Zone (my-zone) und dem Unterbefehl ready ein, um eine Zone in den Status „ready“ übergehen zu lassen.
global# zoneadm -z my-zone ready |
Geben Sie an der Eingabeaufforderung zoneadm list mit der Option -v ein, um den Status zu überprüfen.
global# zoneadm list -v |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 my-zone ready /export/home/my-zone native shared |
Beachten Sie, das dem System die einmalige Zonen-ID 1 zugeordnet wurde.
Eine Zone wird durch Booten in den Status „running“ versetzt. Zum Booten muss sich eine Zone im Status „ready“ oder „installed“ befinden. Wird eine Zone, die sich im Status „installed“ befindet, neu gebootet, geht sie transparent über den Status „ready“ in den Status „running“ über. Das Anmelden bei einer Zone ist für Zonen im Status „running“ zulässig.
Beachten Sie, dass Sie eine interne Zonenkonfiguration durchführen, wenn Sie sich nach dem ersten Booten bei einer Zone anmelden. Dies wird unter Interne Zonenkonfiguration beschrieben.
Wenn Sie beabsichtigen, eine /etc/sysidcfg-Datei für die Erstkonfiguration einer Zone zu verwenden (gemäß der Beschreibung unter So verwenden Sie die Datei /etc/sysidcfg zum Durchführen einer Erstkonfiguration der Zone), erstellen Sie die Datei sysidcfg und speichern sie im Verzeichnis /etc der Zone, bevor Sie die Zone booten.
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.
Geben Sie den Befehl zoneadm mit der Option -z, dem Namen der Zone (my-zone) und dem Unterbefehl boot ein, um die Zone zu booten.
global# zoneadm -z my-zone boot |
Nachdem das Booten abgeschlossen ist, geben Sie den Unterbefehl list mit der Option -v ein, um den Status zu überprüfen.
global# zoneadm list -v |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 my-zone running /export/home/my-zone native shared |
Booten Sie eine Zone mit der Option -m verbose:
global# zoneadm -z my-zone boot -- -m verbose |
Booten Sie eine Zone mit der Option -m verbose neu:
global# zoneadm -z my-zone reboot -- -m verbose |
Der Zonenadministrator bootet die Zone my-zone mit der Option -m verbose neu:
my-zone# reboot -- -m verbose |
Wenn eine Meldung angibt, dass das System die Netzmaske nicht finden konnte, die für die in der Zonenkonfigurationsanzeige angegebene IP-Adresse verwendet werden soll, lesen Sie netmasks-Warnung wird beim Booten der Zone angezeigt. Diese Meldung ist nur eine Warnung. Der Befehl war erfolgreich.
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.
Booten Sie die Zone im Einzelbenutzermodus.
global# zoneadm -z my-zone boot -s |
Informationen zum Anmelden bei der Zone und Durchführen der ersten internen Konfiguration finden Sie in Kapitel 21Einführung in das Anmeldeverfahren bei einer nicht-globalen Zone und Kapitel 22Anmelden bei nicht-globalen Zonen (Vorgehen).
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Anhalten einer Zone. |
Mit dem Verfahren „halt“ werden sowohl die Anwendungsumgebung als auch die virtuelle Plattform einer Zone entfernt. Dieses Verfahren setzt eine Zone vom Status „ready“ in den Status „installed“ zurück. Wie Sie eine Zone ordnungsgemäß herunterfahren, können Sie unter So verwenden Sie den Befehl zlogin zum Herunterfahren einer Zone nachlesen. | |
Neustarten einer Zone. |
Das Neustart-Verfahren hält die Zone an und bootet sie dann neu. | |
Deinstallieren einer Zone. |
Löscht alle Dateien aus dem Root-Dateisystem der Zone. Beim Einsatz dieses Verfahrens ist Vorsicht geboten. Diese Aktion kann nicht wieder rückgängig gemacht werden. | |
Bereitstellen einer neuen nicht-globalen Zone basierend auf der Konfiguration einer im gleichen System bestehenden Zone. |
Das Klonen einer Zone ist eine alternative und schnelle Methode zur Installation einer Zone. Sie müssen die neue Zone dennoch konfigurieren, bevor Sie sie installieren können. |
Solaris 10 11/06: Klonen einer nicht-globalen Zone im gleichen System |
Löschen einer nicht-globalen Zone vom System. |
Mit diesem Verfahren wird eine Zone vollständig von einem System entfernt. |
Mit dem Verfahren „halt“ werden sowohl die Anwendungsumgebung als auch die virtuelle Plattform einer Zone entfernt. Wie Sie eine Zone ordnungsgemäß herunterfahren, können Sie unter So verwenden Sie den Befehl zlogin zum Herunterfahren einer Zone nachlesen.
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.
Listen Sie die Zonen auf, die auf dem System ausgeführt werden.
global# zoneadm list -v |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 my-zone running /export/home/my-zone native shared |
Geben Sie den Befehl zoneadm mit der Option -z, dem Zonennamen (my-zone) und dem Unterbefehl halt ein, um die Zone anzuhalten.
global# zoneadm -z my-zone halt |
Listen Sie die Zonen auf dem System noch einmal auf, um sicherzustellen, dass my-zone angehalten wurde.
global# zoneadm list -iv |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared |
Booten Sie die Zone, wenn Sie sie neu starten möchten.
global# zoneadm -z my-zone boot |
Wenn das Anhalten fehlschlägt, lesen Sie Zone lässt sich nicht anhalten.
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.
Listen Sie die Zonen auf, die auf dem System ausgeführt werden.
global# zoneadm list -v |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 my-zone running /export/home/my-zone native shared |
Geben Sie den Befehl zoneadm mit der Option -z reboot ein, um die Zone my-zone neu zu starten.
global# zoneadm -z my-zone reboot |
Listen Sie die Zonen auf dem System noch einmal auf, um sicherzustellen, dass my-zone neu gestartet wurde.
global# zoneadm list -v |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 my-zone running /export/home/my-zone native shared |
Beachten Sie, dass Zonen-ID für die Zone my-zone geändert wurde. Eine Zonen-ID wird nach einem Neustart grundsätzlich geändert.
Verwenden Sie dieses Verfahren mit Vorsicht. Das Entfernen aller Dateien aus dem Root-Dateisystem der Zone kann nicht rückgängig gemacht werden.
Die Zone darf sich nicht im Status „running“ befinden. Der Vorgang uninstall ist für Zonen mit dem Status „running“ nicht zulässig.
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.
Listen Sie die Zonen auf dem System auf.
global# zoneadm list -v |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared |
Geben Sie den Befehl zoneadm mit der Option -z uninstall ein, um die Zone my-zone zu entfernen.
Sie können auch die Option -F verwenden, um diese Aktion zu erzwingen. Wenn diese Option nicht angegeben ist, fordert das System eine Bestätigung an.
global# zoneadm -z my-zone uninstall -F |
Listen Sie die Zonen auf dem System noch einmal auf, um sicherzustellen, dass my-zone nicht mehr aufgeführt wird.
global# zoneadm list -v |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared |
Wenn die Deinstallation einer Zone unterbrochen wird, nimmt sie den Status „incomplete“ an. Geben Sie den Befehl zoneadm uninstall ein, um die Zone in den Status „configured“ zurückzusetzen.
Verwenden Sie den Befehl uninstall nur nach sorgfältiger Überlegung, da die Aktion nicht rückgängig gemacht werden kann.
Durch Klonen wird eine neue Zone auf einem System bereitgestellt. Die Daten werden von dem zonepath einer Quelle in den zonepath eines Ziels kopiert.
Wenn sich der zonepath der Quelle und der zonepath des Ziels auf einem ZFS und im gleichen Pool befinden, verwendet der Befehl zoneadm clone ab Solaris 10 5/09 automatisch die ZFS-Klonfunktion, um die Zone zu klonen. Sie können jedoch angeben, dass der ZFS-zonepath kopiert und nicht das ZFS geklont wird.
Sie müssen die neue Zone konfigurieren, bevor Sie sie installieren können. Der Name der zu klonenden Zone muss als Parameter an den Unterbefehl zoneadm create übergeben werden. Diese Quellzone muss angehalten 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.
Halten Sie die zu klonende Quellzone an. Verwenden Sie in diesem Fall my-zone.
global# zoneadm -z my-zone halt |
Starten Sie das Konfigurieren der neuen Zone durch Exportieren der Quellzonenkonfiguration für my-zone in eine Datei, z. B. master.
global# zonecfg -z my-zone export -f /export/zones/master |
Sie können die Konfiguration der neuen Zone auch mithilfe des unter So konfigurieren Sie die Zone beschriebenen Verfahrens erstellen. In diesem Fall müssen Sie eine vorhandene Konfiguration nicht ändern. Wenn Sie diese Methode verwenden, gehen Sie nach dem Erstellen der Zone direkt weiter zu Schritt 6.
Nehmen Sie die erforderlichen Änderungen in der Datei master vor. Setzen Sie mindestens die Eigenschaften und Ressourcen der Komponenten zurück, die bei unterschiedlichen Zonen nicht identisch sein können. Beispielsweise müssen Sie einen neuen zonepath festlegen. Die IP-Adressen aller Netzwerkressourcen in einer Shared IP-Zone müssen unterschiedlich sein. Bei einer Exclusive IP-Zone muss die physikalische Eigenschaft aller Netzwerkressourcen geändert werden.
Erstellen Sie die neue Zone zone1 mithilfe der Befehle in der Datei master.
global# zonecfg -z zone1 -f /export/zones/master |
Erstellen Sie die neue Zone zone1 durch Klonen von my-zone.
global# zoneadm -z zone1 clone my-zone |
Das System zeigt Folgendes an:
Cloning zonepath /export/home/my-zone... |
Wenn sich der zonepath der Quelle in einem ZFS-Pool befindet, beispielsweise zeepool, zeigt das System ab Solaris 10 5/09 Folgendes an:
Cloning snapshot zeepool/zones/my-zone@SUNWzone1 Instead of copying, a ZFS clone has been created for this zone. |
Listen Sie die Zonen auf dem System auf.
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared - zone1 installed /export/home/zone1 native shared |
Wenn der Befehl zoneadm den zonepath einer Quelle klont, die sich auf einem eigenen ZFS-Dateisystem befindet, werden die folgenden Aktionen ausgeführt:
Der Befehl zoneadm nimmt ein Software-Inventar.
Der Befehl zoneadm erstellt eine ZFS-Momentaufnahme und nennt sie SUNWzoneX, beispielsweise SUNWzone1.
Der Befehl zoneadm verwendet den ZFS-Klon zum Klonen der Momentaufnahme.
Beim ersten Klonen einer Quellzone wird eine Momentaufnahme erstellt. Mit dieser Momentaufnahme können Sie eine Zone mehrmals klonen.
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.
Konfigurieren Sie die Zone zone2.
Geben Sie an, dass eine vorhandene Momentaufnahme zum Erstellen von new-zone2 verwendet werden soll.
global# zoneadm -z zone2 clone -s zeepool/zones/my-zone@SUNWzone1 my-zone |
Das System zeigt Folgendes an:
Cloning snapshot zeepool/zones/my-zone@SUNWzone1 |
Der Befehl zoneadm validiert die Software aus der Momentaufnahme SUNWzone1 und erstellt einen Klon der Momentaufnahme.
Listen Sie die Zonen auf dem System auf.
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /zeepool/zones/my-zone native shared - zone1 installed /zeepool/zones/zone1 native shared - zone2 installed /zeepool/zones/zone2 native shared |
Mit dem folgenden Verfahren können Sie das automatische Klonen einer Zone auf einem ZFS-Dateisystem verhindern. Dabei geben Sie an, dass alternativ der zonepath kopiert werden soll.
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.
Geben Sie an, dass der zonepath auf dem ZFS kopiert und nicht das ZFS geklont werden soll.
global# zoneadm -z zone1 clone -m copy my-zone |
Mit dem in diesem Abschnitt beschriebenen Verfahren wird eine Zone vollständig von einem System gelöscht.
Fahren Sie die Zone my-zone herunter.
global# zlogin my-zone shutdown -y -g0 -i0 |
Entfernen Sie das Root-Dateisystem für my-zone.
global# zoneadm -z my-zone uninstall -F |
Löschen Sie die Konfiguration für my-zone.
global# zonecfg -z my-zone delete -F |
Listen Sie die Zonen auf dem System auf, um sicherzustellen, dass my-zone nicht mehr aufgeführt wird.
global# zoneadm list -iv |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared |
In diesem Kapitel wird an das Anmelden bei Zonen von der globalen Zone aus beschrieben.
In diesem Kapitel werden folgende Themen behandelt:
Informationen zu den Verfahren und zur Nutzung finden Sie in Kapitel 22Anmelden bei nicht-globalen Zonen (Vorgehen).
Nachdem Sie eine Zone installiert haben, müssen Sie sich bei der Zone anmelden, um die Anwendungsumgebung zu vervollständigen. Eventuell müssen Sie sich bei der Zone anmelden, um auch administrativer Aufgaben durchführen zu können. Wurde die Option -C beim Herstellen einer Verbindung mit der Zonenkonsole nicht mit angegeben, erstellt das Anmelden bei einer Zone mit dem Befehl zlogin immer eine neue Aufgabe. Eine Aufgabe kann nicht zwei Zonen umfassen.
Mit dem Befehl zlogin melden Sie sich von der globalen Zone aus bei einer beliebigen nicht-globalen Zone an, die sich im Status „running“ oder im Status „ready“ befindet.
Bei einer Zone, die sich nicht im Status „running“ befindet, können Sie sich nur mit dem Befehl zlogin und der Option -C anmelden.
Wie unter So verwenden Sie den nicht-interaktiven Modus für den Zugriff auf eine Zone beschrieben, können Sie den Befehl zlogin im nicht-interaktiven Modus verwenden, indem Sie einen Befehl angegeben, der innerhalb einer Zone ausgeführt wird. Der Befehl oder die Dateien, auf die der Befehl angewendet werden soll, dürfen sich jedoch nicht auf einem NFS befinden. Der Befehl schlägt fehl, wenn sich eine der offenen Dateien oder ein Teil des Adressraums auf einem NFS befindet. Der Adressraum schließt den Befehl selbst und die mit dem Befehl verbundenen Bibliotheken ein.
Der Befehl zlogin kann nur von einem globalen Administrator von der globalen Zone aus eingesetzt werden. Weitere Informationen finden Sie in der Manpage zlogin(1).
Nach der Installation befindet sich die Zone in einem unkonfiguriertem Zustand. Die Zone verfügt über keine interne Konfiguration für Namen-Services, Gebietsschema und Zeitzone wurden nicht festgelegt und verschiedene andere Konfigurationsaufgaben wurden nicht durchgeführt. Aus diesem Grund werden nach der ersten Anmeldung bei der Zonenkonsole zunächst die sysidtool-Programme ausgeführt. Weitere Informationen finden Sie in der Manpage sysidtool(1M).
Zum Durchführen der erforderlichen Konfiguration können zwei Methoden eingesetzt werden:
Eine Anmeldung bei der Zonenkonsole, die eine Reihe von Fragen initiiert, die auf dem Bildschirm angezeigt werden. Fragen zu Folgendem müssen Sie beantworten:
Sprache
Art des verwendeten Terminals
Hostname
Sicherheitsrichtlinie (Kerberos oder Standard-UNIX)
Art des Namen-Service (None ist eine gültige Antwort)
Namen-Service-Domäne
Namenserver
Standard-Zeitzone
Root-Passwort
Dieses Verfahren wird unter Durchführen der internen Erstkonfiguration der Zone beschrieben.
Eine von Ihnen erstellte /etc/sysidcfg-Datei, die Sie in der Zone speichern können, bevor Sie die Zone das ersten Mal booten. Weitere Informationen finden Sie in der Manpage sysidcfg(4).
In diesem Abschnitt werden die Methoden beschrieben, mit denen Sie sich bei einer Zone anmelden können
Jede Zone verfügt über eine virtuelle Konsole, /dev/console. Das Ausführen von Aktionen an der Konsole wird als Konsolenmodus bezeichnet. Die Zonenkonsole ist eng mit einer seriellen Konsole auf einem System verwandt. Verbindungen zur Konsole bleiben auch nach einem Neustart der Zone bestehen. Wie sich der Konsolenmodus von einer Anmeldesitzung wie z. B. telnet unterscheidet, können Sie unter Remote-Anmeldung nachlesen.
Der Zugriff auf die Zonenkonsole erfolgt über den Befehl zlogin mit der Option -C und dem Zonennamen. Die Zone darf sich nicht im Status „running“ befinden.
Prozesse innerhalb der Zone können geöffnet sein und Meldungen auf die Konsole schreiben. Wenn der Prozess zlogin -C beendet wird, kann ein anderer Prozess auf die Konsole zugreifen.
Wenn Sie sich mit einem Benutzernamen bei einer Zone anmelden möchten, geben Sie den Befehl zlogin mit der Option -l, dem Benutzernamen und dem Zonennamen ein. Beispielsweise kann sich der globale Administrator als normaler Benutzer bei einer nicht-globalen Zone anmelden, indem er die Option -l für den Befehl zlogin angibt:
global# zlogin -l user zonename |
Um sich als der Benutzer root anzumelden, verwenden Sie den Befehl zlogin ohne Optionen.
Falls ein Problem bei der Anmeldung auftritt und Sie nicht mit dem Befehl zlogin oder dem Befehl zlogin mit der Option -C auf die Zone zugreifen können, steht Ihnen noch eine Alternative zur Verfügung. Sie können mit dem Befehl zlogin und der Option -S (safe/sicher) auf die Zone zugreifen. Verwenden Sie diesen Modus jedoch nur dann, wenn Sie eine beschädigte Zone wiederherstellen möchten oder andere Formen der Anmeldung nicht erfolgreich sind. In dieser minimalen Umgebung ist eine Diagnose möglich, warum eine Anmeldung bei der Zone fehlschlägt.
Die Möglichkeit zur remoten Anmeldung bei einer Zone hängt von den eingerichteten Netzwerkservices ab. Standardmäßig können Anmeldungen über rlogin, ssh und telnet vorgenommen werden. Weitere Informationen zu diesen Befehlen finden Sie unter rlogin(1), ssh(1) und telnet(1).
Zwei weitere Methoden für den Zugriff auf eine Zone und das Ausführen von Befehlen innerhalb der Zone werden über den Befehl zlogin bereitgestellt. Diese Methoden sind der interaktiven Modus und der nicht-interaktive Modus.
Im interaktiven Modus wird ein neues Pseudo-Terminal für die Verwendung in der Zone zugewiesen. Im Gegensatz zum Konsolenmodus, bei dem exklusiver Zugriff auf das Konsolengerät gewährt wird, können im interaktiven Modus beliebig viele zlogin-Sitzungen geöffnet sein. Der interaktive Modus wird aktiviert, wenn Sie keinen Befehl eingeben, der in der Zone ausgeführt werden soll. Programme, die ein Terminalgerät benötigen (z. B. ein Editor) arbeiten in diesem Modus korrekt.
Der nicht-interaktive Modus dient zum Ausführen von Shell-Skripten, mit denen die Zone verwaltet wird. Der nicht-interaktive Modus weist kein neues Pseudo-Terminal zu. Der nicht-interaktive Modus wird aktiviert, wenn Sie einen Befehl eingeben, der in der Zone ausgeführt werden soll.
In diesem Kapitel finden Sie Verfahren zum Vervollständigen der Konfiguration einer installierten Zone, zum Anmelden bei der Zone von der globalen Zone aus sowie zum Herunterfahren einer Zone. Außerdem wird gezeigt, wie der Befehl zonename zum Drucken des Namens der aktuellen Zonen verwendet wird.
Einer Einführung in den Prozess zur Anmeldung bei einer Zone finden Sie in Kapitel 21Einführung in das Anmeldeverfahren bei einer nicht-globalen Zone .
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Durchführen der internen Konfiguration. |
Anmelden bei der Zonenkonsole oder Verwenden einer /etc/sysidcfg-Datei, um die Erstkonfiguration der Zone vorzunehmen. | |
Anmeldung bei der Zone. |
Sie können sich über die Konsole, durch Verwenden des interaktiven Modus zum Zuweisen eines Pseudo-Terminals oder durch Eingabe eines Befehls anmelden, der in der Zone ausgeführt wird. Durch Angabe eines auszuführenden Befehls wird kein Pseudo-Terminal zugewiesen. Sie können sich auch im abgesicherten Modus anmelden, wenn das Herstellen einer Verbindung mit der Zone verweigert wird. | |
Beenden einer nicht-globalen Zone. |
Trennen der Verbindung mit einer nicht-globalen Zone. | |
Herunterfahren einer Zone. |
Herunterfahren einer Zone mit dem Dienstprogramm shutdown oder einem Skript. |
So verwenden Sie den Befehl zlogin zum Herunterfahren einer Zone |
Drucken des Zonennamens. |
Drucken des Namens der aktuellen Zone. |
Sie müssen eine Zone mit einer der folgenden Methoden konfigurieren:
Melden Sie sich bei der Zone an und konfigurieren Sie sie gemäß der Beschreibung unter Interne Zonenkonfiguration.
Konfigurieren Sie die Zone mit einer /etc/sysidcfg-Datei gemäß der Beschreibung unter So verwenden Sie die Datei /etc/sysidcfg zum Durchführen einer Erstkonfiguration der Zone.
Nachdem Sie die interne Konfiguration durchgeführt haben, sollten Sie eine Kopie der Konfiguration der nicht-globalen Zone anlegen. Mit dieser Sicherungskopie können Sie die Zone ggf. zu einem späteren Zeitpunkt wiederherstellen. Melden Sie sich als Superuser oder Primäradministrator an, und drucken Sie die Konfiguration der Zone my-zone in eine Datei. Im folgenden Beispiel wird eine Datei mit der Bezeichnung my-zone.config verwendet.
global# zonecfg -z my-zone export > my-zone.config |
Weitere Informationen finden Sie unter So stellen Sie eine einzelne nicht-globale Zone wieder her.
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 .
Geben Sie den Befehl zlogin mit der Option -C und dem Zonennamen (verwenden Sie in diesem Fall my-zone) ein.
global# zlogin -C my-zone |
Booten Sie die Zone von einem anderen Terminalfenster aus.
global# zoneadm -z my-zone boot |
In dem Fenster zlogin sollte in etwa Folgendes angezeigt werden:
[NOTICE: Zone booting up] |
Wenn Sie sich das erste Mal bei der Konsole anmelden, werden Sie zur Beantwortung einer Reihe von Fragen aufgefordert. Der Bildschirm zeigt in etwa Folgendes an:
SunOS Release 5.10 Version Generic 64-bit Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Hostname: my-zone Loading smf(5) service descriptions: Select a Language 1. English 2. es 2. fr Please make a choice (0 - 1), or press h or ? for help: Select a Locale 1. English (C - 7-bit ASCII) 2. Canada (English) (UTF-8) 4. U.S.A. (UTF-8) 5. U.S.A. (en_US.ISO8859-1) 6. U.S.A. (en_US.ISO8859-15) 7. Go Back to Previous Screen Please make a choice (0 - 9), or press h or ? for help: What type of terminal are you using? 1) ANSI Standard CRT 2) DEC VT52 3) DEC VT100 4) Heathkit 19 5) Lear Siegler ADM31 6) PC Console 7) Sun Command Tool 8) Sun Workstation 9) Televideo 910 10) Televideo 925 11) Wyse Model 50 12) X Terminal Emulator (xterms) 13) CDE Terminal Emulator (dtterm) 14) Other Type the number of your choice and press Return: 13 . . . |
Eine vollständige Liste der zu beantwortenden Fragen finden Sie unter Interne Zonenkonfiguration.
(Optional) Wenn Sie nicht, wie in Schritt 3 beschrieben, zwei Fenster verwenden, haben Sie eventuell die erste Eingabeaufforderung nach Konfigurationsinformationen verpasst. Wenn bei der Zonenanmeldung die folgende Systemmeldung anstelle einer Eingabeaufforderung angezeigt wird:
[connected to zone zonename console] |
Drücken Sie die Eingabetaste, um die Eingabeaufforderung erneut anzuzeigen.
Falls Sie eine falsche Antwort eingegeben haben und versuchen, die Konfiguration neu zu starten, treten bei diesem Versuch eventuell Probleme auf. Dies liegt daran, dass das Dienstprogramm sysidtools Ihre vorherigen Antworten eventuell gespeichert hat.
In diesem Fall verwenden Sie das folgende Verfahren von der globalen Zone aus, um den Konfigurationsprozess neu zu starten.
global# zlogin -S zonename /usr/sbin/sys-unconfig |
Weitere Informationen zum Befehl sys-unconfig finden Sie in der Manpage sys-unconfig(1M).
Solaris 10 8/07: Das Schlüsselwort nfs4_domain wurde hinzugefügt. Beispieldateien zeigen dieses Schlüsselwort. Im folgenden Schritt&;4 ist ein zusätzlicher Schritt dargestellt, wenn Sie eine frühere Version verwenden.
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 .
Wechseln Sie von der globalen Zone aus in das Verzeichnis /etc der nicht-globalen Zone:
global# cd /export/home/my-zone/root/etc |
Erstellen Sie eine sysidcfg-Datei und speichern Sie sie in diesem Verzeichnis.
Die Datei sollte wie folgt aussehen:
Bei einer Shared IP-Zone:
system_locale=C terminal=dtterm network_interface=primary { hostname=my-zone } security_policy=NONE name_service=NIS { domain_name=special.example.com name_server=bird(192.168.112.3) } nfs4_domain=domain.com timezone=US/Central root_password=m4qtoWN |
Bei einer Exclusive IP-Zone mit einer statischen IP-Konfiguration:
system_locale=C terminal=dtterm network_interface=primary { hostname=my-zone default_route=10.10.10.1 ip_address=10.10.10.13 netmask=255.255.255.0 } nfs4_domain=domain.com timezone=US/Central root_password=m4qtoWN |
Bei einer Exclusive IP-Zone mit DHCP- und IPv6-Option:
system_locale=C terminal=dtterm network_interface=primary { dhcp protocol_ipv6=yes } security_policy=NONE name_service=DNS { domain_name=example.net name_server=192.168.224.11,192.168.224.33 } nfs4_domain=domain.com timezone=US/Central root_password=m4qtoWN |
Wenn Sie ein Release vor Solaris&;10&;8/07 verwenden, befindet sich das Schlüsselwort nfs4_domain nicht in der Konfigurationsdatei sysidcfg. Standardmäßig fordert ein separates Modul die NFSv4-Domänenparameter an, die vom Befehl nfsmapid verwendet werden. Um die Erstkonfiguration der Zone fertig zu stellen, bearbeiten Sie die Datei default/nfs, entfernen das Kommentarzeichen für den Parameter NFSMAPID_DOMAIN und setzen die Domäne auf die gewünschte NFSv4-Domäne:
global# vi default/nfs . . . NFSMAPID_DOMAIN=domain |
Erstellen Sie in diesem Verzeichnis die Datei .NFS4inst_state.domain, um zu kennzeichnen, dass die NFSv4-Domäne festgelegt wurde:
global# touch .NFS4inst_state.domain |
Weitere Informationen zum NFSv4-Domänenparameter finden Sie in der Manpage nfsmapid(1M).
Booten Sie die Zone.
Weitere Informationen finden Sie in der Manpage sysidcfg(4).
Mit dem Befehl zlogin melden Sie sich von der globalen Zone aus bei einer Zone an, die sich im Status „running“ oder „ready“ befindet. Weitere Informationen finden Sie in der Manpage zlogin(1).
Sie können sich auf verschiedene Arten bei einer Zone anmelden. Einige dieser Methoden werden im Folgenden beschrieben. Sie können sich auch, wie unter Remote-Anmeldung beschrieben, remote anmelden.
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 .
Geben Sie den Befehl zlogin mit der Option -C und dem Zonennamen (in diesem Beispiel my-zone) ein.
global# zlogin -C my-zone |
Wenn Sie die zlogin-Sitzung unmittelbar nach Eingabe des Befehls zoneadm boot starten, werden die Boot-Meldungen der Zone angezeigt:
SunOS Release 5.10 Version Generic 64-bit Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. starting rpc services: rpcbind done. syslog service starting. The system is ready. |
Wenn die Zonenkonsole angezeigt wird, melden Sie sich als root an, drücken die Eingabetaste und geben nach der Aufforderung das Root-Passwort ein.
my-zone console login: root Password: |
Im interaktiven Modus wird ein neues Pseudo-Terminal für die Verwendung in der Zone zugewiesen.
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 .
Melden Sie sich von der globalen Zone aus bei einer Zone (in diesem Beispiel my-zone) an.
global# zlogin my-zone |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
[Connected to zone 'my-zone' pts/2] Last login: Wed Jul 3 16:25:00 on console Sun Microsystems Inc. SunOS 5.10 Generic June 2004 |
Geben Sie exit ein, um die Verbindung zu beenden.
Eine Meldung ähnlich der Folgenden wird angezeigt:
[Connection to zone 'my-zone' pts/2 closed] |
Der nicht-interaktive Modus wird aktiviert, wenn der Benutzer einen Befehl eingibt, der in der Zone ausgeführt werden soll. Der nicht-interaktive Modus weist kein neues Pseudo-Terminal zu.
Beachten Sie, dass sich der Befehl oder die Dateien, auf die der Befehl angewendet werden soll, nicht auf einem NFS befinden können.
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 .
Melden Sie sich von der globalen Zone aus bei der Zone my-zone an und geben Sie einen Befehlsnamen ein.
In diesem Beispiel wird der Befehl zonename verwendet.
global# zlogin my-zone zonename |
Die folgende Ausgabe wird angezeigt:
my-zone |
Weitere Informationen zu den Optionen des Befehls zlogin finden Sie unter zlogin(1).
Wenn das Herstellen einer Verbindung mit der Zone verweigert wird, können Sie den Befehl zlogin mit der Option -S eingeben, um auf eine minimale bzw. abgesicherte Umgebung in der Zone zuzugreifen.
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 .
Geben Sie aus den Befehl zlogin mit der Option -S von der globalen Zone aus ein, um auf die Zone (in diesem Beispiel my-zone) zuzugreifen.
global# zlogin -S my-zone |
Beim Ausführen von init 0 in der globalen Zone zum ordnungsgemäßen Herunterfahren eines Solaris-Systems wird init 0 auch in jeder nicht-globalen Zone des Systems ausgeführt. Beachten Sie bei der Verwendung von init 0, dass weder lokale noch remote Benutzer gewarnt werden, sich vom System abzumelden, bevor es heruntergefahren wird.
Mit dem folgenden Verfahren wird eine Zone ordnungsgemäß heruntergefahren. Wie Sie eine Zone anhalten ohne Skripten zum Herunterfahren auszuführen, können Sie unter So halten Sie eine Zone an nachlesen.
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 .
Melden Sie sich bei der herunterzufahrenden Zone (in diesem Beispiel my-zone) an, und geben Sie shutdown als Namen des Dienstprogramms sowie „init 0“ als Status ein.
global# zlogin my-zone shutdown -y -g0 -i 0 |
Ihr Standort verfügt eventuell über ein eigenes Skript zum Herunterfahren, das auf Ihre besondere Umgebung zugeschnitten ist.
Sie können den Befehl shutdown nicht im nicht-interaktiven Modus verwenden, um eine Zone in den Einzelbenutzermodus zu versetzen. Weitere Informationen finden Sie unter CR 6214427.
Sie können sich, wie unter So verwenden Sie den interaktiven Modus für den Zugriff auf eine Zone beschrieben, interaktiv anmelden.
Diese Zone wurde mit der offenen Netzwerkkonfiguration installiert, die in Kapitel 19, Managing Services (Tasks) in System Administration Guide: Basic Administration beschrieben ist. Sie können die Zone zu einer begrenzten Netzwerkkonfiguration umschalten oder einzelne Services in der Zone aktivieren bzw. deaktivieren.
Melden Sie sich von der globalen Zone aus bei einer Zone (in diesem Beispiel my-zone) an.
global# zlogin my-zone |
Rufen Sie den Befehl netservices auf, um die Zone zu einer begrenzten Netzwerkkonfiguration umzuschalten.
my-zone# /usr/sbin/netservices limited |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden. Beantworten Sie die Frage zum Neustart von dtlogin mit y.
restarting syslogd restarting sendmail dtlogin needs to be restarted. Restart now? [Y] y restarting dtlogin |
Melden Sie sich von der globalen Zone aus bei einer Zone (in diesem Beispiel my-zone) an.
global# zlogin my-zone |
Führen Sie den Befehl svcadm aus, um den reellen Speicher mit dem Resource Capping Daemon zu steuern.
my-zone# svcadm enable svc:/system/rcap:default |
Listen Sie die Services auf, um sicherzustellen, dass rcapd aktiviert ist.
my-zone# svcs -a . . . online 14:04:21 svc:/system/rcap:default . . . |
Mit dem in der Manpage zonename(1) ausführlich beschriebenen Befehl zonename drucken Sie den Namen der aktuellen Zone. Das folgende Beispiel zeigt die Ausgabe, wenn der Befehl zonename in der globalen Zone eingesetzt wird.
# zonename global |
Dieses Kapitel wurde für das Solaris-Release 10 11/06 neu aufgenommen. Zusätzliche Leistungsmerkmale kamen in späteren Versionen hinzu.
In diesem Kapitel wird Folgendes beschrieben:
Das Verschieben einer vorhandenen nicht-globalen Zone an einem neuen Speicherort auf dem gleichen Computer.
Überprüfen der voraussichtlichen Vorgänge bei der Migration einer nicht-globalen Zone, bevor die tatsächliche Migration ausgeführt wird.
Das Migrieren einer bestehenden nicht-globalen Zone auf einen neuen Computer
Verwenden Sie die Befehle zoneadm detach und zoneadm attach zum Aktualisieren einer Zone, die sich auf einer niedrigeren Patch-Ebene im Vergleich zur Ebene einer globalen Zone auf einer höheren Patch-Ebene befindet.
Ab Solaris-Release 10 10/08: Wenn auf dem neuen Host die gleichen oder neuere Versionen zonenabhängiger Pakete und zugehöriger Patches installiert sind, wird durch Verwendung von zoneadm attach mit der Option -u der Mindestsatz an Paketen aktualisiert, der erforderlich ist, um die nicht-globale Zone auf dem neuen Host verwenden zu können. Wenn im Vergleich zum Ausgangshost auf dem neuen Host ein Mix von Patches höherer und niedrigerer Versionen installiert ist, ist eine Aktualisierung während des Anhängens nicht zulässig.
Der Befehl zoneadm attach mit der Option -u ermöglicht auch die Migration zwischen Rechnerklassen, z. B. von sun4u auf sun4v.
Ab Solaris-Release 10 9/10 aktualisiert zoneadm attach mit der Option -U 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. Diese Option ermöglicht auch die automatische Migration zwischen Rechnerklassen wie z.B. von sun4u auf sun4v
Alternativ zum normalen Patchen können die Zonen getrennt werden, während Patches auf die globale Zone angewendet werden, und danach mit der Option -U wieder angehängt werden, damit sie der Patch-Ebene der globalen Zone entsprechen.
Informationen zum Verschieben und Migrieren von lx Branded Zones finden Sie unter Kapitel 37Verschieben und Migrieren von lx Branded Zones (Vorgehen).
Mit diesem Verfahren verschieben Sie die Zone an einen neuen Speicherort auf dem gleichen System. Dazu ändern Sie nur den zonepath. 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.
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.
Halten Sie die zu verschiebende Zone, in diesem Beispiel db-zone, an.
global# zoneadm -z db-zone halt |
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 |
Überprüfen Sie den Pfad.
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared - db-zone installed /export/zones/db-zone native shared |
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.
Ein Computer, der als Host für eine native Solaris-Zone fungiert, kann unbrauchbar werden. Solange jedoch die Speicherung der Zonen bestehen bleibt (z. B. ein SAN), kann eine Zone noch erfolgreich zu einem neuen Host migriert werden. Sie können den zonepath der Zone auf den neuen Host verschieben. 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. Da die Zone nicht ordnungsgemäß getrennt wurde, müssen Sie die Zone zunächst auf den neuen Host erstellen. Dazu verwenden Sie den Befehl zonecfg. Anschließend fügen Sie die Zone auf dem neuen Host ein. Obwohl der neue Host melden wird, dass die Zone nicht ordnungsgemäß getrennt wurde, wird das System die Zone erfolgreich einfügen.
Das Verfahren für diese Tast ist in den Schritten 4 bis 8 unter So migrieren Sie eine nicht-globalen Zone beschrieben. Lesen Sie auch So verschieben Sie den zonepath auf einen neuen Host.
Das zum Migrieren von Zonen zu einem anderen System entwickelte Verfahren "Aktualisieren während des Anhängens" kann auch zum Patchen von Zonen verwendet werden. Dadurch ist die globale Zone schneller verfügbar. Der Systemadministrator kann dann bestimmen, welche Zonen zuerst aktualisiert werden, damit diese Zonen verfügbar sind, bevor andere, weniger kritische Zonen aktualisiert und gestartet werden.
Mit dem folgenden Verfahren werden alle Patches aktualisiert, sodass die Zone einer neu auf dem System installierten Zone gleicht:
Vor dem Anwenden eines Patch Bundles auf die globale Zone müssen Sie alle nicht-globalen Zonen abtrennen.
Wenden Sie das Patch Bundle auf die globale Zone an.
Nach Anwenden des Bundles und Neustart des Systems verwenden Sie den Befehl zoneadm attach mit der Option -U, um die nicht-globalen Zonen auf die gleiche Patch-Ebene wie die globale Zone zu bringen.
Alle Pakete, die in dieser Zone, jedoch nicht in der globalen Zone installiert sind, werden ignoriert und sind nicht betroffen.
Zum schnellen Patching unter Verwendung des Dienstprogramms patchadd lesen Sie Solaris 10 10/09: Paralleles Patchen von Zonen zur Reduzierung der für das Patchen erforderlichen Zeit.
Eine P2V-Funktion (physical-to-virtual) wird zur direkten Migration eines vorhandenen Solaris-Systems in eine native Zone auf einem Zielsystem verwendet.
Abhängig von den durch das ursprüngliche System durchgeführten Diensten muss der globale Administrator die Zone nach der Installation möglicherweise manuell anpassen. Beispielsweise müssen die der Zone zugewiesenen Berechtigungen eventuell geändert werden. Dies erfolgt nicht automatisch. Da einige Systemdienste nicht innerhalb von Zonen funktionieren, sind einige reelle Systeme nicht zur Migration in eine Zone geeignet.
Wenn das über P2V zu installierende Systemabbild neuer als die Betriebssystemversion auf dem Zielhost ist, schlägt die Installation fehl.
Sammeln Sie die erforderlichen Informationen des Ausgangssystems.
Beziehen Sie den Hostnamen:
# hostname |
Beziehen Sie die Host-ID:
# hostid |
Lesen Sie hierzu auch Emulation der Host-ID.
Beziehen Sie das Root-Passwort.
Zeigen Sie die auf dem System ausgeführte Software an:
# ps -eaf |
Prüfen Sie die Netzwerkkonfiguration auf dem System:
# ifconfig -a |
Prüfen Sie die Speicherausnutzung beispielsweise durch Anzeigen der Inhalte von /etc/vfstab.
Zeigen Sie den verwendeten lokalen Festplattenspeicher an, wodurch die Größe des Archivs bestimmt wird:
# df -k |
Ermitteln Sie die auf dem System installierten Pakete und Patches. Weitere Informationen finden Sie unter pkginfo(1).
Untersuchen Sie die Inhalte von /etc/system.
Sie können mit den Flash-Archivierungstools ein Abbild des installierten Systems erstellen, das in eine Zone migriert werden kann.
Das System kann mit der gesamten Software, die in der Zone ausgeführt wird, konfiguriert werden, bevor das Abbild erstellt wird. Dieses Abbild wird dann vom Installationsprogramm verwendet, wenn die Zone installiert ist.
Wenn Sie ein Solaris Flash-Archiv oder flar eines Solaris 10-Systems erstellen, das über einen ZFS-Root verfügt, dann ist flar standardmäßig ein ZFS send-Datenstrom, mit dem der Root-Pool wiederhergestellt werden kann. Dieses Abbild kann nicht zum Installieren einer Zone verwendet werden. Sie müssen das flar mit einem expliziten cpio- oder pax-Archiv erstellen, wenn das System über einen ZFS-Root verfügt.
Verwenden Sie den Befehl flarcreate mit der Option -L Archivierer und geben Sie cpio oder pax als Methode zur Archivierung der Dateien an. Weitere Informationen finden Sie in Schritt 4 des nächsten Verfahrens.
Mit dem Befehl flarcreate, der in der Manpage flarcreate(1M) beschrieben ist, können Sie das Systemabbild erstellen. In diesem Beispielverfahren wird NFS verwendet, um das Flash-Archiv auf dem Solaris-Zielsystem zu platzieren, Sie können jedoch die Datei mit einer beliebigen Methode verschieben.
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.
Melden Sie sich bei dem zu archivierenden Ausgangsystem an.
Wechseln Sie in das root-Verzeichnis.
# cd / |
Erstellen Sie mit dem Befehl flarcreate eine Flash-Archiv-Abbilddatei namens s10-system auf dem Ausgangssystem und verschieben Sie das Archiv auf das Zielsystem:
source-system # flarcreate -S -n s10-system -L cpio /net/target/export/s10-system.flar Determining which filesystems will be included in the archive... Creating the archive... cpio: File size of "etc/mnttab" has increased by 435 2068650 blocks 1 error(s) Archive creation complete. |
Der Zielcomputer benötigt root-Schreibzugriff auf das /export-Dateisystem. Abhängig von der Größe des Dateisystems auf dem Host kann das Archiv mehrere Gigabyte umfassen. Achten Sie also darauf, dass das Zieldateisystem genügend freien Speicherplatz aufweist.
In einigen Fällen kann flarcreate Fehler des Befehls cpio anzeigen. Meistens sind dies Meldungen wie Dateigröße von etc/mnttab hat sich um 435 vergrößert. Wenn diese Meldungen Protokolldateien oder Dateien betreffen, die den Systemstatus widerspiegeln, können sie ignoriert werden. Überprüfen Sie alle Fehlermeldungen genau.
Sie können das Archiv auch auf andere Art erstellen. Das Installationsprogramm akzeptiert folgende Archivformate:
cpio-Archive
Mit gzip komprimierte cpio-Archive
Mit bzip2 komprimierte cpio-Archive
pax-Archive, die im Format -x xustar (XUSTAR) erstellt wurden
ufsdump-Sicherungen der Ebene Null (vollständige Sicherungen)
Das Installationsprogramm akzeptiert nur Dateiverzeichnisse, die mit einem Archivierungsdienstprogramm erstellt wurden, das Dateizugriffsrechte, Eigentümerschaft und Links speichert und wiederherstellt.
Weitere Informationen finden Sie in den Manpages cpio(1), pax(1), bzip2 (1), gzip(1) und ufsdump(1M).
Wenn Sie das P2V-Archiv mit einer anderen Methode als der Flash-Archivierung erstellen, müssen Sie zuvor die prozessorabhängige libc.so.1 lofs-eingehängte Hardwarefunktionsbibliothek (hwcap) auf dem Ausgangssystem aushängen. Andernfalls kann die mit dem Archiv installierte Zone auf dem Zielsystem möglicherweise nicht gestartet werden. Nachdem Sie das Archiv erstellt haben, können Sie die entsprechende Hardwarefunktionsbibliothek über /lib/libc.so.1 neu einhängen, indem Sie lofs und die Einhängeoption -O verwenden.
source-system# unmount /lib/libc.so.1 source-system# mount -O -F lofs /lib/libc.so.1 |
Wenn Anwendungen von einem reellen Solaris-System in eine Zone auf einem neuen System migriert werden, ändert sich die hostid in die hostid des neuen Rechners.
In einigen Fällen hängen Anwendungen von der ursprünglichen hostid ab und die Anwendungskonfiguration kann nicht aktualisiert werden. In diesen Fällen kann die Zone zur Verwendung der hostid des ursprünglichen Systems konfiguriert werden. Dazu richten Sie eine zonecfg-Eigenschaft zur Angabe der hostid ein, wie unter So konfigurieren Sie die Zone beschrieben. Der Wert sollte der Ausgabe des auf dem ursprünglichen System ausgeführten Befehls hostid entsprechen. Um die hostid in einer installierten Zone anzuzeigen, können Sie auch den Befehl hostid verwenden.
Weitere Informationen zu Host-IDs finden Sie unter hostid(1).
Erstellen Sie die neue Zonenkonfiguration nach der unter So konfigurieren Sie die Zone beschriebenen Vorgehensweise.
Wenn Sie CDs oder DVDs zur Installation der Anwendungen in einer neuen Zone verwenden, stellen Sie bei der Erstkonfiguration der Branded Zone mit dem Befehl add fs schreibgeschützten Zugriff auf CD- oder DVD-Medien in der globalen Zone ein. Zur Installation eines Produkts in der Branded Zone können CDs oder eine DVD verwendet werden. Weitere Informationen dazu finden Sie unter So fügen Sie den Zugriff auf CD- oder DVD-Medien in einer nicht-globalen Zone hinzu.
Der Befehl zoneadm, der unter Teil II, Zonen und in der Manpage zoneadm(1M) beschrieben wird, ist das primäre Tool zur Installation und Verwaltung nicht-globaler Zonen. Vorgänge, bei denen der Befehl zoneadm eingesetzt wird, müssen von der globalen Zone auf dem Zielsystem aus ausgeführt werden.
Außer dem Entpacken von Dateien aus dem Archiv werden bei der Installation Überprüfungen, Nachbearbeitung und andere Funktionen ausgeführt, um zu gewährleisten, dass die Zone zur Ausführung auf dem Host optimiert ist.
Sie können ein Abbild eines Solaris-Systems verwenden, das mit der gesamten Software konfiguriert wurde, die in der Zone ausgeführt wird. Weitere Informationen finden Sie unter Erstellen des Abbilds zur direkten Migration eines Solaris-Systems in eine Zone.
Wenn Sie ein Solaris-Systemarchiv von einem vorhandenen System erstellt haben und bei der Installation der Zone die Option -p (sysidcfg erhalten) verwenden, hat die Zone die gleiche ID wie das System, das zur Erstellung des Abbilds verwendet wurde.
Wenn Sie bei der Installation der Zone auf dem Ziel die Option -u (sys-unconfig) verwenden, sind weder Hostname noch Namen-Service für die erstellte Zone konfiguriert.
Sie müssen entweder die Option -p oder die Option -u angeben, sonst wird eine Fehlermeldung ausgegeben.
Option |
Beschreibung |
---|---|
-a |
Speicherort des Archivs, von dem das Systemabbild kopiert wird. Ein vollständiges Flash-Archiv und cpio-, mit gzip komprimiertes cpio, mit bzip komprimiertes cpio und ufsdump der Ebene 0 werden unterstützt. Lesen Sie die Manpage gzip, die im Paket SUNWsfman zur Verfügung gestellt wird. |
-d Pfad |
Speicherort des Verzeichnisses, von dem das Systemabbild kopiert wird. |
-d — |
Verwenden Sie die Option -d mit dem Strichparameter, um anzugeben, dass das vorhandene Verzeichnis-Layout in zonepath verwendet werden soll. Wenn der Administrator daher das zonepath-Verzeichnis vor der Installation manuell einrichtet, kann mit der Option -d — angegeben werden, dass das Verzeichnis bereits vorhanden ist. |
-p |
System-ID erhalten. |
-s |
Im automatischen Modus installieren. |
-u |
sys-unconfig der Zone. |
-v |
Ausführliche Ausgabe. |
Die Optionen -a und -d schließen sich gegenseitig aus. Die Optionen -p, -s, -u und -v sind nur zulässig, wenn entweder -a oder -d angegeben wird.
Melden Sie sich als Superuser an oder nehmen Sie die Rolle des Primäradministrators an.
Installieren Sie die konfigurierte Zone s-zone mit dem Befehl zoneadm und der Option install -a sowie dem Pfad zum Archiv.
global# zoneadm -z s-zone install -u -a /net/machine_name/s-system.flar |
Während der Installation werden verschiedene Meldungen angezeigt. Dies kann etwas Zeit beanspruchen.
Wenn die Installation jetzt abgeschlossen wird, versuchen Sie den Unterbefehl list mit den Optionen -i und -v, um die installierten Zonen aufzulisten und deren Status zu überprüfen.
Wenn eine Installation fehlschlägt, sehen Sie sich die Protokolldatei an. Wenn die Installation erfolgreich ist, befindet sich die Protokolldatei unter /var/log innerhalb der Zone. Wenn die Installation fehlschlägt, befindet sich die Protokolldatei unter /var/tmp innerhalb der globalen Zone.
Wenn die Installation einer Zone unterbrochen wird oder fehlschlägt, befindet sie sich im Status „incomplete“. Geben Sie den Befehl uninstall -F ein, um die Zone in den Status „configured“ zurückzusetzen.
Für dieses Verfahren müssen Sie als globaler Administrator bei der globalen Zone angemeldet sein.
Wenn Sie die Option -u verwendet haben, müssen Sie sich mit zlogin bei der Zonenkonsole anmelden und die Systemkonfiguration gemäß der Beschreibung unter Durchführen der internen Erstkonfiguration der Zone durchführen.
Melden Sie sich als Superuser an oder nehmen Sie die Rolle des Primäradministrators an.
Verwenden Sie den Befehl zoneadm mit der Option - z, den Namen der Zone (s-zone) und den Unterbefehl boot zum Booten der Zone.
global# zoneadm -z s-zone boot |
Nachdem das Booten abgeschlossen ist, geben Sie den Unterbefehl list mit der Option -v ein, um den Status zu überprüfen.
global# zoneadm list -v |
Solaris 10 1/06: Dieses Kapitel wurde vollständig überarbeitet.
In diesem Kapitel wird die Pflege des Betriebssystems Solaris bei installierten Zonen beschrieben. Hier finden Sie Informationen über das Hinzufügen von Paketen und Patches zum Betriebssystem in der globalen Zone und in allen installierten nicht-globalen Zonen. Darüber hinaus wird das Entfernen von Paketen und Patches beschrieben. Die Informationen in diesem Kapitel ergänzen die vorhandene Solaris-Dokumentation zur Installation und Anwendung von Patches. Weitere Informationen finden Sie in der Dokumentationssammlung für das Solaris-Release 10 und dessen Installation sowie dem System Administration Guide: Basic Administration .
In diesem Kapitel werden die folgenden Themen behandelt:
Neuerungen beim den Paketen und Patches bei installierten Zonen
Allgemeine Informationen zum Hinzufügen von Paketen in Zonen
Allgemeine Informationen zum Entfernen von Paketen aus Zonen
Allgemeine Informationen zum Hinzufügen von Patches in Zonen
Anwenden von Patches auf ein Solaris-System mit installierten Zonen
Entfernen von Patches auf einem Solaris-System mit installierten Zonen
Solaris 10 1/06: Dieses Kapitel wurde nach Solaris 10 neu geschrieben und dokumentiert jetzt das aktuelle Verhalten der Befehle für Pakete und Patches auf einem System mit installierten nicht-globalen Zonen.
Solaris 10 6/06: Die Informationen zu den Paketparametern SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW und SUNW_PKG_THISZONE wurden überarbeitet. Lesen Sie dazu Einführung in das Paket- und Patch-Tool und Informationen zu den Paketparametern.
Solaris 10 6/06 und höhere Releases: Informationen zum Registrieren Ihres Systems oder wie Sie Ihre Software-Updates mit Sun Connection (frühere Bezeichnung Sun Update Connection) verwalten, finden Sie unter Sun Connection hub on BigAdmin.
Solaris 10 8/07 und höhere Releases:
<Check Alignment of PHs>Wenn der Befehl patchadd zum Hinzufügen eines Pakets verwendet wird, das mit dem Befehl pkgadd und der Option -G installiert wurde, ist die Option -G für patchadd nicht mehr erforderlich.
Es wurde eine Tabelle hinzugefügt, in der die Ergebnisse aufgeführt sind, wenn die Befehle pkgadd, pkgrm, patchadd und patchrm auf einem System mit nicht-globalen Zonen in verschiedenen Status ausgeführt werden. Lesen Sie dazu So wirken sich Patch- und Paketvorgänge auf den Status einer Zone aus.
Es wurde eine Beschreibung der Interaktion von patchadd -G und der Variablen pkginfo hinzugefügt. Lesen Sie dazu Interaktionen von patchadd -G und der Variablen pkginfo auf Systemen mit installierten Zonen.
Informationen zum Patchen mit zurückgestellter Aktivierung wurden hinzugefügt. Lesen Sie dazu Solaris 10 8/07: Patchen mit verzögerter Aktivierung.
Informationen zur Option -G des Befehls pkgrm wurden gelöscht.
Solaris 10 5/08 und spätere Update-Releases: Ende des Supports für PatchPro. Die Unterstützung für PatchPro, das die Patch-Datenbank und Patch-Tools zum Installieren von Patches für Software, die in globalen und nicht-globalen Zonen installiert war, verwendete, endete im September 2007. Informationen zum aktuellen Prozess finden Sie unter Sun xVM Ops Center.
Solaris 10 5/08: Obwohl diese Informationen erst ab Solaris-Release 10 5/08 hinzugefügt wurden, gelten sie für alle Solaris 10-Systeme.
Sie können Ihr Solaris-System unter https://inventory.sun.com/inventory/ registrieren. Informationen zur Verwendung des Sun Inventory zur Registrierung von Hardware, Software und Betriebssystemen finden Sie im Sun Inventory Information Center.
Wenn Sie das Sun xVM Ops Center zum Bereitstellen, Aktualisieren und Verwalten der Systeme in Ihrem Rechenzentrum verwenden, sollten Sie unter Sun xVM Information Center nachlesen. Dort finden Sie Informationen zur Registrierung Ihrer Software mithilfe des Sun xVM Ops Center.
Solaris 10 10/09: Das parallele Patchen von Zonen ist eine Verbesserung im Vergleich zu den standardmäßigen Patch-Dienstprogrammen in Solaris 10. Für ältere Versionen als Solaris 10 10/09 wird diese Funktion im Patch für Patch-Dienstprogramme 119254-66 oder einer späteren Revision (SPARC) und 119255-66 oder einer späteren Revision (x86) bereitgestellt. Weitere Informationen finden Sie in Solaris 10 10/09: Paralleles Patchen von Zonen zur Reduzierung der für das Patchen erforderlichen Zeit und Solaris 10 10/09: Paralleles Patchen von Zonen. Unter Verwenden von "Aktualisieren während des Anhängens" als Patching-Lösung wird die empfohlene Methode zur schnellen Aktualisierung von Patches auf einem System mit Zonen beschrieben.
Eine vollständige Liste der neuen Funktionen in Solaris 10 sowie eine Beschreibung der Solaris-Releases finden Sie in Neuerungen in Oracle Solaris 9 10/10.
Die Solaris-Paket-Tools werden zum Verwalten der Zonen-Umgebung eingesetzt. Der globale Administrator kann das System auf eine neue Version von Solaris aufrüsten, wobei gleichzeitig die globale und alle nicht-globalen Zonen aktualisiert werden.
Solaris Live Upgrade, das standardmäßige Solaris-Programm zur interaktiven Installation oder das benutzerdefinierte JumpStart-Installationsprogramm können in der globalen Zone eingesetzt werden, um ein System mit nicht-globalen Zonen aufzurüsten. Für Zonen mit einem zonepath auf ZFS gelten folgende Einschränkungen:
Solaris Live Upgrade wird auf Systemen, deren zonepath sich auf einem ZFS befindet, ab Solaris 10 10/08 unterstützt.
Das System kann nur mit Solaris Live Upgrade aktualisiert werden.
Weitere Informationen finden Sie unter Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (Solaris 10 10/08) in Oracle Solaris ZFS-Administrationshandbuch.
Mit den Paket-Tools kann der Zonenadministrator alle in einer nicht-globalen Zone installierten Softwareanwendungen verwalten (innerhalb der in diesem Dokument beschriebenen Grenzen).
Bei installierten Zonen gelten die folgenden allgemeinen Richtlinien:
Der globale Administrator kann Software in jeder Zone auf dem System verwalten.
Das Root-Dateisystem einer nicht-globalen Zone kann mit den Paket- und Patch-Tools in Solaris von der globalen Zone aus verwaltet werden. Die Paket- und Patch-Tools in Solaris werden innerhalb der nicht-globalen Zone für die Verwaltung von gebündelten (bundled), eigenständigen (unbundled) oder Drittanbieterprodukten unterstützt.
Die Paket- und Patch-Tools arbeiten in einer Umgebung, in der Zonen aktiviert sind. Mit den Tools kann ein Paket oder ein Patch, das in der globalen Zone installiert wird, auch in einer nicht-globalen Zone installiert werden.
Der Paketparameter SUNW_PKG_ALLZONES definiert den Zonen-Geltungsbereich eines Pakets. Der Geltungsbereich legt den Zonentyp fest, in dem ein bestimmtes Paket installiert werden kann. Weitere Informationen zu diesem Parameter finden Sie unter SUNW_PKG_ALLZONES-Paketparameter.
Der Paketparameter SUNW_PKG_HOLLOW definiert die Sichtbarkeit eines Pakets, wenn es in allen Zonen installiert und in allen Zonen identisch sein muss. Weitere Informationen zu diesem Parameter finden Sie unter SUNW_PKG_HOLLOW-Paketparameter.
Der Paketparameter SUNW_PKG_THISZONE legt fest, ob ein Paket nur in der aktuellen Zone installiert werden muss. Weitere Informationen zu diesem Parameter finden Sie unter SUNW_PKG_THISZONE-Paketparameter.
Pakete, die keine Werte für Zonen-Paketparameter definieren, haben die Standardeinstellung false.
Die innerhalb einer nicht-globalen Zone sichtbaren Paketinformationen entsprechen den Dateien, die mit den Paket- und Patch-Tools in dieser Zone installiert wurden. Die Paketinformationen werden mit den inherit-pkg-dir-Verzeichnissen synchron gehalten.
Eine Änderung, beispielsweise ein zur globalen Zone hinzugefügter Patch bzw. Paket kann für alle Zonen übernommen werden. Diese Funktion sorgt für Konsistenz zwischen der globalen Zone und allen nicht-globalen Zonen.
Mit den Paket-Befehlen können Pakete hinzugefügt, entfernt und abgefragt werden. Mit den Patch-Befehlen können Patches hinzugefügt und entfernt werden.
Während der Durchführung von bestimmten Patch- oder Paketvorgängen wird eine Zone für andere Vorgänge dieses Typs vorübergehend gesperrt. Darüber hinaus fordert das System eventuell eine Bestätigung für den angeforderten Vorgang durch den Administrator an.
Nur ein Teil der in der globalen Zone installierten Solaris-Pakete werden bei der Installation einer nicht-globalen Zone vollständig repliziert. So sind z. B. viele Pakete, die den Solaris-Kerne enthalten, in einer nicht-globalen Zone nicht erforderlich. Alle nicht-globalen Zonen nutzen implizit den gleichen Solaris-Kernel von der globalen Zone. Auch wenn die Daten eines Pakets nicht erforderlich sind oder in einer nicht-globalen Zone nicht benötigt werden, muss eventuell auch in einer nicht-globalen Zone bekannt sein, dass ein bestimmtes Paket in der globalen Zone installiert wurde. Diese Informationen ermöglichen, dass Paketabhängigkeiten von nicht-globalen Zonen ordnungsgemäß mit der globalen Zone gelöst werden.
Pakete enthalten Parameter, mit denen festgelegt wird, wie ihr Inhalt verteilt wird und in einem System mit installierten nicht-globalen Zonen sichtbar gemacht wird. Die Paketparameter SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW und SUNW_PKG_THISZONE definieren die Eigenschaften von Paketen auf einem System mit installierten Zonen. Falls gewünscht, können Systemadministratoren anhand der Einstellungen dieser Paketparameter die Anwendbarkeit des Pakets prüfen, während sie ein Paket in einer Zonenumgebung anwenden oder entfernen. Die Werte dieser Parameter können mit dem Befehl pkgparam angezeigt werden. Weitere Informationen zu Parametern finden Sie unter Informationen zu den Paketparametern. Anweisungen zur Anwendung finden Sie unter Überprüfen der Paketparameter-Einstellungen auf einem System mit installierten Zonen.
Weitere Informationen zu den Paketeigenschaften und -parametern finden Sie in der Manpage pkginfo(4) Informationen zum Anzeigen der Werte von Paketparametern finden Sie in der Manpage pkgparam(1).
Wenn ein Patch für ein Paket generiert wird, müssen die Parameter die gleichen Werte wie die Parameter im ursprünglichen Paket aufweisen.
Jedes interaktive Paket (ein Paket, das ein Anforderungsskript enthält) wird nur der aktuellen Zone hinzugefügt. Mit diesem Paket wird keine andere Zone bestückt. Ein interaktive Paket wird der globalen Zone so behandelt, als ob es mit dem Befehl pkgadd und der Option -G hinzugefügt wurde. Weitere Informationen zu dieser Option finden Sie unter Allgemeine Informationen zum Hinzufügen von Paketen in Zonen.
Die in nicht-globalen Zonen installierte Software sollte weitestgehend mit der in der globalen Zone installierten Software synchron sein. Dies minimiert den Verwaltungsaufwand bei Systemen mit mehreren installierten Zonen.
Um dieses Ziel zu erreichen, erzwingen die Paket-Tools die folgenden Regeln beim Hinzufügen oder Entfernen von Paketen in der globalen Zone.
Wenn das Paket aktuell weder in der globalen Zone noch in einer nicht-globalen Zone installiert ist, kann es wie folgt installiert werden:
Nur in der globalen Zone, wenn SUNW_PKG_ALLZONES=false
Nur in der aktuellen (globalen) Zone, wenn SUNW_PKG_THISZONE=true
In der globalen Zone und in allen nicht-globalen Zonen
Wenn das Paket aktuell nur in der globalen Zone installiert ist:
Das Paket kann in allen nicht-globalen Zonen installiert werden.
Das Paket kann aus der globalen Zone entfernt werden.
Wenn ein Paket aktuell in der globalen Zone und nur in einem Teil der nicht-globalen Zonen installiert ist:
SUNW_PKG_ALLZONES muss auf false gesetzt sein.
Das Paket kann in allen nicht-globalen Zonen installiert werden. Vorhandene Instanzen in allen nicht-globalen Zonen werden auf die installierte Version aktualisiert.
Das Paket kann aus der globalen Zone entfernt werden.
Das Paket kann aus der globalen Zone und aus allen nicht-globalen Zonen entfernt werden.
Wenn ein Paket aktuell in der globalen Zone und in alle nicht-globalen Zone installiert ist, kann es aus der globalen Zone und aus allen nicht-globalen Zonen entfernt werden.
Diese Regeln stellen Folgendes sicher:
In der globalen Zone installierte Pakete werden entweder nur in der globalen Zone, oder in der globalen Zone und in allen nicht-globalen Zonen installiert.
In der globalen Zone und in nicht-globalen Zonen installierte Pakete sind in allen Zonen gleich.
In einer nicht-globalen Zone sind die folgenden Paketvorgänge möglich:
Wenn ein Paket aktuell nicht in der nicht-globalen Zone installiert ist, kann es nur dann installiert werden, wenn SUNW_PKG_ALLZONES=false ist.
Das Paket kann in der aktuellen (nicht-globalen) Zone installiert werden, wenn SUNW_PKG_THISZONE=true ist.
Wenn ein Paket aktuell in der nicht-globalen Zone installiert ist:
Das Paket kann nur dann über eine vorhandene Instanz des Pakets installiert werden, wenn SUNW_PKG_ALLZONES=false ist.
Das Paket kann nur dann aus der nicht-globalen Zone entfernt werden, wenn SUNW_PKG_ALLZONES=false ist.
In der folgenden Tabelle sind die Ergebnisse aufgeführt, wenn die Befehle pkgadd, pkgrm, patchadd und patchrm auf einem System mit nicht-globalen Zonen in verschiedenen Status ausgeführt werden.
Bitte beachten Sie, dass für Solaris 10 5/08 in dieser Tabelle Änderungen an der Beschreibung des Status „Installed“ vorgenommen wurden.
Status der Zone |
Auswirkung des Patch- und Paketvorgangs |
---|---|
Configured |
Patch- und Paket-Tools können ausgeführt werden. Es wurde noch keine Software installiert. |
Installed |
Patch- und Paket-Tools können ausgeführt werden. Während der Ausführung von Patch- oder Paketoperationen bringt das System die betreffende Zone vom Status „Installed“ in den neuen internen Status „Mounted“. Nach dem Abschluss der Patch-Operation kehrt das System zurück in den Status “Installed“. Bitte beachten Sie, dass nach Abschluss des Befehls zoneadm - z Zonenname install die Zone ebenfalls in den Status „Installed“ gebracht wird. Auf einer Zone mit dem Status „Installed“, die noch niemals gebootet wurde, können keine Patches installiert bzw. Paketbefehle ausgeführt werden. Die Zone muss dafür mindestens einmal gebootet worden sein, damit sie in den Status „Running“ geht. Nachdem die Zone wenigstens einmal gebootet und dann mithilfe des Befehls zoneadm halt in den Status „Installed“ gebracht wurde, können Patch- und Paketbefehle ausgeführt werden. |
Ready |
Patch- und Paket-Tools können ausgeführt werden. |
Running |
Patch- und Paket-Tools können ausgeführt werden. |
Incomplete |
Eine Zone, die mit dem Befehl zoneadm installiert oder entfernt wird. Patch- und Paket-Tools können nicht ausgeführt werden. Die Tools können die Zone nicht in einen geeigneten Status versetzen, so dass die Tools angewendet werden können. |
Mit dem in der Manpage pkgadd beschriebenen Dienstprogramm pkgadd(1M) können Sie Pakete auf einem Solaris-System mit installierten Zonen hinzufügen.
Das Dienstprogramm pkgadd kann in der globalen Zone mit der Option -G verwendet werden, um das Paket nur der globalen Zone hinzuzufügen. Das Paket wird nicht in anderen Zonen installiert. Wenn SUNW_PKG_THISZONE=true ist, müssen Sie die Option -G nicht angeben. Wenn SUNW_PKG_THISZONE=false ist, wird sie durch die Option -G überschrieben.
Wird das Dienstprogramm pkgadd in der globalen Zone ausgeführt, gelten die folgenden Aktionen.
Das Dienstprogramm pkgadd kann ein Paket hinzufügen:
Nur zur globalen Zone, es sei denn, das Paket ist SUNW_PKG_ALLZONES=true
Zur globalen Zone und zu allen nicht-globalen Zonen
Nur zu allen nicht-globalen Zonen, wenn das Paket bereits in der globalen Zone installiert ist
Nur zur aktuellen Zone, wenn SUNW_PKG_THISZONE=true
Das Dienstprogramm pkgadd kann kein Paket hinzufügen:
Nur zu einem Teil der nicht-globalen Zonen
Nur zu allen nicht-globalen Zonen, es sei denn, das Paket ist bereits in der globalen Zone installiert
Wenn das Dienstprogramm pkgadd ohne die Optionen -G ausgeführt wird und SUNW_PKG_THISZONE=false ist, wird das angegebene Paket standardmäßig allen Zonen hinzugefügt. Das Paket wird nicht als nur in der globalen Zone installiert gekennzeichnet.
Wenn das Dienstprogramm pkgadd oder die Option -G ausgeführt wird und SUNW_PKG_THISZONE=true ist, wird das angegebene Paket standardmäßig der aktuellen (globalen) Zone hinzugefügt. Das Paket wird als nur in der globalen Zone installiert gekennzeichnet.
Wenn die Option -G angegeben ist, fügt das Dienstprogramm pkgadd das angegebene Paket nur der globalen Zone hinzu. Das Paket wird als nur in der globalen Zone installiert gekennzeichnet. Das Paket wird nicht installiert, wenn eine nicht-globale Zone installiert wird.
Um ein Paket der globalen Zone und allen nicht-globalen Zonen hinzuzufügen, führen Sie das Dienstprogramm pkgadd in der globalen Zone aus. Führen Sie als globaler Administrator pkgadd ohne die Option -G aus.
Ein Paket kann der globalen Zone und allen nicht-globalen Zonen hinzugefügt werden, ungeachtet des Bereichs, auf den sich das Paket auswirkt.
Die folgenden Schritte werden vom Dienstprogramm pkgadd ausgeführt:
Paketabhängigkeiten werden in der globalen Zone und in allen nicht-globalen Zonen geprüft. Die Abhängigkeitsprüfung schlägt fehl, wenn erforderliche Pakete in einer Zone nicht installiert sind. Das System benachrichtigt den globalen Administrator und fordert vor dem Fortsetzen eine Bestätigung an.
Das Paket wird der globalen Zone hinzugefügt.
Die Paketdatenbank der globalen Zone wird aktualisiert.
Das Paket wird jeder nicht-globalen Zone hinzugefügt und die Datenbank der globalen Zone wird aktualisiert.
Die Paketdatenbank jeder nicht-globalen Zone wird aktualisiert.
Um ein Paket nur der globalen Zone hinzuzufügen, führen Sie das Dienstprogramm pkgadd nur mit der Option -G als globaler Administrator in der globalen Zone aus.
Ein Paket kann der globalen Zone hinzugefügt werden, wenn die folgenden Bedingungen erfüllt sind:
Der Paketinhalt wirkt sich nicht auf Bereiche der globalen Zone aus, der mit nicht-globalen Zonen gemeinsam genutzt werden.
In dem Paket ist SUNW_PKG_ALLZONES=false gesetzt.
Die folgenden Schritte werden vom Dienstprogramm pkgadd ausgeführt:
Wenn sich der Paketinhalt auf Bereiche der globalen Zone auswirkt, die mit einer nicht-globalen Zone gemeinsam genutzt werden, oder wenn in dem Paket SUNW_PKG_ALLZONES=true gesetzt ist, schlägt pkgadd fehl. Die Fehlermeldungen geben an, dass das Paket der globalen Zone und allen nicht-globalen Zonen hinzugefügt werden muss.
Die Paketabhängigkeiten werden nur in der globalen Zone geprüft. Die Abhängigkeitsprüfung schlägt fehl, wenn erforderliche Pakete nicht installiert sind. Das System benachrichtigt den globalen Administrator und fordert vor dem Fortsetzen eine Bestätigung an.
Das Paket wird der globalen Zone hinzugefügt.
Die Paketdatenbank der globalen Zone wird aktualisiert.
Die Paketinformationen in der globalen Zone werden kommentiert, um zu kennzeichnen, dass in dieses Paket nur in der globalen Zone installiert wurde. Wenn dann zu einem späteren Zeitpunkt eine nicht-globale Zone installiert wird, wird dieses Paket nicht installiert.
Um ein Paket, das bereits in der globalen Zone installiert ist, allen nicht-globalen Zonen hinzuzufügen, müssen Sie es zunächst aus der globalen Zone entfernen und dann in allen Zonen neu installieren.
Im Folgenden sind die erforderlichen Schritte aufgeführt, um ein bereits in der globalen Zone installiertes Paket in allen nicht-globalen Zonen zu installieren:
Rufen Sie in der globalen Zone pkgrm auf, um das Paket zu entfernen.
Fügen Sie das Paket ohne die Option -G hinzu.
Um ein Paket einer bestimmten nicht-globalen Zone hinzuzufügen, führen Sie als Zonenadministrator das Dienstprogramm pkgadd ohne Optionen aus. Es gelten die folgenden Bedingungen:
Das Dienstprogramm pkgadd kann Pakete nur der nicht-globalen Zone hinzufügen, in der das Dienstprogramm verwendet wird.
Das Paket darf sich nicht auf Bereiche in der Zone auswirken, die gemeinsam mit der globalen Zone verwendet werden.
In dem Paket ist SUNW_PKG_ALLZONES=false gesetzt.
Die folgenden Schritte werden vom Dienstprogramm pkgadd ausgeführt:
Bevor das Paket hinzugefügt wird, werden die Paketabhängigkeiten in der Paketdatenbank der nicht-globalen Zone geprüft. Die Abhängigkeitsprüfung schlägt fehl, wenn erforderliche Pakete nicht installiert sind. Das System benachrichtigt den Administrator der nicht-globalen Zone und fordert vor dem Fortsetzen eine Bestätigung an. Die Prüfung schlägt fehl, wenn eine der folgenden Bedingungen zutrifft:
Eine Komponente des Pakets wirkt sich auf Bereiche in der Zone aus, die gemeinsam mit der globalen Zone verwendet werden.
In dem Paket ist SUNW_PKG_ALLZONES=true gesetzt.
Das Paket wird der Zone hinzugefügt.
Die Paketdatenbank der Zone wird aktualisiert.
Mit dem in der Manpage pkgrm beschriebenen Dienstprogramm pkgrm(1M) können Sie Pakete von einem Solaris-System mit installierten Zonen entfernen.
Wenn Sie das Dienstprogramm pkgrm in der globalen Zone ausführen, gelten die folgenden Aktionen.
pkgrm kann ein Paket aus der globalen Zone, aus allen nicht-globalen Zonen oder nur aus der globalen Zone entfernen, wenn das Paket nur in der globalen Zone installiert ist.
pkgrm kann ein Paket nicht nur aus der globalen Zone entfernen, wenn das Paket auch in einer nicht-globalen Zone installiert ist oder ein Paket nur aus einem Teil der nicht-globalen Zonen entfernen.
Beachten Sie, dass ein Paket nur dann von einem Zonenadministrator aus einer nicht-globalen Zone entfernt werden kann, wenn die folgenden Bedingungen zutreffen:
Das Paket wirkt sich nicht auf Bereiche der nicht-globalen Zone aus, die gemeinsam mit der globalen Zone verwendet werden.
In dem Paket ist SUNW_PKG_ALLZONES=false gesetzt.
Um ein Paket aus der globalen Zone und aus allen nicht-globalen Zonen zu entfernen, führen Sie das Dienstprogramm pkgrm als globaler Administrator in der globalen Zone aus.
Ein Paket kann unabhängig von dem Bereich, auf den sich das Paket auswirkt, aus der globalen Zone und allen nicht-globalen Zonen entfernt werden.
Die folgenden Schritte werden vom Dienstprogramm pkgrm ausgeführt:
Paketabhängigkeiten werden in der globalen Zone und in allen nicht-globalen Zonen geprüft. Falls die Abhängigkeitsprüfung fehlschlägt, kann das Dienstprogramm pkgrm nicht ausgeführt werden. Das System benachrichtigt den globalen Administrator und fordert vor dem Fortsetzen eine Bestätigung an.
Das Paket wird aus allen nicht-globalen Zonen entfernt.
Die Paketdatenbank jeder nicht-globalen Zone wird aktualisiert.
Das Paket wird aus der globalen Zone entfernt.
Die Paketdatenbank der globalen Zone wird aktualisiert.
Um ein Paket aus einer nicht-globalen Zone zu entfernen, rufen Sie als Zonenadministrator das Dienstprogramm pkgrm auf. Es gelten die folgenden Einschränkungen:
pkgrm kann nur Pakete aus der nicht-globalen Zone entfernen.
Das Paket darf sich nicht auf Bereiche in der Zone auswirken, die gemeinsam mit der globalen Zone verwendet werden.
In dem Paket ist SUNW_PKG_ALLZONES=false gesetzt.
Die folgenden Schritte werden vom Dienstprogramm pkgrm ausgeführt:
Die Abhängigkeiten werden in der Paketdatenbank der nicht-globalen Zone geprüft. Falls die Abhängigkeitsprüfung fehlschlägt, kann das Dienstprogramm pkgrm nicht ausgeführt werden und der Zonenadministrator wird benachrichtigt. Die Prüfung schlägt fehl, wenn eine der folgenden Bedingungen zutrifft:
Eine Komponente des Pakets wirkt sich auf Bereiche in der Zone aus, die gemeinsam mit der globalen Zone verwendet werden.
In dem Paket ist SUNW_PKG_ALLZONES=true gesetzt.
Das Paket wird aus der Zone entfernt.
Die Paketdatenbank der Zone wird aktualisiert.
Die Paketparameter SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW und SUNW_PKG_THISZONE definieren die Eigenschaften von Paketen auf einem System mit installierten Zonen. Diese Parameter müssen gesetzt sein, so dass Pakete auf einem System mit installierten nicht-globalen Zonen verwaltet werden können.
In der folgenden Tabelle sind vier gültige Kombinationen für das Einstellen von Paketparameter aufgeführt. Wenn Sie Kombinationen wählen, die nicht in der Tabelle aufgeführt sind, so sind diese Einstellungen ungültig und das Paket kann nicht installiert werden.
Achten Sie darauf, alle drei Paketparameter einzustellen. Sie können alle drei Paketparameter frei lassen. Die Paket-Tools interpretieren einen fehlenden Paketparameter so, als wäre die Einstellung false gewählt. Dennoch raten wir davon ab, Parameter nicht einzustellen. Durch das Einstellen aller drei Paketparameter geben Sie das exakte Verhalten der Paket-Tools beim Installieren oder Deinstallieren eines Pakets vor.
Tabelle 25–1 Gültige Einstellungen für die Paketparameter
Der optionale Paketparameter SUNW_PKG_ALLZONES definiert den Geltungsbereich der Zone eines Pakets. Dieser Parameter definiert Folgendes:
Ob ein Paket in allen Zonen installiert werden muss
Ob ein Paket in allen Zonen identisch sein muss
Der Paketparameter SUNW_PKG_ALLZONES kann zwei zulässige Werte annehmen. Diese Werte sind true und false. Der Standardwert ist false. Falls dieser Parameter nicht gesetzt oder auf einen anderen Wert als true oder false gesetzt ist, wird standardmäßig der Wert false verwendet.
Der Parameter SUNW_PKG_ALLZONES muss auf true gesetzt sein, wenn Pakete in allen Zonen die gleiche Paketversion und Patch-Revisionsstufe aufweisen müssen. Bei einem Paket, das eine Funktion zur Verfügung stellt, die von einem bestimmten Solaris-Kernel abhängt (z. B. Solaris 10) muss dieser Parameter auf true gesetzt sein. Jeder Patch für ein Paket muss den Parameter SUNW_PKG_ALLZONES auf den Wert setzen, der zuvor in dem Paket gesetzt war, das gepatcht werden soll. Die Patch-Revisionsstufe für ein Paket, die diesen Parameter auf true setzt, muss für alle Zonen gleich sein.
Pakete, die Funktionen zur Verfügung stellen, die nicht von einem bestimmten Solaris-Kernel abhängen (z. B. Pakete von Drittanbietern oder Sun-Compiler) müssen diesen Parameter auf false setzen. Jeder Patch für ein Paket, das diesen Parameter auf false setzt, muss auch diesen Parameter auf false setzen. Die Paketversion oder die Patch-Revisionsstufe eines Pakets, das diesen Parameter auf false gesetzt, muss nicht für alle Zonen gleich sein. Beispielsweise können in zwei nicht-globalen Zonen jeweils unterschiedliche Versionen eines Webservers installiert sein.
Die Werte des Paketparameters SUNW_PKG_ALLZONES sind in der folgenden Tabelle beschrieben.
Tabelle 25–2 SUNW_PKG_ALLZONES-Paketparameterwerte
Der Paketparameter SUNW_PKG_HOLLOW definiert, ob ein Paket in allen nicht-globalen Zonen sichtbar sein muss, wenn das Paket in allen Zonen installiert und in allen Zonen identisch sein muss.
Der Paketparameter SUNW_PKG_HOLLOW kann zwei zulässige Werte annehmen: true oder false.
Falls der Parameter SUNW_PKG_HOLLOW nicht gesetzt oder auf einen anderen Wert als true oder false gesetzt ist, wird standardmäßig der Wert false verwendet.
Wenn SUNW_PKG_ALLZONES auf false gesetzt ist, wird der Parameter SUNW_PKG_HOLLOW ignoriert.
Wenn SUNW_PKG_ALLZONES auf false gesetzt ist, kann der Parameter SUNW_PKG_HOLLOW nicht auf true gesetzt werden.
Die Werte des Paketparameters SUNW_PKG_HOLLOW sind in der folgenden Tabelle beschrieben.
Tabelle 25–3 SUNW_PKG_HOLLOW-Paketparameterwerte
Der Paketparameter SUNW_PKG_THISZONE definiert, ob ein Paket nur in der aktuellen Zone installiert werden muss (global oder nicht-global). Der Paketparameter SUNW_PKG_THISZONE kann zwei zulässige Werte annehmen. Diese Werte sind true und false. Der Standardwert ist false.
Die Werte des Paketparameters SUNW_PKG_THISZONE sind in der folgenden Tabelle beschrieben.
Tabelle 25–4 SUNW_PKG_THISZONE-Paketparameterwerte
Mit dem in der Manpage pkginfo(1) beschriebenen Dienstprogramm pkginfo wird das Abfragen der Software-Paketdatenbank auf einem Solaris-System mit installierten Zonen unterstützt. Weitere Informationen zur Datenbank finden Sie unter Produkt-Datenbank.
Das Dienstprogramm pkginfo kann von der globalen Zone aus eingesetzt werden, um die Software-Paketdatenbank in der globalen Zone abzufragen. Das Dienstprogramm pkginfo kann von einer nicht-globalen Zone aus eingesetzt werden, um die Software-Paketdatenbank in der nicht-globalen Zone abzufragen.
Im Allgemeinen besteht ein Patch aus den folgenden Komponenten:
Patch-Informationen:
Identifikation, die Patch-Version und Patch-ID
Anwendbarkeit, Betriebssystemtyp, Betriebssystemversion und Architektur
Abhängigkeiten, z. B. erforderliche und veraltete
Eigenschaften, z. B. muss anschließend neu gestartet werden
Mindestens ein zu patchendes Paket, dabei muss jedes Paket Folgendes enthalten:
Die Version des Pakets, auf dass der Patch angewendet werden soll
Patch-Informationen, z. B. ID, veraltete und erforderliche
Mindestens eine Komponente des zu patchenden Pakets
Wenn der Befehl patchadd ein Patch anwenden soll, wird anhand der Patch-Informationen festgestellt, ob der Patch für das aktuell ausgeführte System geeignet ist. Ist der Patch nicht geeignet, wird er nicht angewendet. Patch-Abhängigkeiten gegenüber allen Zonen auf dem System werden geprüft. Falls erforderliche Abhängigkeiten nicht erfüllt sind, wird der Patch nicht angewendet. Dies schließt den Fall ein, dass bereits eine aktuellere Version des Patch installiert ist.
Jedes im Patch enthaltene Paket wird geprüft. Wenn das Paket in einer Zone nicht installiert ist, wird das Paket übergangen und nicht gepatcht.
Wenn alle Abhängigkeiten erfüllt sind, werden alle Pakete im Patch, die in einer Zone installiert sind, zum Patchen des Systems verwendet. Auch die Paket- und Patch-Datenbanken werden aktualisiert.
Solaris 10 3/05 bis Solaris 10 11/06: Wenn ein Paket mit pkgadd -G installiert wurde oder die pkginfo-Einstellung SUNW_PKG_THISZONE=true lautet, kann das Paket nur mit patchadd -G gepatcht werden. Diese Einschränkung wurde ab dem Solaris-Release 8/07 aufgehoben.
Mit den Patches 119254-41 and 119255-41 wurden die Dienstprogramme patchadd und patchrm zur Patch-Installation überarbeitet. Dabei wurde die Methode geändert, mit der bestimmte Patches Funktionen zur Verfügung stellen. Von dieser Änderung ist die Installation dieser Patches in allen Solaris 10-Versionen betroffen. Die Patches zur verzögerten Aktivierung verarbeiten die zahlreichen Änderungen bei den Funktionspatches wie z. B. Kernel-Patches für die Solaris 10-Releases nach dem Solaris-Release 10 3/05 besser.
Patchen mit verzögerter Aktivierung verwenden das Loopback-Dateisystem (lofs), um die Stabilität des laufenden Programms sicherzustellen. Wenn ein Patch an einem laufenden System angewendet wird, hält das LOFS die Systemstabilität während des Patch-Prozesses aufrecht. Diese großen Kernel-Patches erfordern immer einen Neustart, aber jetzt aktiviert der erforderliche Neustart die von LOFS vorgenommenen Änderungen. Informationen über Patches, für die ein Neustart erforderlich ist, finden Sie im Patch README.
Wenn Sie nicht-globale Zonen ausführen oder LOFS deaktiviert ist, sollten Sie die folgenden Punkte beim Installieren oder Entfernen von Patches mit verzögerter Aktivierung berücksichtigen:
Alle nicht globale Zonen müssen sich für diesen Patch-Modus im angehaltenen Zustand befinden. Sie müssen die nicht globale Zone vor der Anwendung des Patch anhalten.
Das Patchen mit verzögerter Aktivierung erfordert das Loopback-Dateisystem (LOFS). Bei Systemen, die Cluster 3.1 oder Sun Cluster 3.2 ausführen, ist das LOFS wahrscheinlich deaktiviert, da aktiviertes LOFS die HA-NFS-Funktionen einschränkt. Aus diesem Grund müssen Sie vor dem Installieren eines Patches mit verzögerter Aktivierung das Loopback-Dateisystem erneut aktivieren, indem Sie die folgende Zeile in der Datei /etc/system auskommentieren oder löschen:
exclude:lofs |
Anschließend booten Sie Ihr System neu und installieren den Patch. Stellen Sie diese Zeile in der Datei /etc/system nach der Patch-Installation wieder her oder entfernen Sie deren Kennzeichnung als Kommentar: Anschließend müssen Sie erneut booten, um den normalen Betrieb wiederherzustellen.
Wenn Sie Solaris Live Upgrade zum Verwalten der Patches verwenden, treten die Probleme beim Patchen eines laufenden Systems nicht auf. Zudem werden mit dieser Anwendung die durch das Patchen verursachten Ausfallzeiten reduziert und beim Auftreten von Problemen Ausfallressourcen zur Verfügung gestellt. Sie können eine inaktive Boot-Umgebung patchen, während das System noch ausgeführt wird, und in die ursprüngliche Boot-Umgebung (boot environment, BE) zurückkehren, falls Probleme in der neuen BE auftreten. Lesen Sie dazu Systemupgrades mit Packages bzw. Patches in Oracle Solaris 10 9/10 Installationshandbuch: Solaris Live Upgrade und Planung von Upgrades .
Das parallele Patchen von Zonen ist eine Verbesserung im Vergleich zu den standardmäßigen Patch-Dienstprogrammen in Solaris 10, zu denen die unterstützte Methode zum Patchen nicht-globaler Zonen auf dem Solaris 10-System gehört. Diese Funktion verbessert die Leistungsfähigkeit beim Patchen von Zonen dadurch, dass nicht-globale Zonen parallel gepatcht werden.
Für ältere Versionen als Solaris 10 10/09 wird diese Funktion im Patch für Patch-Dienstprogramme 119254-66 oder einer späteren Revision (SPARC) und 119255-66 oder einer späteren Revision (x86) bereitgestellt.
Die maximale Anzahl der nicht-globalen Zonen, die parallel gepatcht werden können, wird in einer neuen Konfigurationsdatei für patchadd, /etc/patch/pdo.conf festgelegt. Revision 66 oder höher dieses Patchs funktioniert in allen Solaris 10-Systemen und hoch entwickelten Patch-Automatisierungstools wie zum Beispiel Sun xVM Ops Center.
Die globale Zone wird weiterhin zuerst gepatcht. Nach dem Patchen der globalen Zone wird die Anzahl der nicht-globalen Zonen, die unter num_proc= festgelegt ist, zusammen gepatcht. Die maximale Anzahl beträgt 1,5 mal die Anzahl der Online-CPUs, bis hin zur tatsächlichen Anzahl nicht-globaler Zonen auf dem System.
Ein Beispiel hierfür ist:
Die Anzahl der CPUs beträgt 4
Die Einstellung ist num_proc=6
Geht die Anzahl der nicht-globalen Zonen auf dem System darüber hinaus, werden die ersten 6 Zonen parallel gepatcht. Danach werden die verbleibenden nicht-globalen Zonen gepatcht, während das Patchen der ersten Gruppe durch Prozesse abgeschlossen wird.
Wenn Sie Solaris Live Upgrade und das neue Patch zum Verwalten von Patches verwenden, werden beim Auftreten von Problemen Ausfallressourcen zur Verfügung gestellt. Sie können eine inaktive Boot-Umgebung patchen, während das System noch ausgeführt wird, und in die ursprüngliche Boot-Umgebung (boot environment, BE) zurückkehren, falls Probleme in der neuen BE auftreten.
Weitere Informationen finden Sie unter Solaris 10 10/09: Paralleles Patchen von Zonen.
Um alle Pakete für die Zone schnell zu aktualisieren, sodass sie den Paketen einer neu installierten nicht-globalen Zone auf dem Host entsprechen, können die Zonen getrennt werden, während die Patches in der globalen Zone installiert werden, und danach mit der Option -U wieder angehängt werden, um sie mit der Ebene der globalen Zone in Übereinstimmung zu bringen. Weitere Informationen finden Sie unter Verwenden von "Aktualisieren während des Anhängens" als Patching-Lösung.
Alle Patches, die auf Ebene der globalen Zone angewendet werden, werden auf alle Zonen angewendet. Wenn eine nicht-globale Zone installiert ist, befindet sie sich auf der gleichen Patch-Ebene wie die globale Zone. Wenn die globale Zone gepatcht wird, werden alle nicht-globalen Zonen entsprechend gepatcht. Diese Aktion stellt sicher, dass auf allen Zonen die gleiche Patch-Ebene beibehalten wird.
Mit dem in der Manpage patchadd(1M) beschriebenen Dienstprogramm pkgadd können Sie Patches auf einem System mit installierten Zonen hinzufügen.
Um ein Patch der globalen Zone und allen nicht-globalen Zonen hinzuzufügen, führen Sie patchadd als globaler Administrator in der globalen Zone aus.
Wenn patchadd in der globalen Zone verwendet wird, gelten die folgenden Bedingungen:
Das Dienstprogramm patchadd kann Patches nur der globalen Zone und allen nicht-globalen Zonen hinzufügen. Dies ist die Standardaktion.
Das Dienstprogramm patchadd kann nicht zum Hinzufügen von Patches nur zur globalen Zone oder einem Teil der nicht-globalen Zonen verwendet werden.
Wenn Sie der globalen Zone und allen nicht-globalen Zonen ein Patch hinzufügen, brauchen Sie nicht berücksichtigen, ob sich der Patch auf Bereiche auswirkt, die mit der globalen Zone gemeinsam genutzt werden.
Das Dienstprogramm patchadd führt die folgenden Schritte aus:
Der Patch wird der globalen Zone hinzugefügt.
Die Patch-Datenbank der globalen Zone wird aktualisiert.
Der Patch wird jeder nicht-globalen Zone hinzugefügt.
Die Patch-Datenbank jeder nicht-globalen Zone wird aktualisiert.
Wenn das Dienstprogramm patchadd vom Zonenadministrator in einer nicht-globalen Zone eingesetzt wird, kann es nur dieser Zone Patches hinzufügen. In den folgenden Fällen kann ein Patch einer nicht-globalen Zone hinzugefügt werden:
Der Patch wirkt sich nicht auf einen Bereich aus, der gemeinsam mit der globalen Zone verwendet wird.
In allen Paketen des Patches ist SUNW_PKG_ALLZONES=false gesetzt.
Das Dienstprogramm patchadd führt die folgenden Schritte aus:
Der Patch wird der Zone hinzugefügt.
Die Patch-Datenbank der Zone wird aktualisiert.
Die folgende Liste beschreibt die Interaktionen zwischen der Option -G und der Variablen SUNW_PKG_ALLZONES, wenn der globalen Zone und nicht-globalen Zonen ein Patch hinzugefügt wird.
Falls in den Paketen SUNW_PKG_ALLZONES=TRUE gesetzt ist, führt dies zu einem Fehler und keiner Aktion.
Wenn in keinen Paketen SUNW_PKG_ALLZONES=TRUE gesetzt ist, wird der Patch nur auf Pakete in der globalen Zone angewendet.
Falls in Paketen SUNW_PKG_ALLZONES=TRUE angegeben ist, wird der Patch auf diese Pakete in allen Zonen angewendet.
Falls in keinem Paket SUNW_PKG_ALLZONES=TRUE gesetzt ist, wird der Patch auf alle Paketen in allen entsprechenden Zonen angewendet. Pakete, die nur für die globale Zone gelten, werden nur in der globalen Zone installiert.
Falls in den Paketen SUNW_PKG_ALLZONES=TRUE gesetzt ist, führt dies zu einem Fehler und keiner Aktion.
Wenn in keinem Paket SUNW_PKG_ALLZONES=TRUE gesetzt ist, wird der Patch nur auf Pakete in der nicht-globalen Zone angewendet.
Mit dem in der Manpage patchrm beschriebenen Dienstprogramm patchrm(1M) können Sie Patches von einem System mit installierten Zonen entfernen.
Als globaler Administrator können Sie das Dienstprogramm patchrm in der globalen Zone ausführen, um Patches zu entfernen. Das Dienstprogramm patchrm kann nicht zum Entfernen von Patches nur aus der globalen Zone oder nur von einem Teil der nicht-globalen Zonen verwendet werden.
Als Zonenadministrator können Sie das Dienstprogramm patchrm in einer nicht-globalen Zone verwenden, um Patches nur aus dieser nicht-globalen Zone zu entfernen. Patches dürfen sich nicht auf gemeinsam genutzte Bereiche auswirken.
Die Paket-, Patch- und Produkt-Registrierungsdatenbank einer Zone beschreibt alle installierten Softwareprogramme, die in der Zone zur Verfügung stehen. Alle Abhängigkeitsprüfungen bei der Installation zusätzlicher Software oder Patches werden ohne den Zugriff auf die Datenbank einer anderen Zone ausgeführt, es sei denn, ein Paket oder ein Patch wird in der globalen Zone und in mehreren nicht-globalen Zone installiert bzw. daraus entfernt. In diesem Fall muss auf die Datenbanken der entsprechende nicht-globalen Zonen zugegriffen werden.
Weitere Informationen zur Datenbank finden Sie in der Manpage pkgadm(1M).
Solaris 10 1/06: Dieses Kapitel wurde für dieses Release vollständig bearbeitet. Dieses Kapitels dokumentiert die aktuellen Verfahren zum Installieren von Paketen und Anwenden von Patches auf einem System mit installierten nicht-globalen Zonen.
Solaris 10 6/06: Dem Verfahren So fügen Sie ein Paket nur der globalen Zone hinzu wurde eine Anmerkung hinzugefügt.
Solaris 10 8/07: Von der Aufgabe So wenden Sie ein Patch nur auf die globale Zone an wurde eine Anmerkung entfernt.
Eine vollständige Liste der neuen Funktionen in Solaris 10 sowie eine Beschreibung der Solaris-Releases finden Sie in Neuerungen in Oracle Solaris 9 10/10.
In diesem Kapitel wird beschrieben, wie Pakete und Patches auf einem System mit installierten Zonen hinzugefügt bzw. entfernt werden. Auch andere Aufgaben im Zusammenhang mit der Verwaltung von Paketen und Patches, z. B. das Prüfen der Paketparameter-Einstellungen und das Beziehen von Paketinformationen, werden angesprochen. Eine Übersicht der Konzepte des Patches und der Pakete bei einem System mit installierten Zonen finden Sie in Kapitel 25Allgemeine Informationen zu den Paketen und Patches auf einem Solaris-System mit installierten Zonen.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Hinzufügen eines Pakets. |
Hinzufügen eines Pakets auf einem System mit installierten Zonen. |
Hinzufügen eines Pakets auf einem Solaris-System mit installierten Zonen |
Überprüfen der Paket-Informationen. |
Überprüfen der Paket-Informationen auf einem System mit installierten Zonen. |
Überprüfen der Paket-Informationen auf einem Solaris-System mit installierten Zonen |
Entfernen eines Pakets. |
Entfernen eines Pakets von einem System mit installierten Zonen. |
Entfernung eines Pakets von einem Solaris-System mit installierten Zonen |
Anwenden eines Patches. |
Anwenden eines Patches auf ein System mit installierten Zonen. |
Anwenden eines Patches auf ein Solaris-System mit installierten Zonen |
Entfernen eines Patches. |
Entfernen eines Patches von einem System mit installierten Zonen. |
Entfernen eines Patches von einem System mit installierten Zonen |
(Optional) Prüfen der Paketparameter-Einstellungen. |
Überprüfen Sie beim Hinzufügen oder Entfernen von Paketen, ob die Einstellungen der Paketparameter die von Ihnen gewünschte Aktion unterstützen. |
Überprüfen der Paketparameter-Einstellungen auf einem System mit installierten Zonen |
Mit dem in der Manpage pkgadd(1M) ausführlich beschriebenen System-Dienstprogramm pkgadd können Sie:
Ein Paket nur zur globalen Zone hinzufügen
Ein Paket zur globalen Zone und zu allen nicht-globalen Zonen hinzufügen
Ein bereits in der globalen Zone installiertes Paket zu allen nicht-globalen Zonen hinzufügen
Ein Paket nur zu einer bestimmten nicht-globalen Zone hinzufügen
Die Einstellungen der Paketparameter SUNW_PKG_ALLZONES und SUNW_PKG_HOLLOW müssen den richtigen Wert aufweisen (entweder true oder false), um Pakete hinzufügen zu können. Andernfalls stellt sich nicht das gewünschte Ergebnis ein. Weitere Informationen zu den Auswirkungen der Paketparameter-Einstellungen finden Sie unter Allgemeine Informationen zu Paketen und Zonen. Weitere Informationen, wie Sie die Paketparameter-Einstellungen prüfen, finden Sie unter Überprüfen der Paketparameter-Einstellungen auf einem System mit installierten Zonen.
Um ein Paket nur der globalen Zone hinzuzufügen, muss der Paketparameter SUNW_PKG_ALLZONES auf false gesetzt sein.
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.
Geben Sie den Befehl pkgadd -d, gefolgt von dem Speicherort des Pakets, der Option -G und dem Paketnamen von der globalen Zone aus ein.
Wenn Sie das Paket von einer CD-ROM installieren, geben Sie Folgendes ein:
global# pkgadd -d /cdrom/cdrom0/directory -G package_name |
Wenn Sie das Paket in ein Verzeichnis kopieren und es dann von diesem Verzeichnis aus installieren, geben Sie Folgendes ein:
global# pkgadd -d disk1/image -G package_name |
dabei steht disk1 für den Speicherort, an den das Paket kopiert wurde.
Wenn das Dienstprogramm pkgadd oder die Option -G ausgeführt wird und SUNW_PKG_THISZONE=true ist, wird das angegebene Paket standardmäßig der aktuellen (globalen) Zone hinzugefügt.
Verwenden Sie für dieses Verfahren nicht pkgadd mit der Option -G.
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.
Geben Sie den Befehl pkgadd -d, gefolgt von dem Speicherort des Pakets und dem Paketnamen ein.
Wenn Sie das Paket von einer CD-ROM installieren, geben Sie Folgendes ein:
global# pkgadd -d /cdrom/cdrom0/directory package_name |
Wenn Sie das Paket in ein Verzeichnis kopieren und es dann von diesem Verzeichnis aus installieren, geben Sie Folgendes ein:
global# pkgadd -d disk1/image package_name |
dabei steht disk1 für den Speicherort, an den das Paket kopiert wurde.
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.
Rufen Sie in der globalen Zone pkgrm auf, um das Paket zu entfernen.
Fügen Sie das Paket ohne die Option -G hinzu.
Um ein Paket nur einer bestimmten nicht-globalen Zone hinzuzufügen, muss der Paketparameter SUNW_PKG_ALLZONES auf false gesetzt sein. Verwenden Sie in diesem Verfahren nicht pkgadd mit der Option- G, da der Vorgang dann fehlschlagen kann.
Für dieses Verfahren müssen Sie der Zonenadministrator der nicht-globalen Zone sein.
Melden Sie sich als Zonenadministrator bei der nicht-globalen Zone an.
Geben Sie den Befehl pkgadd -d, gefolgt von dem Speicherort des Pakets und dem Paketnamen von der nicht-globalen Zone my-zone aus ein.
Wenn Sie das Paket von einer CD-ROM installieren, geben Sie Folgendes ein:
my-zone# pkgadd -d /cdrom/cdrom0/directory package_name |
Wenn Sie das Paket in ein Verzeichnis kopieren und es dann von diesem Verzeichnis aus installieren, geben Sie Folgendes ein:
my-zone# pkgadd -d disk1/image package_name |
dabei steht disk1 für den Speicherort, an den das Paket kopiert wurde.
Sie können die Datenbank für Softwarepakete für die globale Zone und nicht-globale Zonen mithilfe des Befehl pkginfo abfragen. Weitere Informationen zu diesem Befehl finden Sie in der Manpage pkginfo(1).
Um die Software-Paketdatenbank nur der globalen Zone zu prüfen, geben Sie pkginfo gefolgt von dem Paketnamen ein.
global% pkginfo package_name |
global% pkginfo SUNWcsr SUNWcsu system SUNWcsr Core Solaris, (Root) system SUNWcsu Core Solaris, (Usr) |
Um die Software-Paketdatenbank nur in einer bestimmten nicht-globalen Zone zu prüfen, melden Sie sich bei der nicht-globalen Zone an und geben pkginfo gefolgt von dem Paketnamen ein.
my-zone% pkginfo package_name |
my-zone% pkginfo SUNWcsr SUNWcsu system SUNWcsr Core Solaris, (Root) system SUNWcsu Core Solaris, (Usr) |
Mit dem in der Manpage pkgrm(1M) ausführlich beschriebenen System-Dienstprogramm pkgrm können Sie:
Ein Paket aus der globalen Zone und aus allen nicht-globalen Zonen entfernen
Ein Paket nur aus einer bestimmten nicht-globalen Zone entfernen
Die Einstellungen der Paketparameter SUNW_PKG_ALLZONES und SUNW_PKG_HOLLOW müssen den richtigen Wert aufweisen (entweder true oder false), um Pakete entfernen zu können. Andernfalls stellt sich nicht das gewünschte Ergebnis ein. Weitere Informationen zu den Auswirkungen der Paketparameter-Einstellungen finden Sie unter Allgemeine Informationen zu Paketen und Zonen. Weitere Informationen, wie Sie die Paketparameter-Einstellungen prüfen, finden Sie unter Überprüfen der Paketparameter-Einstellungen auf einem System mit installierten Zonen.
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.
Geben Sie den Befehl pkgrm gefolgt von dem Paketnamen von der globalen Zone aus ein.
global# pkgrm package_name |
Um ein Paket nur aus einer bestimmten nicht-globalen Zone zu entfernen, muss der Paketparameter SUNW_PKG_ALLZONES auf false gesetzt sein.
Für dieses Verfahren müssen Sie der Zonenadministrator der nicht-globalen Zone sein.
Melden Sie sich als Zonenadministrator bei der nicht-globalen Zone an.
Geben Sie den Befehl pkgrm gefolgt von dem Paketnamen von der nicht-globalen Zone my-zone aus ein.
my-zone# pkgrm package_name |
Mit dem in der Manpage patchadd(1M) ausführlich beschriebenen System-Dienstprogramm patchadd können Sie:
Ein Patch nur auf die globale Zone anwenden
Ein Patch auf die globale Zone und auf alle nicht-globalen Zonen anwenden
Ein Patch nur auf eine bestimmte nicht-globale Zone anwenden
<Check Alignment of PHs>Solaris 10 3/05 bis Solaris 10 11/06: Wenn Sie ein Paket patchen, das mit dem Befehl pkgadd und der Option -G hinzugefügt wurde, muss das Paket mit dem Befehl patchadd und der Option -G gepatcht werden. Diese Einschränkung wurde ab dem Solaris-Release 8/07 aufgehoben.
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.
Führen Sie den Befehl patchadd mit der Option -G gefolgt von der Patch-ID aus.
global# patchadd -G patch_id |
Für dieses Verfahren müssen Sie als globaler Administrator bei der globalen Zone angemeldet sein.
Weitere Informationen finden Sie in Solaris 10 10/09: Paralleles Patchen von Zonen zur Reduzierung der für das Patchen erforderlichen Zeit und Solaris 10 10/09: Paralleles Patchen von Zonen.
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.
Führen Sie den Befehl patchadd gefolgt von der Patch-ID aus.
global# patchadd patch_id |
Um ein Patch nur auf eine bestimmte nicht-globale Zone anzuwenden, müssen die muss der Paketparameter SUNW_PKG_ALLZONES für alle Pakete im Patchset auf false gesetzt sein.
Für dieses Verfahren müssen Sie der Zonenadministrator der nicht-globalen Zone sein.
Melden Sie sich als Zonenadministrator bei der nicht-globalen Zone an.
Geben Sie den Befehl patchadd gefolgt von der Patch-ID von der nicht-globalen Zone my-zone aus ein.
my-zone# patchadd patch_id |
Legen Sie die Anzahl der nicht-globalen Zonen, die parallel gepatcht werden sollen, in der Konfigurationsdatei patchadd /etc/patch/pdo.conf fest. Nach dem Patchen der globalen Zone wird die Anzahl der nicht-globalen Zonen, die unter num_proc= festgelegt ist, zusammen gepatcht.
Wenn Sie eine ältere Version als Solaris 10 10/09 ausführen, laden Sie Patch 1119254-66 bzw. eine spätere Revision (SPARC) oder 119255-66 bzw. eine spätere Revision (x86) herunter.
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.
(Optional, nur für ältere Versionen als Solaris 10 10/09) Laden Sie Patch 119254-66 (SPARC) oder 119255-66 (x86) herunter.
Geben Sie in der Datei /etc/patch/pdo.conf 6 nicht-globale Zonen an, die parallel auf einem System mit 4 Online-CPUs gepatcht werden sollen.
num_proc=6 |
Geht die Anzahl der nicht-globalen Zonen auf dem System darüber hinaus, werden die ersten sechs Zonen parallel gepatcht. Danach werden die verbleibenden nicht-globalen Zonen gepatcht, während das Patchen der ersten sechs nicht-globalen Zonen durch Prozesse abgeschlossen wird.
Mit dem in der Manpage patchrm(1M) ausführlich beschriebenen System-Dienstprogramm patchrm können Sie:
Ein Patch von der globalen Zone und allen nicht-globalen Zonen entfernen
Ein Patch nur aus einer bestimmten nicht-globalen Zone entfernen
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.
Führen Sie den Befehl patchrm gefolgt von der Patch-ID aus.
global# patchrm patch_id |
Um ein Patch nur aus einer bestimmten nicht-globalen Zone zu entfernen, muss der Paketparameter SUNW_PKG_ALLZONES für alle Pakete im Patchset auf false gesetzt sein.
Für dieses Verfahren müssen Sie der Zonenadministrator der nicht-globalen Zone sein.
Melden Sie sich als Zonenadministrator bei der nicht-globalen Zone an.
Geben Sie den Befehl patchrm gefolgt von der Patch-ID von der nicht-globalen Zone my-zone aus ein.
my-zone# patchrm patch_id |
Bevor Sie ein Softwarepaket hinzufügen oder entfernen, können Sie die Paketparameter-Einstellungen mit dem Befehl pkgparam überprüfen. Dieser Schritt ist optional. Diese Prüfung kann auch zur Fehlersuche ausgeführt werden, warum ein Paket nicht wie erwartet hinzugefügt oder entfernt werden kann. Informationen zum Anzeigen der Werte von Paketparametern finden Sie in der Manpage pkgparam(1).
Um die Paketparameter-Einstellungen eines bereits in einer globalen oder nicht-globalen Zone installierten Pakets zu prüfen, geben Sie den Befehl pkgparam gefolgt von dem Paketnamen und dem Parameternamen ein.
my-zone% pkgparam package_name SUNW_PKG_ALLZONES true my-zone% pkgparam package_name SUNW_PKG_HOLLOW false |
Um die Paketparameter-Einstellungen eines nicht installierten Pakets in einer Software auf einer CD-ROM zu prüfen, geben Sie den Befehl pkgparam -d mit dem Pfad der CD-ROM gefolgt von dem Paketnamen und dem Parameternamen ein.
my-zone% pkgparam -d /cdrom/cdrom0/directory package_name SUNW_PKG_ALLZONES true my-zone% pkgparam -d /cdrom/cdrom0/directory package_name SUNW_PKG_HOLLOW false |
In diesem Kapitel werden Themen zur allgemeinen Zonenadministration behandelt:
Solaris 10 8/07: Netzwerkverbindungen in nicht-globalen Exclusive IP-Zonen
Fair Share Scheduler auf einem Solaris-System mit installierten Zonen
Extended Accounting auf einem Solaris-System mit installierten Zonen
Allgemeine Informationen zum Sichern eines Solaris-Systems mit installierten Zonen
Mit einem Solaris-System mit installierten Zonen verwendete Befehle
Informationen zu den lx Branded Zones finden Sie in Teil III, lx Branded Zones.
Solaris 10 1/06: Ein neuer Abschnitt Aushängen von Dateisystemen in Zonen wurde hinzugefügt.
Solaris 10 1/06: Neue Abschnitte zum Zonen-Backup und zur Wiederherstellung von Zonen wurden hinzugefügt. Lesen Sie dazu Allgemeine Informationen zum Sichern eines Solaris-Systems mit installierten Zonen.
Solaris 10 6/06: Der Tabelle in Einhängen von Dateisystemen in Zonen wurde ein Eintrag für ZFS hinzugefügt.
Solaris 10 8/07: Die folgenden Informationen sind neu oder wurden in diesem Release aktualisiert.
Ab diesem Release stehen zwei IP-Typen für nicht-globale Zonen zur Verfügung. Informationen zu den je nach IP-Typ verfügbaren Funktionen wurden hinzugefügt. Lesen Sie dazu Netzwerkverbindungen in nicht-globalen Shared IP-Zonen und Solaris 10 8/07: Netzwerkverbindungen in nicht-globalen Exclusive IP-Zonen.
Solaris IP-Filter können jetzt in Shared IP-Zonen verwendet werden. Weitere Informationen finden Sie unter Solaris IP-Filter in Shared IP-Zonen.
Die Informationen zu den Berechtigungseinstellungen in Zonen wurden überarbeitet. Siehe Tabelle 27–1.
Die Informationen unter Mit einem Solaris-System mit installierten Zonen verwendete Befehle wurden aktualisiert.
Eine vollständige Liste der neuen Funktionen in Solaris 10 sowie eine Beschreibung der Solaris-Releases finden Sie in Neuerungen in Oracle Solaris 9 10/10.
Die globale Zone dient sowohl als Standardzone für das System als auch als eine Zone für die systemweite administrative Steuerung. Bei dieser Doppelrolle sind einige administrative Aspekte zu berücksichtigen. Da Anwendungen in der globalen Zone Zugriff auf Prozesse und andere Systemobjekte in anderen Zonen haben, können die Auswirkungen von administrativen Maßnahmen weitreichender als erwartet sein. Beispielsweise verwenden Skripten zum Herunterfahren von Services häufig den Befehl pkill, um bestimmten Prozessen das Beenden zu signalisieren. Wenn ein solches Skript in der globalen Zone ausgeführt wird, werden alle Prozesse im System angesprochen, unabhängig von der Zone, in der sie ausgeführt werden.
Dieser systemweite Geltungsbereich ist häufig erforderlich. Um beispielsweise die systemweite Ressourcennutzung zu überwachen, müssen Sie die Prozessstatistiken des gesamten Systems anzeigen. Würden nur die Aktivitäten in der globalen Zone angezeigt, fehlen wichtige Informationen aus anderen Zonen des Systems, die eventuell einen Teil oder sogar die gesamten Systemressourcen nutzen. Eine solche Ansicht ist insbesondere dann wichtig, wenn Systemressourcen wie CPUs nicht strikt mit den Funktionen der Ressourcenverwaltung partitioniert wurden.
Folglich können Prozesse in der globalen Zone Prozesse und andere Objekte in nicht-globalen Zonen überwachen. Dies gestattet diesen Prozessen, systemweit zu überwachen. Die Fähigkeit zur Kontrolle oder zum Senden von Signalen an Prozesse in anderen Zonen wird durch die Berechtigung PRIV_PROC_ZONE eingeschränkt. Diese Berechtigung ähnelt PRIV_PROC_OWNER, da es Prozessen gestattet, die Einschränkungen für nichtberechtigte Prozesse außer Kraft zu setzen. In diesem Fall besteht die Einschränkung darin, dass nichtberechtigte Prozesse in der globalen Zone keine Signale an Prozesse in anderen Zonen senden bzw. diese kontrollieren können. Dies trifft auch dann zu, wenn die Benutzer-IDs der Prozesse übereinstimmen oder der ausführende Prozess über die Berechtigung PRIV_PROC_OWNER verfügt. Die Berechtigung PRIV_PROC_ZONE kann von anderweitig berechtigten Prozessen entfernt werden, um die Maßnahmen für eine globale Zone einzuschränken.
Weitere Informationen zum Matching von Prozessen mithilfe einer zoneidlist finden Sie in den Manpages pgrep(1) und pkill(1).
Nur Prozesse in der gleichen Zone, die Prozess-IDs akzeptieren (wie die Befehle kill und priocntl) sind über Systemaufruf-Schnittstellen sichtbar. Weitere Informationen finden Sie in den Manpages kill(1) und priocntl(1).
Der Befehl ps kann wie folgt erweitert werden:
Die Option -o dient zum Festlegen des Ausgabeformats. Mit dieser Option können Sie die Zonen-ID eines Prozesses oder den Namen der Zone drucken, in der der Prozess ausgeführt wird.
Mit der Option -z Zonenliste werden nur die Prozesse in den angegebenen Zonen aufgelistet. Die Zonen können entweder über den Zonennamen oder die Zonen-ID angegeben werden. Diese Option eignet sich insbesondere dann, wenn der Befehl in der globalen Zone ausgeführt wird.
Mit der Option -Z wird der Name der Zone gedruckt, die dem Prozess zugeordnet ist. Der Name wird unter der Spaltenüberschrift ZONE gedruckt.
Weitere Informationen finden Sie in der Man Page ps(1).
Für die im Folgenden aufgeführten Solaris-Dienstprogramme wurde die Option -z Zonennamen hinzugefügt. Mit dieser Option können Sie Informationen so filtern, dass nur die angegebene Zone bzw. die angegebenen Zonen enthalten sind.
ipcs (lesen Sie auch die Manpage ipcs(1))
pgrep (lesen Sie auch die Manpage pgrep(1))
ptree (lesen Sie auch die Manpage proc(1))
prstat (lesen Sie auch die Manpage prstat(1M))
Eine vollständige Liste der Änderungen an diesen Befehlen finden Sie in Tabelle 27–5.
Der Knotenname in /etc/nodename, der von dem Befehl uname - n zurückgegeben wird, kann vom Zonenadministrator gesetzt werden. Der Knotenname muss eindeutig sein.
In diesem Abschnitt finden Sie Informationen zu möglichen Problemen mit Dateisystemen auf einem Solaris-System mit installierten Zonen. Jede Zone verfügt über einen eigenen Bereich in der Dateisystemhierarchie, die in einem Verzeichnis beginnt, das als root der Zone bezeichnet wird. Prozesse in der Zone können nur auf Dateien in dem Teil der Hierarchie zugreifen, der sich unter dem Zonenroot befindet. Das Dienstprogramm chroot kann in einer Zone verwendet werden, es dient aber nur dazu, den Prozess auf den Root-Pfad innerhalb der Zone zu beschränken. Weitere Informationen zu chroot finden Sie in der Manpage chroot(1M).
Die Option -o nosuid für das Dienstprogramm mount bietet folgende Funktionen:
Prozesse einer setuid-Binärdatei, die sich auf einem mit der Option nosetuid eingehängten Dateisystem befindet, können nicht mit den Berechtigungen der Binärdatei setuid ausgeführt werden. Die Prozesse werden mit den Berechtigungen des Benutzers ausgeführt, der die Binärdatei aufgerufen hat.
Angenommen, ein Benutzer führt eine setuid-Binärdatei aus, deren Eigentümer root ist, so werden die Prozesse mit den Berechtigungen des Benutzers ausgeführt.
Das Öffnen von gerätespezifischen Einträgen im Dateisystem ist nicht gestattet. Dieses Verhalten entspricht der Angabe der Option nodevices.
Diese dateisystemspezifische Option ist für alle Solaris-Dateisysteme verfügbar, die mit mount-Dienstprogrammen eingehängt werden können. Diese Dienstprogramme sein in der Manpage mount(1M) beschrieben. In diesem Handbuch sind diese Dateisysteme unter Einhängen von Dateisystemen in Zonen aufgelistet. Dort werden auch die Leistungsmerkmale beim Einhängen beschrieben. Weitere Informationen zur Option -o nosuid finden Sie unter „Accessing Network File Systems (Reference)“ im System Administration Guide: Network Services .
Wenn Dateisysteme in einer Zone eingehängt werden, wird die Option nodevices angewendet. Angenommen, eine Zone erhält Zugriff auf ein Block-Gerät (/dev/dsk/c0t0d0s7) und ein Raw-Gerät (/dev/rdsk/c0t0d0s7) entsprechend einem UFS-Dateisystem, so wird das Dateisystem automatisch als nodevices eingehängt, wenn das Einhängen innerhalb einer Zone erfolgt. Diese Regelung gilt nicht für Mounts, die über eine zonecfg-Konfiguration angegeben wurden.
Optionen zum Einhängen von Dateisystemen in nicht-globalen Zonen sind in der folgenden Tabelle beschrieben. Verfahren für diese verschiedenen Einhängevarianten finden Sie unter Konfigurieren, Prüfen und Übernehmen einer Zone und unter Einhängen von Dateisystemen in laufenden nicht-globalen Zonen.
Ein nicht in der Liste aufgeführter Dateisystemtyp kann in der Konfiguration angegeben werden, sofern er über eine Mount-Binärdatei unter /usr/lib/fstype/mount verfügt.
Dateisystem |
Optionen zum Einhängen in einer nicht-globalen Zone |
---|---|
AutoFS |
Kann nicht mit zonecfg eingehängt werden; kann nicht manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden. Kann innerhalb der Zone eingehängt werden. |
CacheFS |
Kann nicht in einer nicht-globalen Zone verwendet werden. |
FDFS |
Kann mit zonecfg eingehängt werden; kann manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden; kann innerhalb der Zone eingehängt werden. |
HSFS |
Kann mit zonecfg eingehängt werden; kann manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden; kann innerhalb der Zone eingehängt werden. |
LOFS |
Kann mit zonecfg eingehängt werden; kann manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden; kann innerhalb der Zone eingehängt werden. |
MNTFS |
Kann nicht mit zonecfg eingehängt werden; kann nicht manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden. Kann innerhalb der Zone eingehängt werden. |
NFS |
Kann nicht mit zonecfg eingehängt werden. V2, V3 und V4, die derzeit in Zonen unterstützten Versionen, können innerhalb der Zone eingehängt werden. |
PCFS |
Kann mit zonecfg eingehängt werden; kann manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden; kann innerhalb der Zone eingehängt werden. |
PROCFS |
Kann nicht mit zonecfg eingehängt werden; kann nicht manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden. Kann innerhalb der Zone eingehängt werden. |
TMPFS |
Kann mit zonecfg eingehängt werden; kann manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden; kann innerhalb der Zone eingehängt werden. |
UDFS |
Kann mit zonecfg eingehängt werden; kann manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden; kann innerhalb der Zone eingehängt werden. |
UFS |
Kann mit zonecfg eingehängt werden; kann manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden; kann innerhalb der Zone eingehängt werden. |
XMEMFS |
Kann mit zonecfg eingehängt werden; kann manuell von der globalen Zone aus in einer nicht-globalen Zone eingehängt werden; kann innerhalb der Zone eingehängt werden. Die Unterstützung für dieses Dateisystem wird in einer zukünftigen Version des Solaris-Systems entfernt. |
ZFS |
Kann mit den Ressourcentypen zonecfg dataset und fs eingehängt werden. |
Weitere Informationen finden Sie unter So konfigurieren Sie die Zone, Einhängen von Dateisystemen in laufenden nicht-globalen Zonen und in der Manpage mount(1M).
Die Fähigkeit zum Aushängen eines Dateisystems hängt davon ab, wer das Dateisystem ursprünglich eingehängt hat. Wenn ein Dateisystem als Teil der Zonenkonfiguration mit dem Befehl zonecfg angegeben wurde, tritt die globale Zone als Eigentümer dieses Mounts auf und der Zonenadministrator der nicht-globalen Zone kann das Dateisystem nicht aushängen. Wenn das Dateisystem innerhalb der nicht-globalen Zone eingehängt wurde, beispielsweise durch Angabe des Mounts in der Datei /etc/vfstab der Zone, kann das Dateisystem vom Zonenadministrator der nicht-globalen Zone ausgehängt werden.
Für das Einhängen bestimmter Dateisysteme innerhalb einer Zone gelten Sicherheitseinschränkungen. Einige Dateisysteme zeigen ein besonderes Verhalten, wenn sie in einer Zone eingehängt werden. Die Liste der modifizierten Dateisysteme folgt.
Autofs ist ein clientseitiger Service, der das entsprechende Dateisystem automatisch einhängt. Wenn ein Client versucht, auf ein aktuell nicht eingehängtes Dateisystem zuzugreifen, fängt das AutoFS-Dateisystem die Anforderung ab und ruft automountd auf, um das angeforderte Verzeichnis einzuhängen. AutoFS-Mounts, die innerhalb einer Zone hergestellt wurden, gelten nur lokal für diese Zone. Auf diese Mounts kann nicht von anderen Zonen zugegriffen werden; dies gilt auch für die globalen Zone. Die Mounts werden entfernt, wenn die Zone angehalten oder neu gestartet wird. Weitere Informationen zu AutoFS finden Sie unter How Autofs Works in System Administration Guide: Network Services.
Jede Zone führt ihre eigene Kopie von automountd aus. Die automatischen Zuordnungen und Zeitüberschreitungen werden vom Zonenadministrator gesteuert. Sie können das Einhängen in einer anderen Zone nicht auslösen, indem Sie einen AutoFS-Einhängepunkt für eine nicht-globale Zone von der globalen Zone kreuzen.
Bestimmte AutoFS-Mounts werden im Kernel erstellt, wenn ein anderer Mount ausgelöst wird. Solche Mounts können nicht mit der normalen umount-Schnittstelle entfernt werden, da sie als Gruppe eingehängt oder ausgehängt werden müssen. Dieses Leistungsmerkmal dient zum Herunterfahren einer Zone.
MNTFS ist ein virtuelles Dateisystem, das dem lokalen System schreibgeschützten Zugriff auf die Tabelle der eingehängten Dateisysteme bereitstellt. Mithilfe von mnttab umfassen die in einer nicht-globalen Zone angezeigten Dateisysteme die in dieser Zone eingehängten Dateisysteme plus eines Eintrags für den Root (/). Bei Einhängepunkten mit einem speziellen Gerät, auf das innerhalb der Zone nicht zugegriffen werden kann (wie /dev/rdsk/c0t0d0s0), ist das spezielle Gerät entsprechend dem Einhängepunkt eingestellt. Alle Mounts im System sind in der Tabelle /etc/mnttab der globalen Zone ersichtlich. Weitere Informationen zu MNTFS finden Sie in Kapitel 18, Mounting and Unmounting File Systems (Tasks) in System Administration Guide: Devices and File Systems.
Innerhalb einer Zone eingerichtete NFS-Mounts gelten nur lokal für diese Zone. Auf diese Mounts kann nicht von anderen Zonen zugegriffen werden; dies gilt auch für die globalen Zone. Die Mounts werden entfernt, wenn die Zone angehalten oder neu gestartet wird.
Wie in der Manpage mount_nfs(1M) dokumentiert, darf ein NFS-Server nicht versuchen, seine eigenen Dateisysteme einzuhängen. Daher darf eine Zone ein von der globalen Zone exportiertes Dateisystem nicht in einem NFS einhängen. Zonen können keine NFS-Server sein. Innerhalb einer Zone verhalten sich NFS-Mounts so, als ob sie mit der Option nodevices eingehängt wurden.
Die Ausgabe des Befehls nfsstat bezieht sich nur auf die Zone, in der der Befehl ausgeführt wird. Wird der Befehl z. B. in der globalen Zone ausgeführt, so werden nur Informationen zur globalen Zone ausgegeben. Weitere Informationen zum Befehl nfsstat finden Sie in der Manpage nfsstat(1M).
Der Befehl zlogin schlägt fehl, wenn sich eine der offenen Dateien oder ein Teil des Adressraums auf einem NFS befinden. Weitere Informationen finden Sie unter zlogin-Befehl.
Das Dateisystem /proc (oder PROCFS) bietet Prozess-Sichtbarkeit sowie Zugriffseinschränkungen und Informationen über die Zonenzuordnung von Prozessen. Über /proc sind nur Prozesse in der gleichen Zone sichtbar.
Prozesse in der globalen Zone können Prozesse und andere Objekte in nicht-globalen Zonen überwachen. Dies gestattet diesen Prozessen, systemweit zu überwachen.
Innerhalb einer Zone verhalten sich procfs-Mounts so, als ob sie mit der Option nodevices eingehängt wurden. Weitere Informationen zu procfs finden Sie in der Manpage proc(4).
Der Bereich dessen, was über LOFS eingehängt werden kann, ist auf den Teil des Dateisystems beschränkt, der für die Zone sichtbar ist. Aus diesem Grund gibt es keine Einschränkungen für LOFS-Mounts in einer Zone.
Wenn Sie den Befehl zonecfg zum Konfigurieren von speicherbasierten Dateisystemen verwenden, die über eine fsck-Binärdatei verfügen (z. B. UFS) muss der Zonenadministrator einen raw-Parameter angeben. Dieser Parameter kennzeichnet ein Raw-Gerät (zeichenorientiert), z. B. /dev/rdsk/c0t0d0s7. zoneadmd führt automatisch den Befehl fsck im nicht-interaktiven Prüfmodus an diesem Gerät aus (fsck -m), bevor es das Dateisystem einhängt. Wenn der Befehl fsck fehlschlägt, kann zoneadmd die Zone nicht in den Status „ready“ versetzen. Der von raw angegebene Pfad darf kein relativer Pfad sein.
Die Angabe eines Geräts für fsck für ein Dateisystem, das keine Binärdatei fsck unter /usr/lib/fstype/fsck enthält, führt zu einem Fehler. Auch wenn Sie kein Gerät für fsck angeben, wenn eine Binärdatei fsck für das Dateisystem vorhanden ist, tritt ein Fehler auf.
Weitere Informationen finden Sie unter Der Daemon zoneadmd und in der Manpage fsck(1M)
Sie können ein ZFS-Dataset mit dem Befehl zonecfg und der Ressource add dataset zu einer nicht-globalen Zone hinzufügen. Das Dataset ist in der nicht-globalen Zone sichtbar und eingehängt, und in der globalen Zone nicht mehr sichtbar. Der Zonenadministrator kann Dateisysteme innerhalb dieses Datasets erstellen und löschen, Klone erstellen und löschen und die Eigenschaften des Datasets bearbeiten.
Das Attribut zoned von zfs kennzeichnet, ob ein Dataset zu einer nicht-globalen Zone hinzugefügt wurde.
# zfs get zoned tank/sales NAME PROPERTY VALUE SOURCE tank/sales zoned on local |
Wenn Sie ein Dataset von der globalen Zone aus gemeinsam nutzen möchten, können Sie mit dem Befehl zonecfg und den Optionen add fs ein LOFS-mounted ZFS-Dateisystem hinzufügen. Der globale Administrator ist für das Einstellen und Steuern der Dataset-Eigenschaften verantwortlich.
Weitere Informationen zum ZFS finden Sie in Kapitel 10, Fortgeschrittene Oracle Solaris ZFS-Themen in Oracle Solaris ZFS-Administrationshandbuch.
Zonen können NFS-Clients sein. Protokolle aus Version 2, Version 3 und Version 4 werden unterstützt. Weitere Informationen zu diesen NFS-Versionen finden Sie unter Features of the NFS Service in System Administration Guide: Network Services .
Die Standardversion ist NFS Version 4. Mithilfe einer der folgenden Methoden können Sie andere NFS-Versionen auf einem Client aktivieren:
Bearbeiten Sie /etc/default/nfs, um NFS_CLIENT_VERSMAX=Zahl so einzustellen, dass die Zone standardmäßig die angegebene Version verwendet. Lesen Sie dazu Setting Up NFS Services in System Administration Guide: Network Services . Verwenden Sie das Verfahren „So wählen Sie andere NFS-Versionen auf einem Client durch Modifizieren der Datei /etc/default/nfs“ in der Übersicht der Schritte.
Sie können manuell einen Versions-Mount erstellen. Diese Methode überschreibt den Inhalt von /etc/default/nfs. Lesen Sie dazu Setting Up NFS Services in System Administration Guide: Network Services . Verwenden Sie das Verfahren „So verwenden Sie die Befehlszeile zum Auswählen von anderen NFS-Versionen auf einem Client“ in der Übersicht der Schritte.
Beachten Sie, dass Sie den in der Manpage mknod(1M) beschriebenen Befehl mknod nicht zum Erstellen einer speziellen Datei in einer nicht-globalen Zone verwenden können.
Der Dateisystem-Namespace einer Zone ist ein Teil des Namespace, der von der globalen Zone aus zugänglich ist. Das Durchlaufen der Dateisystemhierarchie einer nicht-globalen Zone durch nicht berechtigte Prozesse in der globalen Zone wird mit den folgenden Mitteln verhindert:
Die Angabe, dass das übergeordnete Verzeichnis des Zonen-Root das Eigentum von Root ist, und nur von diesem gelesen, geschrieben und ausgeführt werden darf.
Das Einschränken des Zugriffs auf Verzeichnisse, die von /proc exportiert wurden
Beachten Sie, dass der Versuch eines Zugriffs auf AutoFS-Knoten, die für eine andere Zone eingehängt sind, fehlschlägt. Der globale Administrator darf keine automatischen Maps haben, die in andere Zonen hineinreichen.
Nachdem eine nicht-globale Zone installiert wurde, darf der Zugriff auf diese Zone niemals direkt von der globalen Zone aus erfolgen, es sei denn, mit den Befehlen eines Dienstprogramms zum System-Backup. Darüber hinaus wird eine nicht-globale Zone nicht mehr als sicher betrachtet, nachdem sie einer unbekannten Umgebung offen gelegt wurde. Ein Beispiel wäre eine Zone, die in einem öffentlich zugänglichen Netzwerk platziert wurde, in dem die Sicherheit der Zone gefährdet und eine Änderung der Dateisysteme möglich wäre. Nach einer möglichen Sicherheitsgefährdung muss der globale Administrator die Zone als nicht vertrauenswürdig behandeln.
Ein Befehl, der einen alternativen Root akzeptiert, indem die Optionen -R oder -b (oder die Entsprechungen) verwendet werden, darf nicht verwendet werden, wenn Folgendes zutrifft:
Der Befehl wird in der globalen Zone ausgeführt.
Der alternative Root bezieht sich auf einen Root-Pfad innerhalb einer nicht-globalen Zone, je nachdem, ob sich der Pfad relativ zur globalen Zone des aktuell ausgeführten Systems oder der globalen Zone in einem alternativen Root befindet.
Ein Beispiel ist die Option -R Rootpfad für das Dienstprogramm pkgadd, das von der globalen Zone aus mit einem Root-Pfad zu einer nicht-globalen Zone ausgeführt wird.
Zu den Befehlen, Programmen und Dienstprogrammen, die die Option -R mit einem alternativen Root-Pfad verwenden, gehören:
auditreduce
bart
flar
flarcreate
installf
localeadm
makeuuid
metaroot
patchadd
patchrm
pkgadd
pkgadm
pkgask
pkgchk
pkgrm
prodreg
removef
routeadm
showrev
syseventadm
Die Befehle und Programme, die -b mit einem alternativen Root-Pfad verwenden, sind:
add_drv
pprosetup
rem_drv
roleadd
sysidconfig
update_drv
useradd
Auf einem Solaris-System mit installierten Zonen können die Zonen über das Netzwerk miteinander kommunizieren. Alle Zonen haben separate Bindungen, oder Verbindungen, und alle Zonen können ihre eigenen Server-Daemons ausführen. Diese Daemons können die gleichen Ports überwachen, ohne dass ein Konflikt auftritt. Der IP-Stack löst Konflikte, indem die IP-Adressen für ankommende Verbindungen berücksichtigt werden. Die IP-Adressen identifizieren die Zone.
Der IP-Stack eines Systems, das Zonen unterstützt, setzt die Trennung des Netzwerkverkehrs zwischen den Zonen um. Anwendungen, die IP-Verkehr empfangen, empfangen nur Daten, die in der gleichen Zone gesendet wurden.
Jede logische Schnittstelle des Systems gehört zu einer bestimmten Zone; standardmäßig zur globalen Zone. Mithilfe des Dienstprogramms zonecfg werden den Zonen logische Netzwerkschnittstellen zugeordnet, mit denen sie über das Netzwerk kommunizieren können. Jeder Stream und jede Verbindung gehört zur Zone des Prozesses, der diesen Stream bzw. die Verbindung geöffnet hat.
Bindungen zwischen Streams höherer Schichten und logischen Schnittstellen sind eingeschränkt. Ein Stream kann nur Bindungen mit logischen Schnittstellen in der gleichen Zone herstellen. Entsprechend können Pakete von einer logischen Schnittstelle nur an Streams einer höheren Schicht in der gleichen Zone wie die logische Schnittstelle übergeben werden.
Jede Zone verfügt über ein eigenes Bindungsset. Jede Zone kann die gleiche Anwendung ausführen, die den gleichen Port überwacht, ohne dass Bindungen fehlschlagen, weil die Adresse bereits verwendet wird. Jede Zone kann ihre eigene Version der folgenden Services ausführen:
Internet Services-Daemon mit vollständiger Konfigurationsdatei (lesen Sie dazu die Manpage inetd(1M))
sendmail (lesen Sie dazu die Manpage sendmail(1M))
apache (lesen Sie dazu die Manpage apache(1M))
Für Zonen, bei denen es sich nicht um die globalen Zone handelt, ist der Zugriff auf das Netzwerk eingeschränkt. Die standardmäßigen TCP- und UDP-Socket-Schnittstellen sind verfügbar, aber die SOCK_RAW-Socket-Schnittstellen sind auf das Internet Control Message Protocol (ICMP) beschränkt. ICMP ist für das Erfassen und Melden von Netzwerkfehlerzuständen oder das Verwenden des Befehls ping erforderlich.
Jede mit einem Netzwerk verbundene nicht-globale Zone benötigt mindestens eine dedizierte IP-Adresse. Diese Adressen werden über logische Netzwerkschnittstellen zugeordnet, die mithilfe des Befehls ifconfig in einer Zone platziert werden. Mit dem Befehl zonecfg konfigurierte Zonen-Netzwerkschnittstellen werden beim Booten einer Zone automatisch eingerichtet und platziert. Mit dem Befehl ifconfig können logische Schnittstellen einer laufenden Zone hinzugefügt bzw. daraus entfernt werden. Nur der globale Administrator kann die Schnittstellenkonfiguration und Netzwerkrouten ändern.
Innerhalb einer nicht-globalen Zone sind nur die Schnittstellen der Zone für ifconfig sichtbar.
Weitere Informationen finden Sie in den Manpages ifconfig(1M) und if_tcp(7P).
Die Paketzustellung zwischen zwei Zonen auf dem gleichen Computer ist nur dann zulässig, wenn eine „Matching Route“ (Zuordnungsroute) für das Ziel und die Zone in der Weiterleitungstabelle vorhanden ist.
Die Matching-Informationen werden wie folgt umgesetzt:
Die Quelladresse der Pakete wird an der Ausgabeschnittstelle gewählt, die von der Matching Route angegeben ist.
Standardmäßig ist Verkehr zwischen zwei Zonen zulässig, die Adressen im gleichen Teilnetz haben. In diesem Fall ist die Matching Route die Schnittstellenroute des Teilnetzes.
Falls eine Standardroute für eine bestimmte Zone vorhanden ist, bei der sich das Gateway in einem der Teilnetze der Zone befindet, wird der Verkehr von dieser Zone in alle anderen Zonen gestattet. In diesem Fall ist die Matching Route die Standardroute.
Falls eine Matching Route mit dem Flag RTF_REJECT vorhanden ist, lösen Pakete eine Meldung aus, dass das ICMP nicht erreichbar ist. Wenn eine Matching Route mit dem Flag RTF_BLACKHOLE vorhanden ist, werden die Pakete verworfen. Mit den Optionen des Befehls route kann der globale Administrator Routen mit diesem Flags erstellen. Die Optionen sind in der folgenden Tabelle beschrieben.
Modifikator |
Flag |
Beschreibung |
---|---|---|
-reject |
RTF_REJECT |
Gibt bei einem Match eine „ICMP nicht erreichbar“-Nachricht aus. |
-blackhole |
RTF_BLACKHOLE |
Verwirft Pakete stillschweigend während Aktualisierungen. |
Weitere Informationen finden Sie in der Manpage route(1M)
Solaris IP-Filter bieten statusbehaftete Paketfilterung und Network Address Translation (NAT). Ein statusbehafteter Paketfilter kann den Status aktiver Verbindungen überwachen und anhand der gesammelten Informationen festlegen, welche Netzwerkpakete eine Firewall passieren dürfen. Darüber hinaus bietet Solaris IP Filter eine statusfreie Paketfilterung sowie die Möglichkeit, Adresspools zu erstellen und zu verwalten. Weitere Informationen finden Sie in Kapitel 25, Oracle Solaris IP Filter (Übersicht) in Systemverwaltungshandbuch: IP Services.
Solaris IP-Filter können in nicht-globalen Zonen aktiviert werden, indem die Loopback-Filterung gemäß der Beschreibung in Kapitel 26, Oracle Solaris IP Filter (Aufgaben) in Systemverwaltungshandbuch: IP Services aktiviert wird.
Solaris IP Filter ist von der Open Source IP Filter-Software abgeleitet.
IP-Netzwerk-Multipathing (IPMP) bietet eine Erkennung von Ausfällen physikalischer Schnittstellen und transparentes Failover des Netzwerkzugriffs bei einem System mit mehreren Schnittstellen in der gleichen IP-Verbindung. Darüber hinaus bietet IPMP Lastverteilung von Paketen für Systeme mit mehreren Schnittstellen.
Die gesamte Netzwerkkonfiguration erfolgt in der globalen Zone. Sie können IPMP in der globalen Zone konfigurieren und die Leistungsmerkmale dann auf nicht-globale Zonen erweitern. Die Leistungsmerkmale werden erweitert, indem Sie die Zonenadresse beim Konfigurieren der Zone in eine IPMP-Gruppe aufnehmen. Sollte dann eine der Schnittstellen in der globalen Zone ausfallen, migrieren die Adressen der nicht-globalen Zone auf eine andere Netzwerk-Schnittstellenkarte. Eine Shared-IP-Zone kann über mehrere IP-Adressen verfügen, zu mehreren IPMP-Gruppen gehören und eine IPMP-Gruppe kann von mehreren Shared-IP-Zonen verwendet werden.
In einer bestimmten nicht-globalen Zone sind nur die der Zone zugeordneten Schnittstellen über den Befehl ifconfig sichtbar.
Lesen Sie dazu So erweitern Sie die Funktionen des IP Network Multipathing auf nicht-globale Shared IP-Zonen. Das Verfahren zur Zonenkonfiguration ist unter So konfigurieren Sie die Zone beschrieben. Weitere Informationen zu den Leistungsmerkmalen und Komponenten sowie zur Nutzung von IPMP finden Sie in Kapitel 30, Einführung in IPMP (Übersicht) in Systemverwaltungshandbuch: IP Services.
Eine Exclusive IP-Zone verfügt über eigene IP-orientierte Zustände und einstellbare Variablen. Der Zone wird beim Konfigurieren der Zone ist ein eigener Satz Datenverbindungen zugeordnet.
Informationen zu den Leistungsmerkmalen, die in einer nicht-globalen Exclusive IP-Zone verwendet werden können, finden Sie unter Solaris 10 8/07: Nicht-globale Exclusive IP-Zonen. Informationen zu den einstellbaren IP ndd-Variablen finden Sie im Oracle Solaris Tunable Parameters Reference Manual .
Exclusive IP-Zonen haben separate TCP/IP-Stacks, daher reicht die Separation hinab bis zur Verbindungsschicht. Einem oder mehreren Verbindungsnamen, bei denen es sich um eine NIC oder ein VLAN auf einer NIC handeln kann, wird vom globalen Administrator eine Exclusive IP-Zone zugeordnet. Der Zonenadministrator kann das IP für diese Verbindungen mit der gleichen Flexibilität und den gleichen Optionen wie in der globalen Zone konfigurieren.
Ein Verbindungsname muss exklusiv einer einzelnen Zone zugeordnet sein.
Mit dem Befehl dladm show-link können Sie die Verbindungen anzeigen, die laufenden Zonen zugeordnet sind.
Weitere Informationen finden Sie in der Manpage dladm(1M)
Es gibt kein internes Loopback von IP-Paketen zwischen Exclusive IP-Zonen. Alle Pakete werden zur Verbindungsschicht gesendet. In der Regel bedeutet dies, dass die Pakete an eine Netzwerkschnittstelle gesendet werden. Dann können Geräte wie Ethernet-Switches oder IP-Router die Pakete an das Ziel weiterleiten, bei dem es sich um eine andere Zone auf dem gleichen Computer handeln kann.
In einer Exclusive IP-Zone haben Sie die gleichen IP-Filter-Leistungsmerkmale wie in der globalen Zone. Die IP-Filter in Exclusive IP-Zonen werden auf die gleiche Weise wie in der globalen Zone konfiguriert.
IP-Netzwerk-Multipathing (IPMP) bietet eine Erkennung von Ausfällen physikalischer Schnittstellen und transparentes Failover des Netzwerkzugriffs bei einem System mit mehreren Schnittstellen in der gleichen IP-Verbindung. Außer der Fehlertoleranz bietet IPMP Lastverteilung von Paketen für Systeme mit mehreren Schnittstellen.
Die Konfiguration der Datenverbindung erfolgt in der globalen Zone. Zunächst werden einer Zone mit zonecfg mehrere Verbindungsschnittstellen zugewiesen. Die Multi-Verbindungsschnittstellen müssen an das gleiche IP-Teilnetz angehängt werden. IPMP kann dann vom Zonenadministrator innerhalb der Exclusive IP-Zone konfiguriert werden. Mehrere IPMP-Gruppen können einer gegebenen Exclusive-IP-Zone zugewiesen werden, diese IPMP-Gruppen können jedoch nicht gemeinsam mit anderen Zonen genutzt werden.
Innerhalb einer Zone sind die zur Verfügung stehenden Geräte eingeschränkt. Aus diese Weise wird verhindert, dass ein Prozess in einer Zone Prozesse in anderen Zonen beeinflusst. Beispielsweise kann ein Prozess in einer Zone den Kernel-Speicher oder den Inhalt in der Root-Platte nicht ändern. Aus diesem Grund werden standardmäßig nur bestimmte Pseudo-Geräte als sicher für die Verwendung in einer Zone betrachtet. Zusätzliche Geräte können mit dem Dienstprogramm zonecfg in bestimmten Zonen verfügbar gemacht werden.
Das in der Manpage devfs beschriebene Dateisystem devfs(7FS) wird vom Solaris-System zur Verwaltung von /devices verwendet. Jedes Element in diesem Namespace stellt den absoluten Pfad zu einem Hardware-, Pseudo- oder Nexus-Gerät dar. Der Namespace ist eine Reflektion der Gerätestruktur. Somit wird das Dateisystem mit der Hierarchie der Verzeichnisse und gerätespezifischen Dateien bestückt.
Die /dev-Dateihierarchie , die heute Teil des Dateisystems / (Root) ist, besteht aus symbolischen Verbindungen (oder logischen Pfaden) zu den absoluten Pfaden in /devices. Anwendungen verweisen auf den logischen Pfad zu einem Gerät in /dev. Das Dateisystem /dev ist als Loopback-Mount schreibgeschützt in der Zone eingehängt.
Die Dateihierarchie /dev wird von einem System verwaltet, dass die in der folgenden Liste enthaltenen Komponenten umfasst:
devfsadm (lesen Sie dazu die Manpage devfsadm(1M))
syseventd (lesen Sie dazu die Manpage syseventd(1M))
libdevinfo-Geräteinformationsbibliothek (lesen Sie dazu die Manpage libdevinfo(3LIB))
devinfo-Treiber (lesen Sie dazu die Manpage devinfo(7D))
Reconfiguration Coordination Manager (RCM) (lesen Sie dazu Reconfiguration Coordination Manager (RCM) Script Overview in System Administration Guide: Devices and File Systems )
Untersysteme, die auf /devices-Pfadnamen beruhen, können erst dann in nicht-globalen Zonen ausgeführt werden, wenn die /dev-Pfadnamen eingerichtet wurden.
Eventuell haben Sie Geräte, die Sie bestimmten Zonen zuordnen möchten. Wenn Sie nicht berechtigten Benutzern den Zugriff auf Block-Geräte gestatten, könnten diese Geräte dazu verwendet werden, Alarmzustände im System, Resets von Bussen und andere unerwünschte Nebenwirkungen zu verursachen. Bevor Sie solche Zuweisungen vornehmen, sollten Sie Folgendes berücksichtigen:
Bevor Sie einer bestimmten Zone ein SCSI- Bandgerät zuweisen, lesen Sie die Manpage sgen(7D).
Das Platzieren eines physikalischen Gerätes in mehreren Zonen kann einen versteckten Kanal zwischen den Zonen schaffen. Anwendungen der globalen Zone, die ein solches Gerät benutzen, erhöhen die Möglichkeit von sicherheitsgefährdenden Daten oder Datenverletzungen durch eine nicht-globale Zone.
In einer nicht-globalen Zone können Sie mit dem in der Manpage modinfo(1M) beschriebenen Befehl modinfo die Liste der geladenen Kernel-Module anzeigen.
Die meisten Vorgänge zur Kernel-, Geräte- und Plattformverwaltung werden nicht innerhalb einer nicht-globalen Zone ausgeführt, da das Modifizieren von Plattform-Hardwarekonfigurationen das Sicherheitsmodell der Zone verletzt. Diese Vorgänge umfassen z. B.:
Hinzufügen und Entfernen von Treibern
Explizites Laden und Entfernen von Kernel-Modulen
Initiieren von Dynamic Reconfiguration (DR)-Vorgängen
Verwenden von Einrichtungen, die sich auf den Zustand der physischen Plattform auswirken
Die folgenden Dienstprogramme können in einer Zone nicht ausgeführt werden, da sie von Geräten abhängig sind, die normalerweise nicht verfügbar sind:
cdrecord (siehe Manpage im Verzeichnis /usr/share/man/man1 . )
cdrw (siehe Manpage cdrw(1))
rmformat (siehe Manpage rmformat(1))
add_drv (siehe Manpage add_drv(1M))
disks (siehe Manpage disks(1M))
prtconf (lesen Sie dazu die Manpage prtconf(1M))
prtdiag (lesen Sie dazu die Manpage prtdiag(1M))
rem_drv (siehe Manpage rem_drv(1M))
Mit dem Dienstprogramm eeprom können Einstellungen in einer Zone angezeigt werden. Das Dienstprogramm kann nicht zum Ändern von Einstellungen verwendet werden. Weitere Informationen finden Sie in den Manpages eeprom(1M) und openprom(7D).
Im Allgemeinen können alle Anwendungen in einer nicht-globalen Zone ausgeführt werden. Die folgenden Anwendungstypen sind jedoch eventuell nicht für diese Umgebung geeignet:
Anwendungen, die privilegierte Vorgänge verwenden, die sich auf das gesamte System auswirken. Beispiele hierfür sind Vorgänge, die die globale Systemuhr einstellen oder reellen Speicher sperren.
Einige Anwendungen, die von bestimmten Geräten abhängig sind, können in einer nicht-globalen Zone nicht existieren. Hierzu gehört z. B. /dev/kmem.
Anwendungen, die während der Laufzeit, der Installation, dem Patchen oder Aktualisieren in /usr schreiben müssen. Dies liegt daran, dass /usr standardmäßig für eine nicht-globale Zone schreibgeschützt ist. Manchmal können die Probleme mit diesem Anwendungstyp gelöst werden, ohne Änderungen an der Anwendung selbst vorzunehmen.
Anwendungen in einer Shared IP-Zone, die von Geräten in /dev/ip abhängig sind.
Weitere Informationen zur Verwendung der Leistungsmerkmale der Ressourcenverwaltung finden Sie im entsprechenden Kapitel in Teil 1 dieses Handbuchs.
Alle Resource Controls und Attribute, die in den Kapiteln zur Ressourcenverwaltung beschrieben werden, können in der Datei /etc/project der globalen und nicht-globalen Zone, der NIS-Map oder dem LDAP-Verzeichnisservice eingestellt werden. Die Einstellungen für eine bestimmte Zone wirken sich nur auf diese Zone aus. Ein Projekt, das in verschiedenen Zonen autonom ausgeführt wird, verfügt in jeder Zone über individuell eingestellte Resource Controls. Beispielsweise kann für Projekt A in der globalen Zone project.cpu-shares=10 eingestellt sein, während Projekt A in einer nicht-globalen Zone über die Einstellung project.cpu-shares=5 verfügt. Sie können mehrere Instanzen von rcapd auf dem System ausführen, dabei arbeitet jede Instanz nur in ihrer Zone.
Die Resource Controls und Attribute, die in einer Zone zum Steuern von Projekten, Aufgaben und Prozessen innerhalb dieser Zone verwendet werden, unterliegen zusätzlichen Anforderungen hinsichtlich Pools und zonenweiten Resource Controls.
Für nicht-globale Zonen gilt die Regel „eine Zone, einen Pool“. Die Ressourcen eines Pools können von mehreren nicht-globalen Zonen gemeinsam genutzt werden. Prozesse in der globalen Zone können jedoch durch einen ausreichend privilegierten Prozess an einen bestimmten Pool gebunden werden. Der Resource-Controller poold kann nur in der globalen Zone ausgeführt werden, in der es mehrere Pools gibt, in denen er arbeiten kann. Das in einer nicht-globalen Zone ausgeführte Dienstprogramm poolstat zeigt nur Informationen zu dem Pool an, der mit der Zone verbunden ist. Wenn der Befehl pooladm ohne Argumente in einer nicht-globalen Zone ausgeführt wird, werden nur Informationen zu dem Pool angezeigt, der mit der Zone verbunden ist.
Zonenweite Resource Controls wirken sich nicht aus, wenn sie in der Datei project gesetzt wurden. Eine zonenweite Resource Control wird über das Dienstprogramm zonecfg gesetzt.
Diesem Abschnitt wird beschrieben, wie Sie den Fair Share Scheduler (FSS) mit Zonen verwenden.
FSS CPU-Shares für eine Zone sind hierarchisch. Die Shares für die globale Zone und nicht-globalen Zonen werden vom globalen Administrator über die zonenweite Resource Control zone.cpu-shares eingestellt. Die Resource Control project.cpu-shares kann dann für jedes Projekt innerhalb der Zone definiert werden, um die über die zonenweite Resource Control eingerichteten Shares weiter aufzuteilen.
Wie Sie Zonen-Shares mit dem Befehl zonecfg zuweisen, können Sie unter So stellen Sie zone.cpu-shares in der globalen Zone ein nachlesen . Weitere Informationen zu project.cpu-shares finden Sie unter Verfügbare Resource Controls. Beispiele für Verfahren, bei denen Shares auf temporärer Basis zugeteilt werden, finden Sie unter Verwenden des Fair Share Scheduler auf einem Solaris-System mit installierten Zonen.
Mit der Resource Control zone.cpu-shares können Sie FSS-Shares für die globale Zone und nicht-globale Zonen zuweisen. Wenn der FSS der Standard-Scheduler auf dem System ist und keine Shares zugewiesen wurden, erhält jede Zone (einschließlich der globalen Zone) standardmäßig einen Share. Wenn sich eine nicht-globale Zone auf dem System befindet und Sie dieser Zone mit zone.cpu-shares zwei Shares zuordnen, definiert dies den Anteil an der CPU, den die nicht-globale Zone in Relation zur globalen Zone erhält. Das CPU-Verhältnis zwischen den zwei Zonen beträgt 2:1.
Wenn das Extended Accounting in der globalen Zone ausgeführt wird, sammelt es Daten und erstellt Berichte für das gesamte System (einschließlich der nicht-globalen Zonen). Der globale Administrator kann darüber hinaus den Ressourcenverbrauch pro Zone festlegen.
Das Subsystem Extended Accounting gestattet für prozess- und aufgabenbasiertes Accounting unterschiedliche Einstellungen und Dateien für jede Zone. Die exacct-Datensätzen können mit dem Zonennamen EXD PROC ZONENAME für Prozesse und dem Zonennamen EXD TASK ZONENAME für Aufgaben gekennzeichnet werden. Accounting-Datensätze werden in die Accounting-Dateien der globalen Zone und in die Accounting-Dateien der jeweiligen Zone geschrieben. Die Datensätze EXD TASK HOSTNAME, EXD PROC HOSTNAME und EXD HOSTNAME enthalten anstelle des Knotennamens der globalen Zone den Wert uname -n für die Zone, in der der Prozess bzw. die Aufgabe ausgeführt wird.
Weitere Informationen über das IPQoS Flow Accounting finden Sie in Kapitel 36, Verwenden von Flow Accounting und Erfassen von Statistiken (Aufgaben) in Systemverwaltungshandbuch: IP Services.
Prozesse sind auf bestimmte Berechtigungen beschränkt. Die Einschränkung von Berechtigungen verhindert, dass Vorgänge in einer Zone ausgeführt werden, die sich auf andere Zonen auswirken könnten. Die Berechtigungen schränken die Möglichkeiten berechtigter Benutzer auf die jeweilige Zone ein. Zum Anzeigen einer Liste der in einer Zone verfügbaren Berechtigungen verwenden Sie das Dienstprogramm ppriv.
In der folgenden Tabelle sind alle Solaris-Berechtigungen und der Status jede Berechtigung in Bezug auf Zonen aufgeführt. Optionale Berechtigungen, die nicht zu den Standardberechtigungen gehören, können über die Eigenschaft limitpriv angegeben werden. Erforderliche Berechtigungen müssen in das resultierende Berechtigungsset aufgenommen sein. Verbotene Berechtigungen können im resultierenden Berechtigungsset nicht enthalten sein.
Die Eigenschaft limitpriv wurde mit dem Solaris-Release 10 11/06 eingeführt.
Tabelle 27–1 Status von Berechtigungen in Zonen
Berechtigung |
Status |
Anmerkung |
---|---|---|
cpc_cpu |
Optional |
Zugriff auf bestimmte cpc(3CPC)-Zähler |
dtrace_proc |
Optional |
fasttrap- und pid-Provider; plockstat(1M) |
dtrace_user |
Optional |
profile- und syscall-Provider |
graphics_access |
Optional |
ioctl(2) Zugriff auf agpgart_io(7I) |
graphics_map |
Optional |
mmap(2) Zugriff auf agpgart_io(7I) |
net_rawaccess |
Optional in Shared IP-Zonen. Standard in Exclusive IP-Zonen. |
Raw PF_INET/PF_INET6-Paketzugriff |
proc_clock_highres |
Optional |
Verwendung von hochauflösenden Timern |
proc_priocntl |
Optional |
Scheduling-Steuerung; priocntl(1) |
sys_ipc_config |
Optional |
Anheben der Puffergröße der IPC-Nachrichtenwarteschlange |
sys_time |
Optional |
Manipulation der Systemzeit; xntp(1M) |
dtrace_kernel |
Verboten |
Wird derzeit nicht unterstützt |
proc_zone |
Verboten |
Wird derzeit nicht unterstützt |
sys_config |
Verboten |
Wird derzeit nicht unterstützt |
sys_devices |
Verboten |
Wird derzeit nicht unterstützt |
sys_linkdir |
Verboten |
Wird derzeit nicht unterstützt |
sys_net_config |
Verboten |
Wird derzeit nicht unterstützt |
sys_res_config |
Verboten |
Wird derzeit nicht unterstützt |
sys_suser_compat |
Verboten |
Wird derzeit nicht unterstützt |
proc_exec |
Erforderlich, Standard |
Dient zum Starten von init(1M ) |
proc_fork |
Erforderlich, Standard |
Dient zum Starten von init(1M ) |
sys_mount |
Erforderlich, Standard |
Erforderlich zum Einhängen von erforderlichen Dateisystemen |
sys_ip_config |
Erforderlich, Standard in Exclusive IP-Zonen Verboten in Shared IP-Zonen |
Erforderlich für die Boot-Zone und zum Initialisieren von IP-Netzverbindungen in einer Exclusive IP-Zone |
contract_event |
Standard |
Verwendet vom Contract-Dateisystem |
contract_observer |
Standard |
Contract-Überwachung ungeachtet der UID |
file_chown |
Standard |
Änderungen bei der Datei-Eigentümerschaft |
file_chown_self |
Standard |
Eigentümer/Gruppenänderungen für eigene Dateien |
file_dac_execute |
Standard |
Ausführungszugriff ungeachtet von Modus/ACL |
file_dac_read |
Standard |
Lesezugriff ungeachtet von Modus/ACL |
file_dac_search |
Standard |
Suchzugriff ungeachtet von Modus/ACL |
file_dac_write |
Standard |
Schreibzugriff ungeachtet von Modus/ACL |
file_link_any |
Standard |
Verbindungszugriff ungeachtet des Eigentümers |
file_owner |
Standard |
Anderer Zugriff ungeachtet des Eigentümers |
file_setid |
Standard |
Berechtigungsänderungen für die Dateien setid, setgid, setuid |
ipc_dac_read |
Standard |
IPC-Lesezugriff ungeachtet des Modus |
ipc_dac_owner |
Standard |
IPC-Schreibzugriff ungeachtet des Modus |
ipc_owner |
Standard |
IPC-sonstiger Zugriff ungeachtet des Modus |
net_icmpaccess |
Standard |
ICMP-Paketzugriff: ping(1M) |
net_privaddr |
Standard |
Bindung an berechtigte Ports |
proc_audit |
Standard |
Erzeugung von Audit-Datensätzen |
proc_chroot |
Standard |
Änderung des root-Verzeichnisses |
proc_info |
Standard |
Prozess-Untersuchung |
proc_lock_memory |
Standard |
Sperren des Speichers; shmctl(2) und mlock(3C) Wenn diese Berechtigung einer nicht-globalen Zone vom Systemadministrator zugeordnet wurde, muss auch die Resource Control zone.max-locked-memory gesetzt werden, um zu verhindern, dass die Zone den gesamten Speicher sperrt. |
proc_owner |
Standard |
Prozesskontrolle ungeachtet des Eigentümers |
proc_session |
Standard |
Prozesskontrolle ungeachtet der Sitzung |
proc_setid |
Standard |
Willkürliche Einstellung von Benutzer/Gruppen-IDs |
proc_taskid |
Standard |
Zuweisung von Aufgaben-IDs zum Aufrufer |
sys_acct |
Standard |
Accounting-Verwaltung |
sys_admin |
Standard |
Einfache Systemadministrationsaufgaben |
sys_audit |
Standard |
Auditing-Verwaltung |
sys_nfs |
Standard |
NFS-Client-Unterstützung |
sys_resource |
Standard |
Bearbeiten der Ressourcengrenzen |
In der folgenden Tabelle sind alle Trusted Solaris Extensions-Berechtigungen und der Status jede Berechtigung in Bezug auf die Zonen aufgeführt. Optionale Berechtigungen, die nicht zu den Standardberechtigungen gehören, können über die Eigenschaft limitpriv angegeben werden.
Diese Berechtigungen werden nur dann ausgewertet, wenn das System mit Solaris Trusted Extensions konfiguriert ist.
Solaris Trusted Extensions-Berechtigung |
Status |
Anmerkung |
---|---|---|
file_downgrade_sl |
Optional |
Stellen Sie das Sensitivity Label der Datei oder des Verzeichnisses so ein, dass es das existierende Sensitivity Label nicht dominiert. |
file_upgrade_sl |
Optional |
Stellen Sie das Sensitivity Label der Datei oder des Verzeichnisses so ein, dass es das existierende Sensitivity Label dominiert. |
sys_trans_label |
Optional |
Label übersetzen, die nicht von einem Sensitivity Label dominiert sind |
win_colormap |
Optional |
Colormap-Einschränkungen außer Kraft setzen |
win_config |
Optional |
Konfigurieren oder Löschen von Ressourcen, die permanent vom XServer aufbewahrt werden |
win_dac_read |
Optional |
Lesen aus einer Window-Ressource, die nicht das Eigentum der Benutzer-ID des Client ist |
win_dac_write |
Optional |
Schreiben oder Erstellen einer Window-Ressource, die nicht das Eigentum der Benutzer-ID des Client ist |
win_devices |
Optional |
Ausführen von Vorgängen an Eingabegeräten. |
win_dga |
Optional |
Verwenden der X-Protokollerweiterungen für den Grafikzugriff; Frame Buffer-Berechtigungen erforderlich |
win_downgrade_sl |
Optional |
Ändern des Sensitivity Label der Window-Ressource auf ein neues Label, das vom vorhandenen Label dominiert wird |
win_fontpath |
Optional |
Hinzufügen eines zusätzlichen Schriftartpfads |
win_mac_read |
Optional |
Lesen aus einer Window-Ressource mit einem Label, das das Client-Label dominiert |
win_mac_write |
Optional |
Schreiben in eine Window-Ressource mit einem Label, das dem Client-Label nicht gleicht |
win_selection |
Optional |
Anfordern von Datenverschiebungen ohne Anzeigen einer Bestätigungsaufforderung |
win_upgrade_sl |
Optional |
Ändern des Sensitivity Label der Window-Ressource auf ein neues Label, das nicht vom vorhandenen Label dominiert wird |
net_bindmlp |
Standard |
Ermöglicht das Binden an einen Multilevel Port (MLP) |
net_mac_aware |
Standard |
Ermöglicht das Lesen über NFS |
Wie Sie Berechtigungen in der Konfiguration einer nicht-globalen Zone ändern, finden Sie unter Konfigurieren, Prüfen und Übernehmen einer Zone.
Informationen zum Anzeigen von Berechtigungssets finden Sie unter Verwenden des Dienstprogramms ppriv. Weitere Informationen zu Berechtigungen finden Sie in der Manpage ppriv(1) und im System Administration Guide: Security Services.
Das Internet Protocol Security Architecture (IPsec), das einen Schutz des IP-Datagramms bietet, wird in Kapitel 19, IP Security Architecture (Übersicht) in Systemverwaltungshandbuch: IP Services beschrieben . Das Internet Key Exchange (IKE)-Protokoll dient zum Verwalten der erforderlichen Schlüssel für die automatische Authentifizierung und Verschlüsselung.
Weitere Informationen entnehmen Sie bitte den Manpages ipsecconf(1M) und ipseckey(1M).
IPsec kann in der globalen Zone eingesetzt werden. Jedoch kann IPsec in einer nicht-globalen Zone kein IKE nutzen. Daher müssen Sie zur Verwaltung der IPsec-Schlüssel und Richtlinien für die nicht-globalen Zonen das Internet Key Exchange (IKE)-Protokoll in der globalen Zone verwenden. Verwenden Sie die Quelladresse, die der von Ihnen konfigurierten nicht-globalen Zone entspricht.
IPsec kann in Exclusive IP-Zonen verwendet werden.
Das Solaris-Auditing ist in Kapitel 28, Oracle Solaris Auditing (Overview) in System Administration Guide: Security Services beschrieben . Informationen zu den Überlegungen, die im Zusammenhang mit dem Auditing für Zonen angestellt werden müssen, finden Sie in den folgenden Abschnitten:
Kapitel 29, Planning for Oracle Solaris Auditing in System Administration Guide: Security Services
Auditing and Solaris Zones in System Administration Guide: Security Services
Ein Audit-Datensatz beschreibt ein Ereignis, zum Beispiel das Anmelden bei einem System oder das Schreiben in eine Datei. Der Datensatz besteht aus mehreren Token, bei denen es sich um Audit-Daten-Sets handelt. Mit dem Token zonename können Sie das Solaris-Auditing so konfigurieren, dass es Audit-Ereignisse nach der Zone kennzeichnet. Mit dem Token zonename können Sie die folgenden Informationen erstellen:
Audit-Datensätze, die mit dem Namen der Zone gekennzeichnet sind, in der der Datensatz erzeugt wurde
Ein Audit-Protokoll für eine bestimmte Zone, das der globale Administrator für den Zonenadministrator zur Verfügung stellen kann
Solaris-Audittrails werden in der globalen Zone konfiguriert. Die Audit-Richtlinien werden in der globalen Zone eingestellt und gelten für Prozesse in allen Zonen. Die Audit-Datensätze können mit dem Namen der Zone versehen werden, in der das Ereignis aufgetreten ist. Um Zonennamen in Audit-Datensätzen aufzunehmen, müssen Sie die Datei /etc/security/audit_startup ändern, bevor Sie nicht-globale Zonen installieren. Die Auswahl der Zonennamen ist von der Groß-/Kleinschreibung abhängig.
Um das Auditing in der globalen Zone so zu konfigurieren, dass alle Zonen-Audit-Datensätze enthalten sind, fügen Sie die folgende Zeile in die Datei /etc/security/audit_startup ein:
/usr/sbin/auditconfig -setpolicy +zonename |
Als globaler Administrator in der globalen Zone führen Sie das Dienstprogramm auditconfig aus:
global# auditconfig -setpolicy +zonename |
Weitere Informationen finden Sie in den Manpages audit_startup(1M) und auditconfig(1M) sowie unter „Configuring Audit Files (Task Map)“ im System Administration Guide: Security Services.
Beim Erstellen einer nicht-globalen Zone werden die Dateien audit_control und audit_user von der globalen Zone in das Verzeichnis /etc/security der Zone kopiert. Diese Dateien müssen eventuell modifiziert werden, um die Audit-Anforderungen der Zone widerzuspiegeln.
Beispielsweise kann jede Zone so konfiguriert werden, dass das Auditing für bestimmte Benutzer anders als für andere Benutzer ausgeführt wird. Um diese benutzerspezifischen Vorauswahlkriterien anzuwenden, müssen die beiden Dateien audit_control und audit_user bearbeitet werden. Eventuell sind für die Datei audit_user in der nicht-globalen Zone auch Änderungen erforderlich, um die Benutzerbasis der Zone widerzuspiegeln. Da jede Zone bezüglich des Benutzers, der das Auditing ausführt, anders konfiguriert sein kann, ist es auch möglich, dass die Datei audit_user vollständig leer ist.
Weitere Informationen finden Sie in den Manpages audit_control(4) und audit_user(4).
Durch Aufnahme des Token zonename gemäß der Beschreibung unter Konfigurieren des Auditing in der globalen Zone können Solaris-Audit-Datensätze nach Zonen konfiguriert werden. Datensätze aus unterschiedlichen Zonen können dann mit dem Befehl auditreduce gesammelt werden, um Protokolle für eine bestimmte Zone zu erstellen.
Weitere Informationen finden Sie in den Manpages audit_startup(1M) und auditreduce(1M).
Mit dem Befehl coreadm geben Sie den Namen und Speicherort von Core-Dateien an, die durch vorzeitig beendete Prozesse erstellt werden. Pfadangaben zu den Core-Dateien, die den Zonennamen der Zone enthalten, in der der Prozess ausgeführt wurde, werden durch Angabe der Variablen %z erstellt. Der Pfadname ist relativ zum Root-Verzeichnis der Zone.
Weitere Informationen finden Sie in den Manpages coreadm(1M) und core(4).
DTrace-Programme, die nur die Berechtigungen dtrace_proc und dtrace_user benötigen, können in einer nicht-globalen Zone ausgeführt werden. Um diese Berechtigungen zum Berechtigungsset hinzuzufügen, das in der nicht-globalen Zone zur Verfügung steht, verwenden Sie die zonecfg-Eigenschaft limitpriv. Anweisungen hierzu finden Sie unter So verwenden Sie DTrace.
Die von dtrace_proc unterstützten Provider sind fasttrap und pid. Die von dtrace_user unterstützten Provider sind profile und syscall. Der Gültigkeitsbereich der DTrace-Provider und -Aktionen ist auf die Zone beschränkt.
Weitere Informationen finden Sie unter Berechtigungen in einer nicht-globalen Zone.
Sie können Sicherungen einzelner nicht-globaler Zonen erstellen, oder das gesamte System von der globalen Zone aus sichern.
Da viele nicht-globale Zonen über lofs-Mounts (in der Regel /usr, /lib, /sbin und /platform) Dateien gemeinsam mit dem globalen System nutzen, müssen Sie ein Sicherungsverfahren für die globale Zone verwenden, um die lofs-Verzeichnisse zu sichern.
Sichern Sie nicht die lofs-Dateisysteme, die in nicht-globalen Zonen mit der globalen Zone gemeinsam genutzt werden. Ein Versuch des Administrators einer nicht-globalen Zone, lofs-Dateisysteme aus einer nicht-globalen Zone wiederherzustellen, könnte zu einem schwerwiegenden Problem führen.
In den folgenden Fällen können Sie die Sicherungen von der globalen Zone aus durchführen:
Sie möchten die Konfigurationen der nicht-globalen Zonen ebenso wie die Anwendungsdaten sichern.
Ihre oberste Priorität ist die Möglichkeit des Wiederherstellens nach einem Ausfall. Wenn Sie alles oder nahezu alles auf dem System wiederherstellen müssen, einschließlich der Root-Dateisysteme Ihrer Zonen und deren Konfigurationsdaten sowie die Daten in der globalen Zone, sollten Sie die Sicherung von der globalen Zone aus durchführen.
Für eine Datensicherung verwenden Sie den Befehl ufsdump. Da das Importieren eines reellen Festplattengeräts in eine nicht-globale Zone das Sicherheitsprofil der Zone ändern würde, müssen Sie den Befehl ufsdump von der globalen Zone aus einsetzen.
Sie haben eine kommerzielle Software für Sicherungen über das Netzwerk.
Ihre Softwarelösung zum Erstellen von Sicherungen über das Netzwerk sollte so konfiguriert sein, dass alle geerbten lofs-Dateisysteme übersprungen werden können. Die Sicherung sollte dann ausgeführt werden, wenn weder Zone noch Anwendungen auf die zu sichernden Daten zugreifen.
In den folgenden Fällen können Sie Sicherungen in den nicht-globalen Zonen erstellen.
Der Administrator der nicht-globalen Zone muss in der Lage sein, die Daten in weniger schweren Fällen wiederherstellen zu können oder Anwendungen oder Benutzerdaten für eine bestimmte Zone wiederherzustellen.
Sie möchten Programme verwenden, die eine dateibasierte Sicherung vornehmen, z. B. tar oder cpio. Lesen Sie dazu die Manpages tar(1) und cpio(1).
Sie verwenden die Sicherungssoftware einer bestimmten Anwendung oder eines Services, der in einer Zone ausgeführt wird. Es kann zu Problemen führen, die Sicherungssoftware von der globalen Zone auszuführen, da Anwendungsumgebungen, z. B. der Verzeichnispfad und die installierte Software in der globalen Zone und der nicht-globalen Zone ungleich sind.
Wenn die Anwendung eine Momentaufnahme ihres eigenen Sicherungsplans in jeder nicht-globalen Zone erstellen und diese Backups in einem zum Schreiben freigegebenen Verzeichnis speichern kann, das von der globalen Zone exportiert wurde, kann der Administrator der globalen Zone diese individuellen Backups als Teil der Sicherungsstrategie für die globale Zone auswählen.
Sie können alle Daten in der nicht-globalen Zone, oder, da sich die Konfiguration einer Zone nur selten ändert, nur die Anwendungsdaten sichern.
Wenn die Anwendungsdaten in einem bestimmten Teil des Dateisystems gesichert werden, können Sie auch nur diese Daten regelmäßig zu ändern. Eine Sicherung des Root-Dateisystems der Zone muss nicht mit der gleichen Häufigkeit erfolgen, da sich diese Daten selten ändern.
Sie müssen feststellen, wo die Anwendung ihre Dateien speichert. Speicherorte, an denen Anwendungen ihre Dateien ablegen, sind z. B.:
Das Startverzeichnis des Benutzers
/etc für Konfigurationsdateien
/var
Wenn der Anwendungsadministrator weiß, wo die Daten gespeichert sind, kann ein System erstellt werden, in dem ein schreibfähiges Verzeichnis für jede Zone erstellt wird. Jede Zone kann dann ihre eigenen Backups speichern, und der globale Administrator kann dieser Ort zu den Speicherorten eines Systems hinzufügen, die gesichert werden.
Wenn die Anwendungsdaten einer Datenbank nicht in einem eigenen Verzeichnis abgelegt werden, gelten die folgenden Regeln:
Zunächst wird sichergestellt, dass die Datenbanken in einem konsistenten Zustand sind.
Datenbanken müssen sich im Ruhezustand befinden, da ihre internen Puffer auf die Festplatte geleert werden müssen. Achten Sie darauf, dass die Datenbanken in nicht-globalen Zonen heruntergefahren sind, bevor Sie eine Sicherung von der globalen Zone aus starten.
Verwenden Sie die Dateisystemfunktionen in den Zonen, um eine Momentaufnahme der Daten zu erstellen, dann sichern Sie die Momentaufnahmen direkt von der globalen Zone aus.
Dieser Prozess minimiert die erforderliche Zeit für eine Sicherung und eliminiert den Bedarf an Backup-Clients/Modulen in allen Zonen.
Jede nicht-globale Zone kann eine Momentaufnahme ihrer privaten Dateisysteme erstellen, wenn die Zone dies gestattet und die Anwendung im kurzfristig im Ruhezustand ist. Später kann die globale Zone jede dieser Momentaufnahme sichern und auf Band speichern, wenn die Anwendung wieder arbeitet.
Diese Methode hat die folgenden Vorteile:
Es sind weniger Bandgerät erforderlich.
Es ist keine Koordination mit den nicht-globalen Zonen erforderlich.
Den Zonen müssen keine Geräte direkt zugeordnet werden, wodurch die Sicherheit verbessert wird.
Im Allgemeinen bleibt bei dieser Methode das Systemmanagement in der globalen Zone.
Wenn das Wiederherstellen der Sicherungskopien von der globalen Zone aus erfolgt, kann der globale Administrator die betroffenen Zonen wie die betroffenen Zonen zunächst neu installieren und dann die Dateien in der Zone wiederherstellen. Dabei wird von Folgendem ausgegangen:
Die wiederherzustellende Zone weist die gleiche Konfiguration wie beim Erstellen der Sicherung auf.
Die globalen Zone wurde nach dem Erstellen der Sicherung und vor dem Wiederherstellen der Zone weder aktualisiert noch gepatcht.
Andernfalls könnten beim Wiederherstellen einige Dateien überschrieben werden, die manuell zusammengeführt werden sollten.
Beispielsweise müssen Sie Dateien manuell zusammenführen, wenn eine globale Zonen nach der Sicherung, aber vor dem Wiederherstellen der nicht-globalen Zone gepatcht wurde. In diesem Fall müssen Sie beim Wiederherstellen der Dateien einer Zone vorsichtig vorgehen, da eine gesicherte Datei eventuell nicht kompatibel mit der neu installierten Zone ist, die nach dem Patchen der globalen Zone erstellt wurde. Prüfen Sie die Dateien einzeln und vergleichen Sie sie mit den Kopien in der neu installierten Zone. In den meisten Fällen kann eine Datei direkt kopiert werden, in einigen Fällen müssen Sie die an einer Datei vorgenommenen Änderungen in die neu installierte oder gepatchte Kopie der Zone einfügen.
Wenn alle Dateisysteme in der globalen Zone verloren gegangen sind, werden beim Wiederherstellen aller Daten der globalen Zone auch die nicht-globalen Zonen wiederhergestellt, solange die jeweiligen Root-Dateisysteme der nicht-globalen Zone in der Sicherung enthalten waren.
Die in Tabelle 27–3 aufgeführten Befehle stellen die primäre administrative Schnittstelle zu den Zonen dar.
Tabelle 27–3 Befehle zum Verwalten von Zonen
Befehl |
Beschreibung |
---|---|
Anmelden bei einer nicht-globalen Zone |
|
Druckt den Namen der aktuellen Zone |
|
Verwalten der Zonen auf einem System |
|
Einrichten einer Zonenkonfiguration |
|
Zuordnen von Zonen-ID und Name |
|
Beschreibung der Funktion Zonen |
|
Zonenkonsole-Gerätetreiber |
Der Daemon zoneadmd ist der primäre Prozess zur Verwaltung der virtuellen Plattform einer Zone. Die Manpage für den zoneadmd-Daemon ist zoneadmd(1M). Der Daemon stellt keine Programmierungsschnittstelle dar.
Die in der folgenden Tabelle aufgeführten Befehle werden mit dem Resource Capping Daemon verwendet.
Tabelle 27–4 Mit rcapd verwendete Befehle
Befehl |
Beschreibung |
---|---|
Überwacht die Ressourcenauslastung durch Projekte, für die eine Memory Cap eingerichtet wurde. |
|
Konfiguriert den Resource Capping Daemon, zeigt den aktuellen Status des Resource Capping Daemons an, sofern dieser konfiguriert wurde, und aktiviert oder deaktiviert das Resource Capping. Wird auch zum Einrichten einer temporären Memory Cap verwendet. |
|
Der Resource Capping Daemon. |
Die Befehle in der folgenden Tabelle wurden für die Verwendung auf einem Solaris-System mit installierten Zonen modifiziert. Diese Befehle verfügen über Optionen, die nur für Zonen gelten oder Informationen auf andere Weise anzeigen. Die Befehle werden nach Manpage-Abschnitt aufgeführt.
Tabelle 27–5 Für ein Solaris-System mit installierten Zonen modifizierte Befehle
Befehl |
Beschreibung |
---|---|
Option -z Zone hinzugefügt. Diese Option eignet sich insbesondere dann, wenn der Befehl in der globalen Zone ausgeführt wird. |
|
Option -z Zone hinzugefügt. Diese Option eignet sich insbesondere dann, wenn der Befehl in der globalen Zone ausgeführt wird. |
|
Option -z Zonen-ID-Liste hinzugefügt. Diese Option eignet sich insbesondere dann, wenn der Befehl in der globalen Zone ausgeführt wird. |
|
Ausdruck zone für die Option -l hinzugefügt, um alle in der aktuellen Zone verfügbaren Berechtigungen aufzulisten. Geben Sie die Option - v nach zone an, um eine ausführliche Ausgabe zu erhalten. |
|
Die Zonen-ID kann mit ID-Liste und -i ID-Typ verwendet werden, um Prozesse anzugeben. Mit dem Befehl priocntl -i Zonen-ID können Sie laufende Prozesse in eine andere Scheduling-Klasse einer nicht-globalen Zone verschieben. |
|
Option -z Zone nur für ptree hinzugefügt. Diese Option eignet sich insbesondere dann, wenn der Befehl in der globalen Zone ausgeführt wird. |
|
Zonenname und Zonen-ID hinzugefügt, um erkannte format-Namen aufzulisten, die mit der Option -o verwendet wurden. -z Zonenliste hinzugefügt, um nur Prozesse in den angegebenen Zonen aufzulisten. Die Zonen können entweder über den Zonennamen oder die Zonen-ID angegeben werden. Diese Option eignet sich insbesondere dann, wenn der Befehl in der globalen Zone ausgeführt wird. -Z hinzugefügt, um den Namen der Zone zu drucken, die dem Prozess zugeordnet ist. Der Name wird unter einer zusätzlichen Spaltenüberschrift, ZONE, gedruckt. |
|
Zonen-ID hinzugefügt, um die gültigen Argumente aufzulisten, die mit der Option -i verwendet wurden. |
|
Wenn dieser Befehl in einer nicht-globalen Zone mit aktivierten Pools verwendet wird, zeigen die Optionen -b, -c -g, -m, - p, -u, -w und -y Werte nur für Prozessoren an, die sich im Prozessorset des Pools befinden, an den die Zone gebunden ist. |
|
Token zonename hinzugefügt. |
|
Option -z Zone-Name hinzugefügt. Fähigkeit zum Erhalten eines Audit-Protokolls einer Zone hinzugefügt. |
|
Variable %z hinzugefügt, um die Zone zu identifizieren, in der der Prozess ausgeführt wird. |
|
Option -Z hinzugefügt, um Mounts in allen sichtbaren Zonen anzuzeigen. |
|
Option zone für die Verwendung in der globalen Zone (die Standardeinstellung) und -zone Zonenname für die Verwendung in der nicht-globalen Zone hinzugefügt. |
|
Wenn dieser Befehl in einer nicht-globalen Zone mit aktivierten Pools verwendet wird, werden nur Werte nur für Prozessoren angezeigt, die sich im Prozessorset des Pools befinden, an den die Zone gebunden ist. |
|
Wenn der Befehl in der globalen Zone ausgeführt wird, werden kstats für alle Zonen angezeigt. Wenn der Befehl in einer nicht-globalen Zone ausgeführt wird, werden nur kstats mit einer übereinstimmenden Zonen-ID angezeigt. |
|
Wenn dieser Befehl in einer nicht-globalen Zone mit aktivierten Pools verwendet wird, werden nur Zeilen mit den Prozessoren angezeigt, die sich im Prozessorset des Pools befinden, an den die Zone gebunden ist. |
|
Wenn dieser Befehl in der globalen Zone verwendet wird, werden Informationen zu allen Zonen angezeigt. ndd bei TCP/IP-Modulen in einer Exclusive IP-Zone zeigt nur Informationen über diese Zone an. |
|
Zeigt nur Informationen über die aktuelle Zone an. |
|
Zeigt nur Statistiken der aktuellen Zone an. |
|
Liste Zonen-ID hinzugefügt. Informationen zur Verwendung von Zonen mit Resource Pools finden Sie unter In Zonen verwendete Resource Pools. |
|
Option -z Zonen-ID-Liste hinzugefügt. Option -Z hinzugefügt. Wenn dieser Befehl in einer nicht-globalen Zone mit aktivierten Pools verwendet wird, wird der Prozentsatz der zuletzt vom Prozess verwendeten CPU Zeit nur für die Prozessoren im Set des Pools angezeigt, an den die Zone gebunden ist. Die Ausgabe der Optionen -a, -t, -T, - J und -Z zeigt eine SWAP- anstelle einer SIZE-Spalte an. Der angezeigte Swap-Bereich ist der gesamte Swap-Bereich, der von den Prozessen der Zone und den tmpfs-Mounts verbraucht wird. Dieser Wert unterstützt die Überwachung des von jeder Zone reservierten Swap-Bereichs. Er kann zum Wählen einer geeigneten Einstellung für zone.max-swap verwendet werden. |
|
Wenn dieser Befehl in einer nicht-globalen Zone ausgeführt wird, werden nur Informationen zu den für die Zone sichtbaren Prozessoren aufgeführt. |
|
Nutzungsänderung. Wenn dieser Befehl in einer nicht-globalen Zone angegeben wurde, hat die Option -F keine Auswirkung, da das „don't fragment“-Bit immer gesetzt ist. |
|
Wenn dieser Befehl in einer nicht-globalen Zone mit aktivierten Pools verwendet wird, werden Statistiken nur für die Prozessoren angezeigt, die sich im Prozessorset des Pools befinden, an den die Zone gebunden ist. Gilt für die Ausgabe der Option -p und der Berichtsfelder page, faults und cpu. |
|
AUDIT_ZONENAME hinzugefügt, um mit jedem Audit-Datensatz ein Zonen-ID-Token zu erzeugen. |
|
Argument P_ZONEID ID hinzugefügt. |
|
Wenn sich der Aufrufer in einer nicht-globalen Zone befindet und die Pools aktiviert sind, sich der Prozessor aber nicht im Prozessorset des Pools befindet, an den die Zone gebunden ist, wird ein Fehler ausgegeben. |
|
Wenn sich der Aufrufer in einer nicht-globalen Zone befindet und die Pools aktiviert sind, sich der Prozessor aber nicht im Prozessorset des Pools befindet, an den die Zone gebunden ist, wird ein Fehler ausgegeben. |
|
P_ZONEID als ID-Typ hinzugefügt. Zone als Auswahlmöglichkeit für P_MYID hinzugefügt. P_ZONEID hinzugefügt, um die ID-Typ-Liste in der EINVAL-Fehlerbeschreibung zu validieren. |
|
Wenn sich der Aufrufer in einer nicht-globalen Zone befindet und die Pools aktiviert sind, sich der Prozessor aber nicht im Prozessorset des Pools befindet, an den die Zone gebunden ist, wird ein Fehler ausgegeben. |
|
Wenn sich der Aufrufer in einer nicht-globalen Zone befindet und die Pools aktiviert sind, sich der Prozessor aber nicht im Prozessorset des Pools befindet, an den die Zone gebunden ist, wird ein Fehler ausgegeben. |
|
Wenn sich der Aufrufer in einer nicht-globalen Zone befindet und die Pools aktiviert sind, sich der Prozessor aber nicht im Prozessorset des Pools befindet, an den die Zone gebunden ist, wird ein Fehler ausgegeben. |
|
PRIV_SYS_CONFIG zu PRIV_SYS_ADMIN geändert. |
|
ENOENT wird zurückgegeben, wenn die Datei, auf die mit Datei verwiesen wird, kein absoluter Pfad ist. |
|
Wenn sich der Aufrufer in einer nicht-globalen Zone befindet und die Pools aktiviert sind, entspricht das Verhalten dem Aufrufen mit einer psetid mit dem Wert PS_MYID. |
|
Zonen-IDs zu Zielprozessen hinzugefügt, die angegeben werden können. Zonen-ID zur EINVAL-Fehlerbeschreibung hinzugefügt. |
|
String „zone“ zu allen Berechtigungssets hinzugefügt, die in der Zone des Aufrufers zur Verfügung stehen. |
|
Wenn sich der Aufrufer in einer nicht-globalen Zone befindet und die Pools aktiviert sind, sich der Prozessor aber nicht im Prozessorset des Pools befindet, an den die Zone gebunden ist, wird ein Fehler ausgegeben. |
|
Wenn sich der Aufrufer in einer nicht-globalen Zone befindet und die Pools aktiviert sind, geben sysconf(_SC_NPROCESSORS_CONF) und sysconf(_SC_NPROCESSORS_ONLN) die Anzahl der Prozessoren zurück, die sich im Prozessorset des Pools befinden, an den die Zone gebunden ist. |
|
Funktion ucred_getzoneid() hinzugefügt, die die Zonen-ID des Prozesses oder -1 zurückgibt, wenn die Zonen-ID nicht verfügbar ist. |
|
n_type: NT_ZONENAME hinzugefügt. Dieser Eintrag enthält einen String, der den Namen der Zone beschreibt, in der der Prozess ausgeführt wurde. |
|
Bietet jetzt optionale Parameter und eine Umgebungsvariable zur Unterstützung von Zonen. |
|
Funktion zum Abrufen von Informationen zu Prozessen, die in Zonen ausgeführt werden, hinzugefügt. |
|
Feld in<Zonenname> hinzugefügt, das verwendet wird, wenn die Audit-Richtlinie zonename gesetzt ist. |
|
PRIV_PROC_ZONE hinzugefügt. Dies ermöglicht einem Prozess das Verfolgen oder Senden von Signalen an Prozesse in anderen Zonen. Lesen Sie auch zones(5). |
|
zone ioctl()-Aufrufe hinzugefügt. |
|
Zonenparameter hinzugefügt. |
|
crgetzoneid() hinzugefügt. Dies gibt die Zonen-ID aus den Benutzerberechtigungen zurück, auf die mit cr verwiesen wird. |
In diesem Kapitel werden allgemeine Verwaltungsaufgaben beschrieben und Nutzungsbeispiele vorgestellt.
Einhängen von Dateisystemen in laufenden nicht-globalen Zonen
Hinzufügen des Zugriffs für eine nicht-globale Zone auf bestimmte Dateisysteme in der globalen Zone
Verwenden von IP Network Multipathing auf einem Solaris-System mit installierten Zonen
Solaris 10 8/07: Verwalten von Data-Links in nicht-globalen Exclusive IP-Zonen
Verwenden des Fair Share Scheduler auf einem Solaris-System mit installierten Zonen
In diesem Abschnitt werden neue Produktfunktionen vorgestellt und Verbesserungen der Beschreibungen in diesem Handbuch vorgenommen.
Eine vollständige Liste der neuen Funktionen in Solaris 10 sowie eine Beschreibung der Solaris-Releases finden Sie in Neuerungen in Oracle Solaris 9 10/10.
Ein neues Verfahren für den Zugriff auf Medien wurde hinzugefügt. Lesen Sie dazu So fügen Sie den Zugriff auf CD- oder DVD-Medien in einer nicht-globalen Zone hinzu.
Neue Verfahren zum Sichern und Wiederherstellen von Dateien in Zonen wurden hinzugefügt. Lesen Sie dazu Sicherung eines Solaris-Systems mit installierten Zonen und Wiederherstellen einer nicht-globalen Zone.
Neue Verfahren wurden hinzugefügt. Lesen Sie dazu So hängen Sie ein Dateisystem von der globalen Zone aus in einer nicht-globalen Zone ein und So fügen Sie ein beschreibbares Verzeichnis unter /usr in einer nicht-globalen Zone ein.
Neue Verfahren wurden hinzugefügt. Lesen Sie dazu So verwenden Sie DTrace, Solaris 10 8/07: Verwalten von Data-Links in nicht-globalen Exclusive IP-Zonen und Prüfen des Status der SMF-Services in einer nicht-globalen Zone.
Mit dem Dienstprogramm ppriv zeigen Sie die Berechtigungen einer Zone an.
Rufen Sie das Dienstprogramm ppriv mit der Option -l auf, um die auf dem System verfügbaren Berechtigungen aufzulisten.
Geben Sie an der Eingabeaufforderung ppriv -l zone ein, um die in der Zone verfügbaren Berechtigungen anzuzeigen.
global# ppriv -l zone |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
contract_event contract_observer cpc_cpu . . . |
Rufen Sie das Dienstprogramm ppriv mit der Option -l und dem Ausdruck zone auf, um die Berechtigungen der Zone anzuzeigen.
Melden Sie sich bei der nicht-globalen Zone an. In diesem Beispiel wird die Zone my_zone verwendet.
Geben Sie an der Eingabeaufforderung ppriv -l zone ein, um die in der Zone verfügbaren Berechtigungen anzuzeigen.
my-zone# ppriv -l zone |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
contract_event contract_observer file_chown . . . |
Rufen Sie das Dienstprogramm ppriv mit der Option -l, dem Ausdruck zone und der Option -v auf, um die Berechtigungen der Zone aufzulisten.
Melden Sie sich bei der nicht-globalen Zone an. In diesem Beispiel wird die Zone my_zone verwendet.
Geben Sie an der Eingabeaufforderung ppriv -l -v zone ein, um die in der Zone verfügbaren Berechtigungen mit einer Beschreibung für jede Berechtigung anzuzeigen.
my-zone# ppriv -l -v zone |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
contract_event Allows a process to request critical events without limitation. Allows a process to request reliable delivery of all events on any event queue. contract_observer Allows a process to observe contract events generated by contracts created and owned by users other than the process's effective user ID. Allows a process to open contract event endpoints belonging to contracts created and owned by users other than the process's effective user ID. file_chown Allows a process to change a file's owner user ID. Allows a process to change a file's group ID to one other than the process' effective group ID or one of the process' supplemental group IDs. . . . |
Führen Sie die folgenden Schritte aus, um die DTrace gemäß der Beschreibung unter Ausführen von DTrace in einer nicht-globalen Zone zu verwenden.
Verwenden Sie die Eigenschaft zonecfg limitpriv, um die Berechtigungen dtrace_proc und dtrace_user hinzuzufügen.
global# zonecfg -z my-zone zonecfg:my-zone> set limitpriv="default,dtrace_proc,dtrace_user" zonecfg:my-zone> exit |
Abhängig von Ihren Anforderungen können Sie entweder eine oder beide Berechtigungen hinzufügen.
Booten Sie die Zone.
global# zoneadm -z my-zone boot |
Anmeldung bei der Zone.
global# zlogin my-zone |
Führen Sie das Programm DTrace aus.
my-zone# dtrace -l |
Zum Prüfen des Status der SMF-Services in einer nativen nicht-globalen Zone verwenden Sie den Befehl „zlogin“.
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.
Geben Sie an der Befehlszeile das Folgende ein, um alle Services (einschließlich der deaktivierten) anzuzeigen.
global# zlogin my-zone svcs -a |
Weitere Informationen finden Sie in Kapitel 22Anmelden bei nicht-globalen Zonen (Vorgehen) und in svcs(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.
Anmeldung bei der Zone.
global# zlogin my-zone |
Geben Sie den Befehl svcs mit der Option -a ein, um alle Services (einschließlich der deaktivierten) anzuzeigen.
my-zone# svcs -a |
Weitere Informationen finden Sie in Kapitel 22Anmelden bei nicht-globalen Zonen (Vorgehen) und in svcs(1).
Sie können Dateisysteme in einer laufenden nicht-globalen Zone einhängen. Die folgenden Verfahren werden beschrieben.
Als globaler Administrator in der globalen Zone können Sie Raw- und Block-Geräte in eine nicht-globale Zone importieren. Nachdem die Geräte importiert wurden, hat der Zonenadministrator Zugriff auf die Festplatte. Der Zonenadministrator kann dann ein neues Dateisystem auf der Festplatte erstellen und eine der folgenden Aktionen ausführen:
Das Dateisystem manuell einhängen
Das Dateisystem unter /etc/vfstab platzieren, sodass es beim Booten der Zone eingehängt wird
Als globaler Administrator können Sie ein Dateisystem von der globalen Zone aus in der nicht-globalen Zone einhängen.
In diesem Verfahren wird der Dateitreiber lofi verwendet, der eine Datei als ein Block-Gerät exportiert.
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.
Wechseln Sie das Verzeichnis zu /usr/tmp.
global# cd /usr/tmp |
Erstellen Sie ein neues UFS-Dateisystem.
global# mkfile 10m fsfile |
Hängen Sie die Datei als ein Block-Gerät an.
Dabei wird der erste verfügbare Slot, /dev/lofi/1, verwendet, falls keine anderen lofi-Geräte erstellt wurden.
global# lofiadm -a `pwd`/fsfile |
Sie erhalten das erforderliche Zeichengerät.
Importieren Sie die Geräte in die Zone my-zone.
global# zonecfg -z my-zone zonecfg:my-zone> add device zonecfg:my-zone:device> set match=/dev/rlofi/1 zonecfg:my-zone:device> end zonecfg:my-zone> add device zonecfg:my-zone:device> set match=/dev/lofi/1 zonecfg:my-zone:device> end |
Starten Sie die Zone neu.
global# zoneadm -z my-zone boot |
Melden Sie sich bei der Zone an und prüfen Sie, ob die Geräte erfolgreich importiert wurden.
my-zone# ls -l /dev/*lofi/* |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
brw------- 1 root sys 147, 1 Jan 7 11:26 /dev/lofi/1 crw------- 1 root sys 147, 1 Jan 7 11:26 /dev/rlofi/1 |
Weitere Informationen finden Sie in den Manpages lofiadm(1M) und lofi(7D).
Für dieses Verfahren müssen Sie Zonenadministrator sein und das „Zone Management“-Profil besitzen. Dieses Verfahren nutzt den in der Manpage newfs(1M) beschriebenen Befehl newfs.
Melden Sie sich als Superuser an, oder achten Sie darauf, dass die Profilliste das „Zone Management“-Profil umfasst.
Erstellen Sie in der Zone my-zone ein neues Dateisystem auf der Festplatte.
my-zone# newfs /dev/lofi/1 |
Beantworten Sie die Eingabeaufforderung mit „Ja“ (y).
newfs: construct a new file system /dev/rlofi/1: (y/n)? y |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
/dev/rlofi/1: 20468 sectors in 34 cylinders of 1 tracks, 602 sectors 10.0MB in 3 cyl groups (16 c/g, 4.70MB/g, 2240 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 9664, 19296, |
Prüfen Sie das Dateisystem auf Fehler.
my-zone# fsck -F ufs /dev/rlofi/1 |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
** /dev/rlofi/1 ** Last Mounted on ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 2 files, 9 used, 9320 free (16 frags, 1163 blocks, 0.2% fragmentation) |
Hängen Sie das Dateisystem ein.
my-zone# mount -F ufs /dev/lofi/1 /mnt |
Prüfen Sie das eingehängte Dateisystem.
my-zone# grep /mnt /etc/mnttab |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
/dev/lofi/1 /mnt ufs rw,suid,intr,largefiles,xattr,onerror=panic,zone=foo,dev=24c0001 1073503869 |
Dieses Verfahren dient zum Einhängen des Block-Geräts /dev/lofi/1 in den Dateisystempfad /mnt. Das Block-Gerät enthält ein UFS-Dateisystem. Die folgenden Optionen werden verwendet:
logging wird als Option zum Einhängen verwendet.
yes weist das System an, das Dateisystem beim Booten der Zone automatisch einzuhängen.
/dev/rlofi/1 ist das Zeichen- oder Raw-Gerät. Falls erforderlich, wird der Befehl fsck für das Raw-Gerät ausgeführt.
Melden Sie sich als Superuser an, oder achten Sie darauf, dass die Profilliste das „Zone Management“-Profil umfasst.
Geben Sie in der Zone my-zone die folgende Zeile in /etc/vfstab ein:
/dev/lofi/1 /dev/rlofi/1 /mnt ufs 2 yes logging |
Angenommen, die Zone hat den zonepath /export/home/my-zone. Sie möchten die Festplatte /dev/lofi/1 von der globalen Zone unter /mnt in der nicht-globalen Zone einhängen.
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.
Zum Einhängen der Festplatte unter /mnt in der nicht-globalen Zone geben Sie Folgendes von der globalen Zone aus ein:
global# mount -F ufs /dev/lofi/1 /export/home/my-zone/root/mnt |
Weitere Informationen zu lofi finden Sie in den Manpages lofiadm(1M) und lofi(7D).
Mit diesem Verfahren können Sie schreibgeschützten Zugriff auf CD- oder DVD-Medien in einer nicht-globalen Zone aktivieren. Das Volume Management-Dateisystem wird in der globalen Zone zum Einhängen der Medien verwendet. Eine CD oder DVD kann zum Installieren eines Produkts in der nicht-globalen Zone verwendet werden. In diesem Verfahren wird eine DVD namens jes_05q4_dvd verwendet.
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.
Stellen Sie fest, ob das Volume Management-Dateisystem in der globalen Zone ausgeführt wird.
global# svcs volfs STATE STIME FMRI online Sep_29 svc:/system/filesystem/volfs:default |
(Optional) Wenn das Volume Management-Dateisystem nicht in der globalen Zone ausgeführt wird, starten Sie es.
global# svcadm volfs enable |
Legen Sie das Installationsmedium ein.
Prüfen Sie auf Medien im Laufwerk.
global# volcheck |
Prüfen Sie, ob der Datenträger automatisch eingehängt wird.
global# ls /cdrom |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
cdrom cdrom1 jes_05q4_dvd |
Hängen Sie das Dateisystem als Loopback-Mount mit den Optionen ro,nodevices (schreibgeschützt und ohne Geräte) in der nicht-globalen Zone ein.
global# zonecfg -z my-zone zonecfg:my-zone> add fs zonecfg:my-zone:fs> set dir=/cdrom zonecfg:my-zone:fs> set special=/cdrom zonecfg:my-zone:fs> set type=lofs zonecfg:my-zone:fs> add options [ro,nodevices] zonecfg:my-zone:fs> end zonecfg:my-zone> commit zonecfg:my-zone> exit |
Booten Sie die nicht-globale Zone neu.
global# zoneadm -z my-zone reboot |
Überprüfen Sie den Status mit dem Befehl zoneadm list und der Option -v.
global# zoneadm list -v |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 my-zone running /export/home/my-zone native shared |
Melden Sie sich bei der nicht-globalen Zone an.
global# zlogin my-zone |
Überprüfen Sie den DVD-ROM-Mount.
my-zone# ls /cdrom |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
cdrom cdrom1 jes_05q4_dvd |
Installieren Sie das Produkt gemäß der Beschreibung im Produkt-Installationshandbuch.
Beenden Sie die nicht-globale Zone.
my-zone# exit |
Eventuell möchten Sie das Dateisystem /cdrom in der nicht-globalen Zone behalten. Der Mount spiegelt stets den aktuellen Inhalt des CD-ROM-Laufwerks wider, oder ein leeres Verzeichnis, wenn das Laufwerk leer ist.
(Optional) Wenn Sie das Dateisystem /cdrom aus der nicht-globalen Zone entfernen möchten, gehen Sie wie folgt vor:
global# zonecfg -z my-zone zonecfg:my-zone> remove fs dir=/cdrom zonecfg:my-zone> commit zonecfg:my-zone> exit |
In einer Sparse Root Zone wird /usr schreibgeschützt von der globalen Zone aus eingehängt. Mit diesem Verfahren können Sie ein beschreibbares Verzeichnis, z. B. /usr/local, unter /usr in der Zone hinzufügen.
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.
Erstellen Sie das Verzeichnis /usr/local in der globalen Zone.
global# mkdir -p /usr/local |
Geben Sie ein Verzeichnis in der globalen Zone an, das als Sicherungsspeicher für das Verzeichnis /usr/local der Zone verwendet werden soll.
global# mkdir -p /storage/local/my-zone |
Bearbeiten Sie die Konfiguration der Zone my-zone.
global# zonecfg -z my-zone |
Fügen Sie das als Loopback-Mount eingehängte Dateisystem hinzu.
zonecfg:my-zone> add fs zonecfg:my-zone:fs> set dir=/usr/local zonecfg:my-zone:fs> set special=/storage/local/my-zone zonecfg:my-zone:fs> set type=lofs zonecfg:my-zone:fs> end zonecfg:my-zone> commit zonecfg:my-zone> exit |
Booten Sie die Zone.
Mit diesem Verfahren werden Startverzeichnisse oder andere Dateisysteme von der globalen Zone in nicht-globale Zonen auf dem gleichen System exportiert.
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.
Fügen Sie das als Loopback-Mount eingehängte Dateisystem hinzu.
global# zonecfg -z my-zone zonecfg:my-zone> add fs zonecfg:my-zone:fs> set dir=/export/home zonecfg:my-zone:fs> set special=/export/home zonecfg:my-zone:fs> set type=lofs zonecfg:my-zone:fs> set options=nodevices zonecfg:my-zone:fs> end zonecfg:my-zone> commit zonecfg:my-zone> exit |
Fügen Sie die folgende Zeile zur Datei /etc/auto_home der Zone hinzu:
$HOST:/export/home/& |
IP Network Multipathing (IPMP) wird in einer Exclusive IP-Zone wie in der globalen Zone konfiguriert.
Sie können eine oder mehrere physikalische Schnittstellen in einer IP Multipathing-Gruppe (oder IPMP-Gruppe) konfigurieren. Nach der Konfiguration von IPMP überwacht das System die Schnittstellen in der IPMP-Gruppe automatisch auf Ausfälle. Sollte eine Schnittstelle in der Gruppe ausfallen oder zu Wartungszwecken deaktiviert werden, migriert IPMP automatisch die IP-Adressen der ausgefallenen Schnittstelle oder es findet ein <emphasis>Failover</emphasis> statt. Der Empfänger dieser Adressen wird eine ordnungsgemäß arbeitende Schnittstelle in der IPMP-Gruppe der ausgefallenen Schnittstelle. Die Failover-Funktion von IPMP erhält die Netzfähigkeit und verhindert eine Unterbrechung existierender Verbindungen. Darüber hinaus verbessert IPMP die allgemeine Leistung von Netzverbindungen, in dem Netzverkehr automatisch über das Schnittstellenset in der IPMP-Gruppe verteilt wird. Dieser Prozess wird als Lastverteilung (<emphasis>Load Spreading</emphasis>) bezeichnet.
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.
Konfigurieren Sie die IPMP-Gruppen gemäß der Beschreibung im Konfiguration von IPMP-Gruppen in Systemverwaltungshandbuch: IP Services.
Mit dem folgenden Verfahren konfigurieren Sie IPMP in der globalen Zone und weiten die Funktionen des IPMP auf nicht-globale Zonen aus.
Jede Adresse (oder logische Schnittstelle) sollte beim Konfigurieren der Zone einer nicht-globalen Zone zugeordnet sein. Anweisungen hierzu finden Sie unter Verwenden des Befehls zonecfg und So konfigurieren Sie die Zone.
Mit diesem Verfahren wird Folgendes erreicht:
Die Karten bge0 und hme0 werden zusammen in einer Gruppe konfiguriert.
Die Adresse 192.168.0.1 wird der nicht-globalen Zone my-zone zugeordnet.
Die Karte bge0 wird als reelle Schnittstelle gesetzt. Somit wird die IP-Adresse in der Gruppe gehostet, die die Karten bge0 und hme0 enthält.
In einer laufenden Zone können Sie diese Zuordnung mit dem Befehl ifconfigherstellen. Weitere Informationen finden Sie unter Shared IP-Netzwerkschnittstellen und in der Manpage ifconfig(1M).
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.
Konfigurieren Sie die IPMP-Gruppen in der globalen Zone gemäß der Beschreibung unter Konfiguration von IPMP-Gruppen in Systemverwaltungshandbuch: IP Services.
Geben Sie den Befehl zonecfg ein, um die Zone zu konfigurieren. Wenn Sie die Ressource net konfigurieren, fügen Sie der Zone my-zone die Adresse 192.168.0.1 und die reelle Schnittstelle bge0 hinzu:
zonecfg:my-zone> add net zonecfg:my-zone:net> set address=192.168.0.1 zonecfg:my-zone:net> set physical=bge0 zonecfg:my-zone:net> set defrouter=10.0.0.1 zonecfg:my-zone:net> end |
In der nicht-globalen Zone my-zone ist nur bge0 sichtbar.
Wenn bge0 anschließend fehlschlägt und die bge0-Datenadressen auf hme0 in der globalen Zone übergehen, migrieren auch die Adressen von my-zone.
Wenn die Adresse 192.168.0.1 nach hme0 übergeht, ist nur hme0 in der nicht-globalen Zone my-zone sichtbar. Dieser Karte würde die Adresse 192.168.0.1 zugeordnet werden, und bge0 ist nicht mehr sichtbar.
Mit dem Befehl dladm verwalten Sie Data-Links von der globalen Zone aus.
Der Befehl dladm kann zusammen mit dem Unterbefehl show-linkprop verwendet werden, um die Zuweisung von Data-Links zu laufenden Exclusive IP-Zonen anzuzeigen.
Zum Verwalten von Data-Links müssen Sie der globale Administrator in der globalen Zone 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.
Zeigen Sie die Zuweisung von Data-Links auf dem System an.
global# dladm show-linkprop |
In der ersten Anzeige wurde die Zone 49bge, die bge0 zugewiesen ist, nicht gebootet
global# dladm show-linkprop LINK PROPERTY VALUE DEFAULT POSSIBLE bge0 zone -- -- -- ath0 channel 6 -- -- ath0 powermode ? off off,fast,max ath0 radio ? on on,off ath0 speed 11 -- 1,2,5.5,6,9,11,12,18,24,36,48,54 ath0 zone -- -- -- |
Zone 49bge ist gebootet.
global# zoneadm -z 49bge boot |
Der Befehl dladm show-linkprop wird erneut ausgeführt. Beachten Sie, dass der Link bge0 jetzt 49bge zugeordnet ist.
global# dladm show-linkprop LINK PROPERTY VALUE DEFAULT POSSIBLE bge0 zone 49bge -- -- ath0 channel 6 -- -- ath0 powermode ? off off,fast,max ath0 radio ? on on,off ath0 speed 11 -- 1,2,5.5,6,9,11,12,18,24,36,48,54 ath0 zone -- -- -- |
Der Befehl dladm kann zusammen mit dem Unterbefehl set-linkprop verwendet werden, um Data-Links laufenden Exclusive IP-Zonen vorübergehend zuzuordnen. Eine ständige Zuordnung muss über den Befehl zonecfg erfolgen.
Zum Verwalten von Data-Links müssen Sie der globale Administrator in der globalen Zone 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.
Geben Sie dladm set-linkprop mit der Option -t ein, um bge0 einer laufenden Zone namens excl hinzuzufügen.
global# dladm set-linkprop -t -p zone=excl bge0 LINK PROPERTY VALUE DEFAULT POSSIBLE bge0 zone excl -- -- |
Die Option -p erzeugt eine Anzeige in einem stabilen maschinenlesbaren Format.
Der Befehl dladm kann zusammen mit dem Unterbefehl reset-linkprop verwendet werden, um den Wert des Links bge0 auf „nicht zugewiesen“ zurückzusetzen.
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.
Geben Sie dladm reset-linkprop mit der Option -t ein, um die Zonenzuweisung des Gerätes bge0 rückgängig zu machen.
global# dladm reset-linkprop -t -p zone=excl bge0 LINK PROPERTY VALUE DEFAULT POSSIBLE bge0 zone excl -- -- |
Die Option -p erzeugt eine Anzeige in einem stabilen maschinenlesbaren Format.
Wenn die laufende Zone dieses Gerät verwendet, schlägt die neue Zuordnung fehl und es wird eine Fehlermeldung angezeigt. Lesen Sie dazu Exclusive IP-Zone verwendet Gerät, somit schlägt dladm reset-linkprop fehl.
Die mit dem Befehl prctl festgelegten Grenzen sind nicht persistent. Sie sind nur solange wirksam, bis das System neu gebootet wird. Wie Sie Shares in einer Zone permanent setzen, können Sie unter So konfigurieren Sie die Zone und unter So stellen Sie zone.cpu-shares in der globalen Zone ein nachlesen.
Die globale Zone erhält standardmäßig ein Share. Mit diesem Verfahren können Sie diese Standardzuordnung ändern. Beachten Sie, dass Sie die mit dem Befehl prctl zugeordneten Shares zurücksetzen müssen, wenn Sie das System neu booten.
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.
Rufen Sie das Dienstprogramm prctl auf, um der globalen Zone zwei Shares zuzuweisen:
# prctl -n zone.cpu-shares -v 2 -r -i zone global |
(Optional) Um zu überprüfen, wie viele Shares der globalen Zone zugewiesen wurden, geben Sie Folgendes ein:
# prctl -n zone.cpu-shares -i zone global |
Weitere Informationen zum Dienstprogramm prctl finden Sie in der Manpage prctl(1).
Diese Vorgehensweise kann in jeder Zone (nicht nur in der globalen Zone) verwendet werden.
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
Rufen Sie das Dienstprogramm prctl auf, um einen neuen Wert für cpu-shares anzugeben.
# prctl -n zone.cpu-shares -r -v value -i zone zonename |
ID-Typ ist entweder der Zonenname oder die Zonen-ID. Wert ist der neue Wert.
In diesem Abschnitt werden die Aufgaben bei der Verwendung von Rechteprofilen in nicht-globalen Zonen beschrieben.
Das „Zone Management“-Profil ermöglicht einem Benutzer das Verwalten alle nicht-globaler Zonen auf einem System.
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.
Erstellen Sie eine Rolle, die das „Zone Management“-Rechteprofil enthält, und weisen Sie diese Rolle einem Benutzer zu.
Informationen zum Erstellen und Zuweisen der Rolle mit der Solaris Management Console finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services. Lesen Sie auch die Aufgabe „How to Create and Assign a Role By Using the GUI.”
Informationen zum Erstellen und Zuweisen der Rolle an einer Befehlszeile finden Sie unter Managing RBAC in System Administration Guide: Security Services. Lesen Sie auch die Aufgabe „How to Create a Role From the Command Line.”
Mit dem Programm pfexec können Sie Zonenbefehle in einem Profil ausführen. Das Programm führt Befehle mit den Attributen aus, die durch die Benutzerprofile in der exec_attr-Datenbank angegeben sind. Das Programm wird durch die Profil-Shells pfksh, pfcsh und pfsh aufgerufen.
Melden Sie sich mit dem Programm pfexec bei einer Zone an, z. B. my-zone.
machine$ pfexec zlogin my-zone |
Mit dem folgenden Verfahren können Sie Dateien in Zonen sichern. Denken Sie daran, auch die Konfigurationsdateien der Zonen zu sichern.
Mit dem Befehl ufsdump können Sie vollständige oder inkrementale Sicherungen erstellen. Dieses Verfahren sichert die Zone /export/my-zone unter /backup/my-zone.ufsdump; my-zone wird dabei durch den Namen der Zone auf dem System ersetzt. Eventuell verfügen Sie über ein separates Dateisystem, z. B. ein unter /backup eingehängtes Dateisystem, in dem die Sicherungen gespeichert werden.
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.
(Optional) Fahren Sie die Zone herunter, um sie in den Ruhezustand zu versetzen. Vermeiden Sie es Sicherungen von gemeinsam genutzten Dateisystemen anzulegen.
global# zlogin -S my-zone init 0 |
Prüfen Sie den Status der Zone.
global# zoneadm list -cv |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared |
Führen Sie die Sicherung durch.
global# ufsdump 0f /backup/my-zone.ufsdump /export/my-zone |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
DUMP: Date of this level 0 dump: Wed Aug 10 16:13:52 2005 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t0d0s0 (bird:/) to /backup/my-zone.ufsdump. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Writing 63 Kilobyte records DUMP: Estimated 363468 blocks (174.47MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: 369934 blocks (180.63MB) on 1 volume at 432 KB/sec DUMP: DUMP IS DONE |
Booten Sie die Zone.
global# zoneadm -z my-zone boot |
Bei diesem Ansatz wird der Befehl fssnap verwendet, der einen temporäres Abbild eines Dateisystems für Sicherungen erstellt.
Mit dieser Methode können ausschließlich die Zonendateien eindeutig und konsistent gesichert werden. Diese Methode kann sogar bei laufenden Zonen ausgeführt werden. Dennoch sollten während des Erstellen einer Momentaufnahme aktive Anwendungen, die Dateien aktualisieren, in den Standby-Modus versetzt werden. Wenn eine Anwendung beim Erstellen einer Momentaufnahme gerade Dateien aktualisiert, sind diese eventuell inkonsistent, abgeschnitten oder können aus anderen Gründen nicht mehr benutzt werden.
Beachten Sie für das im Folgenden aufgeführte Beispielverfahren:
Unter /export/home befindet sich eine Zone my-zone.
/export/home ist ein separates Dateisystem.
Das Sicherungsziel lautet /backup/my-zone.ufsdump. Sie müssen das Verzeichnis backup unter / erstellen.
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.
Erstellen Sie die Momentaufnahme.
global# fssnap -o bs=/export /export/home |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
dev/fssnap/0 |
Hängen Sie die Momentaufnahme ein.
global# mount -o ro /dev/fssnap/0 /mnt |
Sichern Sie my-zone aus der Momentaufnahme.
global# ufsdump 0f /backup/my-zone.ufsdump /mnt/my-zone |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
DUMP: Date of this level 0 dump: Thu Oct 06 15:13:07 2005 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rfssnap/0 (pc2:/mnt) to /backup/my-zone.ufsdump. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Writing 32 Kilobyte records DUMP: Estimated 176028 blocks (85.95MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: 175614 blocks (85.75MB) on 1 volume at 2731 KB/sec DUMP: DUMP IS DONE |
Hängen Sie die Momentaufnahme aus.
global# umount /mnt |
Löschen Sie die Momentaufnahme.
global# fssnap -d /dev/fssnap/0 |
Beachten Sie, dass die Momentaufnahme bei einem Neustart des Systems ebenfalls vom System gelöscht wird.
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.
Wechseln Sie das Verzeichnis zum Root-Verzeichnis.
global# cd / |
Sichern Sie die Dateien unter my-zone, die nicht als Loopback-Mount unter /backup/my-zone.cpio eingehängt sind.
global# find export/my-zone -fstype lofs -prune -o -local | cpio -oc -O /backup/my-zone.cpio type as one line |
Prüfen Sie die Ergebnisse.
global# ls -l backup/my-zone.cpio |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
-rwxr-xr-x 1 root root 99680256 Aug 10 16:13 backup/my-zone.cpio |
Sie sollten Sicherungsdateien der Konfigurationen der nicht-globalen Zonen erstellen. So können Sie gegebenenfalls die Sicherungen verwenden, um die Zonen zu einem späteren Zeitpunkt wiederherzustellen. Erstellen Sie die Kopie einer Zonenkonfiguration, nachdem Sie sich das erste Mal bei der Zone angemeldet und die Fragen von sysidtool beantwortet haben. Im folgenden Beispielverfahren wird eine Zone namens my-zone und eine Sicherungsdatei namens my-zone.config verwendet.
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.
Drucken Sie die Konfiguration der Zone my-zone in eine Datei namens my-zone.config.
global# zonecfg -z my-zone export > my-zone.config |
Falls erforderlich, können Sie die Sicherungsdateien der Konfigurationen Ihrer nicht-globalen Zonen zum Wiederherstellen der nicht-globalen Zonen verwenden. Im folgenden Beispielverfahren wird eine Zone namens my-zone und eine Sicherungsdatei namens my-zone.config verwendet, um eine Zone wiederherzustellen.
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.
Geben Sie an, dass my-zone.config als zonecfg-Befehlsdatei zum Wiederherstellen der Zone my-zone verwendet werden soll.
global# zonecfg -z my-zone -f my-zone.config |
Installieren Sie die Zone.
global# zoneadm -z my-zone install |
Um zu verhindern, dass das System die Fragen von sysidtool während der Anmeldung beim System anzeigt, löschen Sie die Datei zonepath/root/etc/.UNCONFIGURED, z. B.:
global# rm /export/home/my-zone/root/etc/.UNCONFIGURED |
Wenn Sie zonenspezifische Dateien wie z. B. Anwendungsdaten wiederherstellen möchten, stellen Sie die Dateien manuell aus den Sicherungen im neu erstellten Root-Dateisystem der Zone wieder her (ggf. manuell zusammengeführt).
Dieses Kapitel beschreibt, wie Sie ein Solaris 10-System auf ein höheres Release aktualisieren, wenn Sie Solaris Zones ausführen. Darüber hinaus finden Sie Links zu den entsprechenden Solaris-Installationsdokumenten.
Solaris Live Upgrade wird jetzt auf einem System mit installierten Zonen unterstützt. Der zonepath darf sich nicht auf einem ZFS-Dateisystem befinden.
Ab diesem Release wird Solaris Live Upgrade auf Systemen mit dem zonepath auf ZFS unterstützt. Systeme mit Zonen, bei denen sich der zonepath auf ZFS befindet, können nur mit Solaris Live Upgrade aktualisiert werden.
Sie können mithilfe von Solaris Live Upgrade Zonen auf ein ZFS-Root-Dateisystem migrieren. Zonen in nicht freigegebenen Dateisystemen werden bei der Migrierung eines UFS-Root-Dateisystems auf ein ZFS-Root-Dateisystem automatisch migriert. Wenn sich eine Zone in einem nicht freigegebenen UFS-Dateisystem befindet, müssen Sie das Upgrade für diese Zone wie in früheren Solaris-Releases durchführen. Weitere Informationen finden Sie unter Migration eines UFS-Root-Dateisystems in ein ZFS-Root-Dateisystem (Oracle Solaris Live Upgrade) in Oracle Solaris ZFS-Administrationshandbuch.
Bevor Sie ein Upgrade durchführen, sollten Sie die globale Zone und alle nicht-globalen Zonen auf dem Solaris-System sichern. Weitere Informationen finden Sie unter Allgemeine Informationen zum Sichern eines Solaris-Systems mit installierten Zonen und Sicherung eines Solaris-Systems mit installierten Zonen.
Sie können Solaris Live Upgrade, das standardmäßige interaktive Solaris-Installationsprogramm oder das benutzerdefinierte JumpStart-Installationsprogramm für ein Upgrade eines Solaris-Systems mit installierten Zonen verwenden. Weitere Informationen finden Sie in Upgrading With Non-Global Zones in Solaris 10 8/07 Installation Guide: Planning for Installation and Upgrade. Wenn sich der zonepath auf einem ZFS befindet, sollten Sie auch die Abschnitte Neuerungen in diesem Kapitel für Solaris 10 8/07 und Neuerungen in diesem Kapitel für Solaris 10 10/08 lesen.
Bei der Verwendung von Live Upgrade auf einem System mit installierten Zonen sind mehrere Aspekte zu berücksichtigen. Während der Ausführung von Operationen der Befehle lucreate und lumount dürfen keine Änderungen in den Zonenzuständen auftreten.
Bei der Verwendung des Befehls lucreate zum Erstellen einer alternativen Boot-Umgebung (ABE) darf eine Zone, die sich nicht im Zustand „Running“befindet, erst dann gebootet werden, wenn der Befehl lucreate alle seine Operationen abgeschlossen hat.
Wenn Sie mithilfe von lucreate eine alternative Boot-Umgebung erstellen, darf eine Zone im Zustand „Running“ erst dann angehalten oder neu gebootet werden, wenn der Befehl lucreate alle seine Operationen abgeschlossen hat.
Wenn Sie eine alternative Boot-Umgebung mithilfe des Befehls lumount einhängen, können Zonen nicht gebootet bzw. neu gebootet werden. Zonen, die sich vor Beginn der Operation des Befehls lumount im Zustand „Running“ befanden, laufen jedoch normal weiter.
Da nicht-globale Zonen vom Administrator dieser nicht-globalen Zone und dem Administrator der globalen Zone verwaltet werden können, ist es am besten, vor der Ausführung von Operationen der Befehle lucreate bzw. lumount alle Zonen anzuhalten.
Wenn Operationen mit Live Upgrade vorgenommen werden sollen, ist die Einbeziehung der Administratoren der nicht-globalen Zonen wichtig. Das Upgrade wirkt sich auf die Arbeit der Administratoren aus, die sich um die im Zuge des Upgrades anstehenden Änderungen kümmern müssen. Zonenadministratoren müssen gewährleisten, dass lokale Pakete während der Upgrade-Abfolge stabil sind, sich um Aufgaben kümmern, die nach dem Upgrade anfallen (z. B. Änderungen an Konfigurationsdateien) und Alternativen für den Systemausfall einplanen.
Lesen Sie Zonen mit einer fs-Ressource, die mit einem lofs-Typ definiert wurden, können nicht auf das Solaris-Release 10 11/06 aktualisiert werden, bevor Sie das System aufrüsten.
Sie können entweder das standardmäßige interaktive Solaris-Installationsprogramm oder das benutzerdefinierte JumpStart-Installationsprogramm für ein Upgrade eines Solaris-Systems mit installierten Zonen verwenden. Solaris Live Upgrade wird in diesem Release nicht unterstützt. Weitere Informationen finden Sie im Solaris 10 11/06 Installation Guide: Solaris Live Upgrade and Upgrade Planning und im Solaris 10 11/06 Installation Guide: Custom JumpStart and Advanced Installations .
Allgemeine Planungsinformationen sowie Anforderungen aller Installations- und Upgradetypen sind in Kapitel 4, System Requirements, Guidelines, and Upgrade (Planning) in Solaris 10 11/06 Installation Guide: Planning for Installation and Upgrade dokumentiert. Bei dem Installationsmedium muss es sich entweder um eine DVD oder um ein Netzwerk-Installationsabbild handeln, das von einer DVD erstellt wurde.
Die Schnittstelle des Solaris 10-Release ist in Solaris 10 11/06 Installation Guide: Basic Installations dokumentiert.
Besondere Berücksichtigungen und Einschränkungen für benutzerdefinierte JumpStart-Installationen sind in Kapitel 8, Custom JumpStart (Reference) in Solaris 10 11/06 Installation Guide: Custom JumpStart and Advanced Installations beschrieben.
Informationen zum Durchführen einer Installation oder eines Upgrades über das Netzwerk finden Sie im Solaris 10 11/06 Installation Guide: Network-Based Installations.
Dieses Kapitel wurde für das Solaris-Release 10 6/06 neu aufgenommen.
Eine vollständige Liste der neuen Funktionen in Solaris 10 sowie eine Beschreibung der Solaris-Releases finden Sie in Neuerungen in Oracle Solaris 9 10/10.
Der zonepath einer nicht-globalen Zone darf sich bei diesen Releases nicht auf einem ZFS befinden. Anderenfalls könnten sich Probleme beim Patchen einstellen und das System kann eventuell nicht mehr auf ein höheres Solaris 10-Release aktualisiert werden.
Bitte beachten Sie, dass sich das Root-Dateisystem einer nicht-globalen Zone ab Solaris-Release 10&;10/08 auf ZFS befinden darf. Das System kann dann mit Solaris Live Upgrade aktualisiert werden.
Wenn die folgende Fehlermeldung angezeigt wird:
dladm: warning: cannot reset link property 'zone' on 'bge0': operation failed |
Der Versuch, dladm reset-linkprop zu verwenden, ist fehlgeschlagen. Lesen Sie hierzu auch So verwenden Sie dladm reset-linkprop Die laufende Zone excl verwendet das Gerät, das durch Ausführen von ifconfig bge0 plumb innerhalb der Zone zugewiesen wurde.
Um den Wert zurückzusetzen, führen Sie das Verfahren ifconfig bge0 unplumb innerhalb der Zone aus und geben dann den Befehl dladm erneut ein.
Wenn schon nach dem ersten Booten einer nicht-globalen Zone Dateien in der Dateisystemhierarchie vorhanden sind, so deutet dies darauf hin, dass die Dateisystemdaten von der globalen Zone verwaltet werden. Bei der Installation der nicht-globalen Zone werden verschiedene Paketdateien der globalen Zone in der nicht-globalen Zone dupliziert. Diese Dateien müssen sich direkt unter dem zonepath befinden. Wenn sich die Dateien in einem vom Zonenadministrator erstellten Dateisystem auf Plattengeräten oder ZFS-Datasets befinden, die der Zone hinzugefügt wurden, könnten Paket- und Patch-Probleme auftreten.
Das Problem beim Speichern von Dateisystemdaten, die von der globalen Zone verwaltet werden, in einem nur für die Zone geltenden Dateisystem kann beispielhaft für ZFS beschrieben werden. Wenn ein ZFS-Dataset an eine nicht-globale Zone delegiert wurde, sollte der Zonenadministrator dieses Dataset nicht zum Speichern von Dateisystemdaten verwenden, die von der globalen Zone verwaltet werden. Die Konfiguration kann nicht korrekt gepatcht oder aktualisiert werden.
Beispielsweise sollte ein delegiertes ZFS-Dataset nicht als /var-Dateisystem verwendet werden. Das Betriebssystem Solaris enthält Core-Pakete, die unter /var installiert werden. Wenn sie aktualisiert oder gepatcht werden, haben diese Pakete Zugriff auf /var. Dies ist nicht möglich, wenn /var als ein delegiertes ZFS-Dataset eingehängt ist.
Das Einhängen des Dateisystems in Teilen der von der globalen Zone gesteuerten Hierarchie wird unterstützt. Wenn beispielsweise ein leeres Verzeichnis /usr/local in der globalen Zone existiert, kann der Zonenadministrator andere Inhalte in diesem Verzeichnis einhängen.
Sie können ein delegiertes ZFS-Dataset für Dateisysteme verwenden, auf die während des Patchens oder Aktualisierens nicht zugegriffen werden muss, z. B. /export in der nicht-globalen Zone.
Wenn der einer Zone zugeordnete Systemstatus nicht korrekt gelöscht werden kann, schlägt ein Vorgang zum Anhalten („halt“) während des Vorgangs fehl. Dies versetzt eine Zone in einen Zwischenstatus, einem Zustand zwischen „running“ und „installed“. In diesem Zustand gibt es keine aktiven Benutzerprozesse oder Kernel-Threads und es können keine erstellt werden. Wenn der „halt“-Vorgang fehlschlägt, müssen Sie manuell eingreifen und den Prozess vervollständigen.
Die häufigste Ursache eines Fehlers ist die Unfähigkeit des Systems, alle Dateisysteme auszuhängen. Im Gegensatz zum traditionellen Herunterfahren eines Solaris-Systems, wobei der Systemstatus vollständig gelöscht wird, müssen Zonen sicherstellen, dass während des Bootens der Zone keine Mounts vorgenommen werden und dass keine Zonenvorgänge nach dem Anhalten der Zone aktiv bleiben. Obwohl zoneadm sicherstellt, dass keine Prozesse mehr in der Zone ausgeführt werden, kann das Aushängen fehlschlagen, wenn Prozesse in der globalen Zone Dateien in der betreffenden Zone geöffnet haben. Verwenden Sie die in den Manpages proc(1) (siehe pfiles) und fuser(1M), beschriebenen Tools, um diese Prozesse zu finden und die erforderlichen Maßnahmen einzuleiten. Nachdem diese Prozesse korrekt verarbeitet wurden, sollte die Zone durch erneutes Aufrufen von zoneadm halt vollständig angehalten werden.
Ab Solaris-Release 10 10/09 können Sie für Zonen, die nicht angehalten werden können und nicht getrennt wurden, mit zoneadm attach - F einen attach-Vorgang ohne Validierung erzwingen. Das Zielsystem muss zum Hosten der Zone richtig konfiguriert sein. Bei einer falschen Konfiguration kann sich ein unerwartetes Verhalten einstellen. Es gibt außerdem keine Möglichkeit, den Status der Dateien innerhalb der Zone festzustellen.
Enthält das Berechtigungsset einer Zone eine nicht zulässige Berichtigung, fehlt eine erforderliche Berechtigung oder enthält es einen unbekannten Berechtigungsnamen, schlägt der Versuch, die Zone zu überprüfen, fertig zu stellen oder zu booten fehl und es wird eine Fehlermeldung wie die Folgende angezeigt:
zonecfg:zone5> set limitpriv="basic" . . . global# zoneadm -z zone5 boot required privilege "sys_mount" is missing from the zone's privilege set zoneadm: zone zone5 failed to verify |
Die folgende Meldung könnte beim Booten einer Zone gemäß der Beschreibung unter So booten Sie eine Zone angezeigt werden:
# zoneadm -z my-zone boot zoneadm: zone 'my-zone': WARNING: hme0:1: no matching subnet found in netmasks(4) for 192.168.0.1; using default of 255.255.255.0. |
Diese Meldung ist nur eine Warnung. Der Befehl war erfolgreich. Die Meldung weist darauf hin,, dass das System nicht in der Lage war, die netmask zu finden, die für die in der Zonenkonfiguration angegebene IP-Adresse verwendet werden soll.
Damit diese Warnung bei kommenden Neustarts nicht erneut angezeigt wird, stellen Sie sicher, dass die korrekten netmasks-Datenbanken in der Datei /etc/nsswitch.conf der globalen Zone aufgeführt sind, und das mindestens eine dieser Datenbanken das Teilnetz und die netmasks enthält, die für die Zone my-zone verwendet werden.
Angenommen, die Datei /etc/inet/netmasks und die lokale NIS-Datenbank werden für die Auflösung der netmasks in der globalen Zone verwendet, so lautet der entsprechende Eintrag in /etc/nsswitch.conf:
netmasks: files nis
Die Teilnetz- und entsprechenden Netzmasken-Informationen für die Zone my-zone können /etc/inet/netmasks für eine spätere Nutzung hinzugefügt werden.
Weitere Informationen zum Befehl netmasks finden Sie in der Manpage netmasks(4).
Das Zielsystem muss die gleichen Versionen der folgenden Betriebssystempakete und -Patches wie auf dem Ursprungshost aufweisen.
Pakete, die Dateien unter einer inherit-pkg-dir-Ressource bereitstellen
Pakete, bei denen Folgendes gesetzt ist: SUNW_PKG_ALLZONES=true
Wenn Pakete und Patches auf dem Ursprungshost und dem neuen Host unterschiedlich sind, wird eventuell eine Meldung ähnlich der Folgenden angezeigt:
host2# zoneadm -z my-zone attach These packages installed on the source system are inconsistent with this system: SUNWgnome-libs (2.6.0,REV=101.0.3.2005.12.06.20.27) version mismatch (2.6.0,REV=101.0.3.2005.12.19.21.22) SUNWudaplr (11.11,REV=2005.12.13.01.06) version mismatch (11.11,REV=2006.01.03.00.45) SUNWradpu320 (11.10.0,REV=2005.01.21.16.34) is not installed SUNWaudf (11.11,REV=2005.12.13.01.06) version mismatch (11.11,REV=2006.01.03.00.45) NCRos86r (11.10.0,REV=2005.01.17.23.31) is not installed These packages installed on this system were not installed on the source system: SUNWukspfw (11.11,REV=2006.01.03.00.45) was not installed SUNWsmcmd (1.0,REV=2005.12.14.01.53) was not installed These patches installed on the source system are inconsistent with this system: 120081 is not installed 118844 is not installed 118344 is not installed These patches installed on this system were not installed on the source system: 118669 was not installed 118668 was not installed 116299 was not installed |
Sie können die Zone mithilfe eines der folgenden Verfahren migrieren:
Aktualisieren Sie den neuen Host mit den korrekten Paketen und Patches, so dass dieser Inhalt auf beiden Systemen gleich ist. Weitere Informationen finden Sie in Kapitel 25Allgemeine Informationen zu den Paketen und Patches auf einem Solaris-System mit installierten Zonen und Kapitel 26Hinzufügen und Entfernen von Paketen und Patches auf einem Solaris-System mit installierten Zonen (Vorgehen).
Wenn auf dem neuen Host neuere Versionen der zonenabhängigen Pakete und deren Patches installiert sind, verwenden Sie den Befehl zoneadm attach mit der Option -u oder - U, um diese Pakete innerhalb der Zone an den neuen Host anzupassen. Siehe Allgemeine Informationen zum Migrieren einer Zone.
Um die Zone erfolgreich zu migrieren, installieren Sie das gleiche Solaris-Release, das auf dem Ursprungshost ausgeführt wird, auf einem System mit der gleichen Architektur.
Überprüfen Sie, welches Solaris-Release auf dem Ausgangssystem installiert ist.
host1# uname -a |
Installieren Sie das gleiche Release auf dem neuen Host.
Weitere Informationen finden Sie in der Solaris-Installationsdokumentation unter docs.sun.com.
Um die Zone erfolgreich zu migrieren, verwenden Sie die Option -u des Befehls zoneadm attach.
Überprüfen Sie die Architekturen auf beiden Systemen.
host1# uname -a |
Wenn die Architekturen unterschiedlich·sind, sollten Sie die Zone mithilfe der Option -u des Befehls zoneadm attach anhängen.
host2# zoneadm -z my-zone attach -u |
Weitere Informationen finden Sie unter So migrieren Sie eine nicht-globalen Zone.
Dieses Problem wurde für das Solaris-Release 10 8/07 behoben.
Wenn alle nicht-globalen Zonen, die mit lofs fs-Ressourcen konfiguriert wurden, im Miniroot vorhandene Verzeichnisse einhängen, kann das System von einem Release vor Solaris 10 mithilfe eines standardmäßigen Upgrade-Verfahrens auf das Solaris-Release 10 11/06 aktualisiert werden. Beispielsweise stellt ein als lofs eingehängtes Verzeichnis /opt keine Probleme für ein Upgrade dar.
Wenn jedoch eine Ihrer nicht-globalen Zone mit einem nicht-standardmäßigen lofs-Mount konfiguriert ist (z. B. ein als lofs eingehängtes Verzeichnis /usr/local), wird die folgende Fehlermeldung angezeigt:
The zones upgrade failed and the system needs to be restored from backup. More details can be found in the file /var/sadm/install_data/upgrade_log on the upgrade root file system. |
Obwohl diese Fehlermeldung darauf hinweist, dass das System aus einer Sicherungskopie wiederhergestellt werden muss, ist das System tatsächlich fehlerfrei und es kann mithilfe der folgenden Problemumgehung erfolgreich aufgerüstet werden:
Starten Sie das System mit dem installierten Betriebssystem neu.
Konfigurieren Sie die Zonen neu und entfernen Sie die fs-Ressourcen, die als lofs-Typ definiert wurden.
Nachdem Sie diese Ressourcen entfernt haben, führen Sie ein Upgrade des Systems auf Solaris 10 11/06 durch.
Nach dem Upgrade können Sie die Zone erneut konfigurieren, um die entfernten fs-Ressourcen wiederherzustellen.