Solaris 10 8/07: Branded Zones werden mit diesem Release eingeführt.
BrandZ bilden das Grundgefüge für die Erstellung von nicht-globalen Branded Zones, die nicht-native Betriebsumgebungen enthalten. Branded Zones werden im Betriebssystem Solaris zum Ausführen von Anwendungen verwendet.
Das erste verfügbare Brand war das lx Brand, ein Solaris Container für Linux-Anwendungen. Das lx Brand stellt eine Linux-Umgebung für Ihre Anwendungen bereit. Es kann auf x86- und x64-Computern ausgeführt werden.
Branded Zones wurden mit dem Solaris-Release 10 8/07 eingeführt. In späteren Versionen hinzugekommene Leistungsmerkmale sind mit der entsprechenden Release-Nummer gekennzeichnet.
Die Funktion der Branded Zones im Betriebssystem Solaris ist eine einfache Erweiterung der Solaris Zones. In diesem Kapitel wird das Konzept der Branded Zones und einem lx Brand beschrieben, das die Leistungsmerkmale der Linux Branded Zones implementiert. Linux Branded Zones werden auch als Solaris Container für Linux-Anwendungen bezeichnet.
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.
Zusätzliche Brands werden vom Betriebssystem Solaris unterstützt.
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
Das cluster-Brand, dokumentiert in der Sun Cluster 3.2 1/09 Software Collection for Solaris OS auf docs.sun.com, wird auch von der Version Solaris 10 unterstützt.
Allgemeine Informationen zur Verwendung von Zonen auf einem Solaris-System finden Sie in Kapitel 16Einführung in Solaris Zones.
Sie sollten mit den folgenden Konzepten zur Zonen- und Ressourcenverwaltung vertraut sein:
Die globale Zone und die nicht-globale Zone, siehe Arbeitsweise von Zonen
Der globale Administrator und der Zonenadministrator, siehe So werden nicht-globale Zonen verwaltet und So werden nicht-globale Zonen erstellt.
Das Zonen-Statusmodell, siehe Statusmodell einer nicht-globalen Zone.
Die Zonen-Isolierungseigenschaften, siehe Eigenschaften nicht-globaler Zonen.
Berechtigungen, siehe Berechtigungen in einer nicht-globalen Zone.
Netzverbindungen, siehe Netzwerkverbindungen in nicht-globalen Shared IP-Zonen
Das Konzept der Solaris Container. Hierbei handelt es sich um das Anwenden von Ressourcenverwaltungsfunktionen, z. B. Resource Pools, auf Zonen. Die Verwendung und Interaktionen von Zonen und Ressourcenverwaltungsfunktionen ist unter Verwenden der Funktionen der Ressourcenverwaltung mit nicht-globalen Zonen, Einrichten von zonenweiten Resource Controls, Kapitel 27Einführung in die Verwaltung der Solaris Zones und in den einzelnen Kapiteln von Teil 1, Ressourcenverwaltung, dieses Handbuchs beschrieben, in denen die einzelnen Ressourcenverwaltungsfunktionen beschrieben werden. Beispielsweise sind Resource Pools in Kapitel 12Einführung in Resource Pools und Kapitel 13Erstellen und Verwalten von Resource Pools (Vorgehen) beschrieben.
Der Fair Share Scheduler (FSS), eine Scheduling-Klasse, mit der Sie CPU-Zeit basierend auf Shares zuweisen können, ist in Kapitel 8Einführung in den Fair Share Scheduler und Kapitel 9Verwalten des Fair Share Scheduler (Vorgehen) beschrieben.
Der Resource Capping Daemon (rcapd), der von der globalen Zone aus zum Steuern der Resident Set Größe (RSS)-Nutzung von Branded Zones verwendet werden kann. Die Eigenschaft der Ressource zonecfg capped-memory legt den max-rss-Wert für eine Zone fest. Dieser Wert wird mithilfe des rcapd durchgesetzt, der in der globalen Zone ausgeführt wird. 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 rcapd(1M).
Im Glossar finden Sie Definitionen für Begriffe, die im Zusammenhang mit Zonen und Ressourcenverwaltungsfunktionen verwendet werden.
Alle zusätzlichen Informationen, die für die Verwendung von Branded Zones auf einem System erforderlich sind, finden Sie in diesem Teil des Handbuchs.
Die folgenden Kapitel dieses Handbuchs gelten nicht für Branded Zones:
Das Branded Zone (BrandZ)-Framework erweitert die Infrastruktur der Solaris Zones um die Erstellung von Brands. Dies wird in diesem Handbuch in Teil II, Zonen beschrieben. Der Begriff Brand kann sich auf einen breiten Bereich von Betriebsumgebungen beziehen. Mit BrandZ können Sie nicht-globale Zonen erstellen, die nicht-native Betriebsumgebungen enthalten, in denen Anwendungen ausgeführt werden. Der Brand-Typ dient zum Festlegen der Skripten, die beim Installieren und Booten einer Zone ausgeführt werden. Darüber hinaus dient das Brand einer Zone zur korrekten Identifikation des Anwendungstyps beim Start der Anwendung. Die gesamte Brand-Verwaltung wird über Erweiterungen der aktuellen Zonenstruktur durchgeführt.
Ein Brand kann eine einfache oder eine komplexe Umgebung bereitstellen. In einer einfachen Umgebung können die standardmäßigen Solaris-Dienstprogramme durch deren GNU-Entsprechungen ersetzt werden. In einer komplexen Umgebung könnte ein vollständiger Linux-Benutzerbereich bereitgestellt werden, der die Ausführung von Linux-Anwendungen unterstützt.
Jede Zone ist mit einem zugehörigen Brand konfiguriert. Die Standardeinstellung ist das native Brand, Solaris. Eine Branded Zone unterstützt genau ein Brand einer nicht-nativen Binärdatei; dies bedeutet, dass eine Branded Zone genau eine Betriebsumgebung bereitstellt.
BrandZ erweitern die Zonen-Tools wie folgt:
Mit dem Befehl zonecfg kann der Brand-Typ einer Zone beim Konfigurieren der Zone eingerichtet werden.
Der Befehl zoneadm dient zum Melden des Brand-Typs einer Zone sowie zum Verwalten der Zone.
Sie können das Brand einer Zone ändern, die sich im Status „configured“ befindet. Nachdem eine Branded Zone installiert wurde, kann das Brand nicht mehr geändert oder entfernt werden.
Branded Zones stellen ein Set an Interpositionspunkten im Kernel bereit, die nur für Prozesse angewendet werden, die in einer Branded Zone ausgeführt werden.
Diese Punkte befinden sich in Pfaden wie dem syscall-Pfad, dem Pfad zum Laden eines Prozesses sowie dem Pfad zum Erstellen eines Thread.
An jedem dieser Punkte kann ein Brand wählen, das standardmäßige Solaris-Verhalten zu unterstützen oder zu ersetzen.
Ein Brand kann auch eine Plugin-Bibliothek für librtld_db bereitstellen. Die Plugin-Bibliothek ermöglicht Solaris-Tools wie beispielsweise dem Debugger (siehe mdb(1)) und DTrace (siehe dtrace(1M)), auf die Symbolinformationen von Prozessen zuzugreifen, die innerhalb einer Branded Zone ausgeführt werden.
Die von jeder Zone unterstützten Geräte sind in den Manpages und anderen Dokumentationen für das Brand beschrieben. Die Geräteunterstützung wird durch das Brand definiert. Ein Brand kann wählen, das Hinzufügen von nicht unterstützten oder nicht erkannten Geräten zu verweigern.
Die für eine Branded Zone erforderlichen Dateisysteme werden vom Brand definiert.
Die in einer Branded Zone verfügbaren Berechtigungen werden vom Brand definiert. Weitere Informationen zu Berechtigungen finden Sie unter Berechtigungen in einer nicht-globalen Zone und Konfigurierbare Berechtigungen in einer lx Branded Zone.
Das lx Brand verwendet das Branded Zones-Framework, um Linux-Binäranwendungen unverändert auf einem Computer mit Solaris-Betriebssystemkernel auszuführen.
Auf diesem Computer muss einer der folgenden unterstützten i686-Prozessortypen installiert sein:
Intel
Pentium Pro
Pentium II
Pentium III
Celeron
Xeon
Pentium 4
Pentium M
Pentium D
Pentium Extreme Edition
Core
Core 2
AMD
Opteron
Athlon XP
Athlon 64
Athlon 64 X2
Athlon FX
Duron
Sempron
Turion 64
Turion 64 X2
Das lx Brand umfasst die zur Installation einer CentOS 3.x- oder Red Hat Enterprise Linux 3.x-Distribution innerhalb einer nicht-globalen Zone erforderlichen Tools. Unterstützt werden die Versionen 3.5 bis 3.8 jeder Distribution. Das Brand unterstützt die Ausführung von 32-Bit Linux-Anwendungen auf x86- und x64-Computern, auf denen das Solaris-Betriebssystem entweder im 32-Bit- oder im 64-Bit-Modus ausgeführt wird.
Das lx Brand emuliert die vom Linux 2.4.21-Kernel bereitgestellten System-Aufrufschnittstellen gemäß der Änderungen durch Red Hat in den RHEL 3.x-Distributionen. Dieser Kernel stellt die System-Aufrufschnittstellen bereit, die von der glibc-Version 2.3.2 von Red Hat benötigt werden.
Darüber hinaus emuliert das lx Brand teilweise die Linux-Schnittstellen /dev und /proc.
Beachten Sie, dass eine unterstützte Konfiguration aufrecht erhalten müssen, wenn Sie Pakete zu einer lx Branded Zone hinzufügen. Weitere Informationen finden Sie unter Allgemeine Informationen zum Verwalten einer unterstützten Konfiguration.
In einem Solaris-System ist die Anzahl der Linux-Anwendungen, die in einer lx Branded Zone ausgeführt werden können, nicht beschränkt. Voraussetzung ist ein ausreichender Arbeitsspeicher. Lesen Sie auch Anforderungen an System und Speicherplatz.
Unabhängig vom zu Grunde liegenden Kernel, können nur 32-Bit Linux-Anwendungen ausgeführt werden.
Die lx Zone unterstützt Linux-Anwendungen nur auf Benutzerebene. Sie können keine Linux-Gerätetreiber, Linux-Kernelmodule oder Linux-Dateisysteme in einer lx Zone verwenden.
Unter http://hub.opensolaris.org/bin/view/Community+Group+brandz/applications finden Sie eine Liste einiger Anwendungen, die erfolgreich in dem lx Brand ausgeführt werden konnten. Ein Beispiel zur Installation einer Anwendung finden Sie unter So installieren Sie eine Anwendung in einer lx Branded Zone.
Sie können keine Solaris-Anwendungen in einer lx Zone ausführen. Sie können jedoch das Solaris-System in der lx Zone verwenden, um Linux-Anwendungen zu entwickeln, zu testen und bereitzustellen. Beispielsweise können Sie eine Linux-Anwendung in einer lx Zone platzieren und sie mithilfe von Solaris-Tools analysieren, die in der globalen Zone ausgeführt werden. Dann können Sie Verbesserungen vornehmen und die überarbeitete Anwendung auf einem nativen Linux-System bereitstellen.
Solaris-Tools zur Fehlersuche wie DTrace und mdb können zwar an in der Zone ausgeführten Linux-Prozessen angewendet werden, die Tools selbst müssen aber in der globalen Zone ausgeführt werden. Alle erzeugten Core-Dateien werden im Solaris-Format erstellt. Das Debuggen kann nur mit Solaris-Tools durchgeführt werden.
DTrace kann mithilfe des Dynamic Tracing Providers lxsyscall für Linux-Anwendungen eingesetzt werden. Dieser Provider verhält sich wie der DTrace-Provider syscall. Der Provider lxsyscall stellt Sonden bereit, die immer dann ausgelöst werden, wenn ein Thread in einen Linux-System-Aufrufpunkt Linux-Systems eintritt bzw. von dort zurückgekehrt.
Weitere Informationen zu den Optionen zur Fehlersuche können Sie dem Solaris Dynamic Tracing Guide und den Manpages dtrace(1M) und mdb(1) entnehmen. Im Handbuch zur dynamischen Ablaufverfolgung in Solaris sind die öffentlich dokumentierten Schnittstellen beschrieben, die für das Dienstprogramm DTrace zur Verfügung stehen. Die Dokumentation zum Provider syscall kann auch für den Provider lxsyscall genutzt werden.
Da NFS von zonenspezifischen Namen-Services abhängig ist, können Sie nicht auf ein NFS-Dateisystem zugreifen, das außerhalb der aktuellen Zone eingehängt ist. Aus diesem Grund können Sie keine Fehlerbehebung an NFS-basierten Linux-Prozessen von der globalen Zone aus durchführen.
Die in der folgenden Tabelle aufgeführten Befehle stellen die primäre administrative Schnittstelle zu den Zonen dar.
Tabelle 31–1 In lx Branded Zones ungültige Befehle und andere Schnittstellen
Befehl |
Beschreibung |
---|---|
Anmelden bei einer nicht-globalen Zone |
|
Verwalten der Zonen auf einem System |
|
Einrichten einer Zonenkonfiguration |
|
Zuordnen von Zonen-ID und Name |
|
brands(5) |
Beschreibung der Branded Zones-Einrichtung |
lx(5) |
Beschreibung der Linux Branded Zones |
Beschreibung der Funktion Zonen |
|
lx_systrace(7D) |
DTrace Linux-System Provider zur Aufrufverfolgung |
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.
Tabelle 27–5 führt die Befehle auf, die in der globalen Zone zum Anzeigen von Informationen über alle nicht-globalen Zonen, einschließlich der Branded Zones verwendet werden können. Tabelle 27–4 führt die Befehle auf, die mit dem Resource Capping Daemon verwendet werden können.
Die folgende Tabelle enthält eine Übersicht aller Schritte, die beim ersten Einrichten von lx Zonen auf einem System ausgeführt werden müssen.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Identifizieren aller 32–Bit Linux-Anwendungen, die in einer Zone ausgeführt werden sollen. |
Bewerten der Systemanforderungen der Anwendung. |
Lesen Sie ggf. Ihre unternehmerischen Ziele und Ihre Systemdokumentation. |
Ermitteln der Anzahl der zu konfigurierenden Zonen. |
Analysieren Sie:
|
Lesen Sie dazu Unterstützung von Anwendungen, Anforderungen an System und Speicherplatz, Bewerten des aktuellen System-Setups und Skript zur Konfiguration mehrerer lx Branded Zones. |
Prüfen Sie, ob Resource Pools mit der Zone verwendet werden müssen, um einen Container zu erstellen. |
Wenn Sie Resource Pools verwenden, müssen Sie die Pools konfigurieren, bevor Sie Zonen konfigurieren. Mit den zonecfg-Eigenschaften können Sie einer Zone schnell zonenweite Resource Controls und Pools hinzufügen. |
Lesen Sie dazu So konfigurieren Sie eine lx Branded Zone und Kapitel 13Erstellen und Verwalten von Resource Pools (Vorgehen). |
Durchführen der Schritte zur Vorkonfiguration. |
Festlegen von Zonenname und Zonenpfad in jeder Zone. Beziehen von IP-Adressen, wenn Netzwerkverbindungen erforderlich sind. Festlegen der Scheduling-Klasse der Zone. Festlegen des Berechtigungssets, auf den Prozesse innerhalb der Zone beschränkt sein sollen, falls die Standardberechtigungen nicht ausreichen. |
Weitere Informationen zu Zonenname, Zonenpfad, IP-Adressen und Scheduling-Klasse finden Sie unter lx Branded Zone – Konfiguration der Komponenten. 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. Weitere Informationen zum Zuweisen von Resource Pools finden Sie unter Arbeitsweise von Zonen und So konfigurieren Sie eine lx Branded Zone. |
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). |
Die Zonen müssen vor dem Booten der Zone überprüft und installiert werden. Sie müssen eine Linux-Distribution beziehen, bevor Sie eine Linux Branded Zone installieren können. |
Lesen Sie dazu Kapitel 34Einführung in das Installieren, Booten, Anhalten, Klonen und Deinstallieren von lx Branded Zones und Kapitel 35Installieren, Booten, Anhalten, Deinstallieren und Klonen von lx Branded Zones (Vorgehen). |
Booten der nicht-globalen Zonen (als globaler Administrator). |
Booten jeder Zone, um sie in den Status „running“ zu überführen. |
Lesen Sie dazu Kapitel 35Installieren, Booten, Anhalten, Deinstallieren und Klonen von lx Branded Zones (Vorgehen). |
Vorbereiten der neuen Zone für den Einsatz in der Produktion. |
Erstellen von Benutzerkonten, hinzufügen der erforderlichen Software und anpassen der Zonenkonfiguration mithilfe von standardmäßigen Administrationstools und -methodologien eines Linux-Systems innerhalb der Zone. |
Lesen Sie die Dokumentation, in der das Einrichten eines neu installierten Computers und das Installieren von Anwendungen beschrieben ist. Weitere Aspekte, die für ein System mit installierten Zonen gelten, sind in diesem Handbuch enthalten. |
In diesem Kapitel sind die erforderlichen Maßnahmen beschrieben, die ausgeführt werden müssen, bevor Sie eine lx Branded Zone auf einem x64- oder x86-basierten System konfigurieren können. Außerdem wird die Verwendung des Befehls zonecfg beschrieben.
Wenn lx Branded Zones auf einem System verwendet werden sollen, gelten die folgenden Einschränkungen.
Der Computer muss entweder x64- oder x86-basiert sein.
Es muss ausreichend Festplattenspeicherplatz für die einmaligen Dateien in jeder lx-Zone vorhanden sein. Der erforderliche Festplattenspeicher für eine lx-Zone wird durch Größe und Anzahl der installierten RPMs oder Linux-Pakete festgelegt.
Das lx-Brand unterstützt nur das Modell einer Whole Root Zone, bei dem in jeder installierten Zone eine eigene Kopie jeder Datei vorhanden ist.
Es gibt keine 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. Ausreichend großen Speicherplatz vorausgesetzt, kann auch ein kleines Uniprozessor-System mehrere gleichzeitig ausgeführte Zonen unterstützen.
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.
Jede Zone, für eine Netzwerkverbindung vorgesehen ist, benötigt mindestens eine eindeutige ID-Adresse. Die Verwendung von IPv4-Adressen wird unterstützt. Sie müssen für die Zone eine IPv4-Adresse zuweisen. Weitere Informationen finden Sie unter Netzwerkadresse einer Branded Zone. Optional können Sie den Standard-Router für die Netzwerkschnittstelle konfigurieren (siehe So konfigurieren Sie eine lx Branded Zone).
Mit dem Befehl zonecfg können Sie:
Das Brand der Zone festlegen.
Die Konfiguration einer lx-Zone einrichten.
Die Konfiguration verifizieren, um sicherzustellen, dass die angegebenen Ressourcen und Eigenschaften auf einem hypothetischen x86- oder x64- basierten System gültig und intern konsistent sind.
Eine markenspezifische Verifizierung durchführen. Bei dieser Verifizierung wird Folgendes sichergestellt:
Die Zone kann keine geerbten Pakete-Verzeichnisse, ZFS-Datasets oder hinzugefügte Geräte enthalten.
Wenn die Zone zur Verwendung von Audio konfiguriert wurde, müssen die angegebenen Geräte (sofern vorhanden) none, default oder eine einzelne Zahl sein.
Die mit dem Befehl zonecfg verify für eine bestimmte Konfiguration durchgeführte Prüfung stellt Folgendes sicher:
Es wurde ein Zonenpfad angegeben
Für jede Ressource wurden alle erforderlichen Eigenschaften angegeben
Alle Anforderungen des Brand wurden erfüllt
Weitere Informationen zum Befehl zonecfg finden Sie in der Manpage zonecfg(1M).
In diesem Abschnitt werden die folgenden Themen behandelt:
Zonenressourcen und -eigenschaften, die mit dem Befehl zonecfg konfiguriert werden können
Ressourcen, die standardmäßig in der Konfiguration enthalten sind
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.
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.
Auch wenn keine Resource Pools konfiguriert sind, können Sie dennoch mithilfe der Ressource dedicated-cpu angeben, dass ein Teil der Systemprozessoren für eine nicht-globale Zone zugewiesen wird. Während der Ausführung der Zone erstellt das System dynamisch einen temporären Pool.
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.
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 Dynamic Resource Pool-Service gemäß der Beschreibung unter Aktivieren und Deaktivieren von Pools.
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 Resource Control cpu-shares und die Ressource dedicated-cpu sind inkompatibel.
Die Ressource capped-cpu gibt einen absoluten Grenzwert an CPU-Ressourcen an, die von einem Projekt oder einer Zone beansprucht werden können. 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 wird durch die Anzahl der Shares an CPU-Ressourcen ausgedrückt, die Sie jeder Zone zuweisen.
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:
Sie können die Eigenschaft scheduling-class in zonecfg verwenden, um die Scheduling-Klasse für die Zone einzurichten.
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 eine Memory Cap mit dem Befehl rcapd von der globalen Zone aus einrichten 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 eine lx Branded Zone.
In einer lx Branded Zone werden ausschließlich Shared IP-Netzwerkkonfigurationen unterstützt.
Jede Zone, die über eine Netzwerkverbindung verfügen soll, benötigt mindestens eine dedizierte ID-Adresse. Diese Adressen werden mithilfe von logischen Netzwerkschnittstellen zugeordnet. Mit dem Befehl zonecfg konfigurierte Netzwerkschnittstellen werden beim Booten automatisch in einer Zone eingerichtet. Ab Solaris-Version 10 10/08 können Sie den Standard-Router für die Netzwerkschnittstelle optional auch über die Eigenschaft defrouter einstellen.
Im Allgemeinen umfassen die in einer Zone eingehängten Dateisysteme Folgendes:
Die beim Initialisieren der virtuellen Plattform eingehängten Dateisystemsets
Die innerhalb der Zone eingehängten Dateisystemsets
Dies kann z. B. die folgenden Dateisysteme umfassen:
automount-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.
Eine zonenweite Resource Control lässt sich einfacher einrichten, wenn Sie den Eigenschaftennamen anstelle der Ressource rctl verwenden. Diese Grenzwerte werden sowohl für die globale Zone als auch für nicht-globale Zonen angegeben.
Mit der Ressource rctl kann ein globaler Administrator auch 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. Anweisungen hierzu finden Sie unter So konfigurieren Sie eine lx Branded Zone.
Derzeit sind die folgenden Resource Controls verfügbar:
Tabelle 32–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: Setzen eines absoluten Grenzwertes für die Beanspruchung von CPU-Ressourcen für diese Zone. 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. |
Menge (CPU-Anzahl) | ||
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. |
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 Nachrichtenwartesch- langen-IDs. |
Menge (Nachrichten- warteschlan- gen-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 |
Mit der Eigenschaft limitpriv kann eine andere Berechtigungsmaske als die vordefinierte Standardmaske angegeben werden. Beim Booten einer Zone wird ein Standard-Berechtigungsset in die Konfiguration des Brand 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 der Eigenschaft limitpriv 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 In lx Branded Zones definierte Berechtigungen, Berechtigungen in einer nicht-globalen Zone und privileges(5).
Mit dem Ressourcentyp attr können Sie auf ein Audiogerät in der globalen Zone zugreifen. Anweisungen hierzu finden Sie unter Schritt 12 von So konfigurieren, prüfen und übernehmen Sie eine lx Branded Zone.
Der Ressourcentyp attr dient auch zum Hinzufügen eines Kommentars für eine Zone.
Die von jeder Zone unterstützten Geräte sind in den Manpages und anderen Dokumentationen für das Brand beschrieben. Einer lx-Zone können keine nicht unterstützten oder nicht erkannten Geräten hinzugefügt werden. Das Framework erkennt jeden Versuch, ein nicht unterstütztes Gerät hinzuzufügen. Eine Fehlermeldung gibt an, dass die Zonenkonfiguration nicht überprüft werden kann.
Der Zugriff auf ein Audiogerät, das in der globalen Zone ausgeführt wird, kann, wie unter Schritt 12 von So konfigurieren, prüfen und übernehmen Sie eine lx Branded Zone beschrieben, über die Ressourceneigenschaft attr hinzugefügt werden.
Die für eine Branded Zone erforderlichen Dateisysteme werden im Brand definiert. Mit der Ressourceneigenschaft fs können Sie, wie unter Schritt 9 von So konfigurieren, prüfen und übernehmen Sie eine lx Branded Zone beschrieben, zusätzliche Solaris-Dateisysteme zu einer lx Branded Zone hinzufügen.
Das Hinzufügen lokaler Linux-Dateisysteme wird nicht unterstützt. Sie können von einem Linux-Server aus Dateisysteme über NFS einhängen.
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.
Die Berechtigungen Standard (Default), Standard erforderlich (Required Default), optional und eingeschränkte Berechtigungen (Prohibited Privileges) werden von jedem Brand definiert. Mit der Eigenschaft limitpriv können Sie, wie unter Schritt 8 von So konfigurieren, prüfen und übernehmen Sie eine lx Branded Zone gezeigt, bestimmte Berechtigungen hinzufügen oder entfernen. In Tabelle 27–1 sind alle Solaris-Berechtigungen und der Status jeder Berechtigung in Bezug auf Zonen aufgeführt.
Weitere Informationen zu Berechtigungen finden Sie in der Manpage ppriv(1) und im System Administration Guide: Security Services.
Mit dem in der Manpage zonecfg genauer beschriebenen Befehl zonecfg(1M) wird eine Zone konfiguriert. Außerdem können die Einstellungen der Ressourcenverwaltung für die globale Zone mit diesem Befehl 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 So konfigurieren Sie eine lx Branded Zone.
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:lx-zone:net> help |
Beginnt die Konfiguration einer im Speicher abgelegten Konfiguration für die angegebene neue Branded Zone.
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. Zum Erstellen einer Linux-Branded Zone verwenden Sie:
zonecfg:lx-zone> create -t SUNWlx |
Mit der Option -b erstellen Sie eine leere Konfiguration, in der Sie das Brand festlegen können.
zonecfg:lx-zone> create -b zonecfg:lx-zone> set brand=lx |
Mit der Option -F überschreiben Sie eine bestehende Konfiguration.
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 eine lx Branded 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.
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.
Ein 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 einen Root-Verzeichnispfad, der relativ zum Root-Verzeichnis der globalen Zone angegeben ist. Während der Installation muss die Sichtbarkeit des globalen Zonenverzeichnisses eingeschränkt sein. Der Eigentümer 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/lx-zone |
zonecfg zonepath |
/home/export/lx-zone/root |
Root der Zone |
/home/export/lx-zone/root/dev |
Für die Zone erstellte Geräte |
Weitere Informationen zu diesem Thema finden Sie unter Durchlaufen von Dateisystemen.
Sie können eine Zone an einen anderen Speicherort im gleichen System verschieben, indem Sie mit dem Unterbefehl move von zoneadm einen neuen, vollständigen zonepath angeben. Anweisungen hierzu finden Sie unter Solaris 10 11/06: Verschieben einer nicht-globalen Zone.
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 |
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 Boot-Argumente in einer Branded Zone.
Mit dieser Eigenschaft wird die Zone einem bestimmten Resource Pool auf dem System zugewiesen. Mehrere Zonen können die Ressourcen eines Pools nutzen. Lesen Sie auch Verwenden der Ressource dedicated-cpu.
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, die Systemuhr einzustellen und entfernt die Fähigkeit, Internet Control Message Protocol (ICMP)-Pakete im Ursprungszustand zu senden:
global# zonecfg -z userzone zonecfg:userzone> set limitpriv="default,sys_time,!net_icmpaccess" |
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.
Diese Eigenschaft legt die Scheduling-Klasse der Zone fest. Weitere Informationen und Tipps finden Sie unter Scheduling-Klasse in einer Zone.
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 Verwenden der Ressource dedicated-cpu.
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.
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.
Die Netzwerkschnittstellenressource ist der virtuelle Schnittstellenname. Jede Zone kann über mehrere Netzwerkschnittstellen verfügen, die dann eingerichtet sind, wenn die Zone vom Status „installed“ in den Status „ready“ übergeht.
In einer lx Branded Zone werden ausschließlich Shared IP-Netzwerkkonfigurationen unterstützt.
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.
Wie zonenweite Resource Controls mit dem Unterbefehl set globaler_Eigenschaftenname von zonefig anstelle der Ressource rctl konfiguriert werden, können Sie unter So konfigurieren Sie eine lx Branded Zone nachlesen.
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
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. Im folgenden Beispiel wird für die Zone lx-zone ein CPU-Grenzwert von 3.5 CPUs festgelegt.
zonecfg:lx-zone> add capped-cpu zonecfg:lx-zone:capped-cpu> set ncpus=3.5 zonecfg:lx-zone:capped-cpu> end |
physical, swap, locked
Diese Ressource gruppiert die verwendeten Eigenschaften, wenn das Memory Capping für die Zone eingesetzt wird. Das folgende Beispiel gibt die Arbeitsspeicher-Grenzwerte für die Zone my-zone an. 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 Zeilen im folgenden Beispiel fügen schreibgeschützten Zugriff auf CD- oder DVD-Medien in einer nicht-globalen Zone hinzu. Das Dateisystem wird als Loopback-Mount mit den Optionen ro,nodevices (schreibgeschützt und ohne Geräte) in der nicht-globalen Zone eingehängt.
zonecfg:lx-zone> add fs zonecfg:lx-zone:fs> set dir=/cdrom zonecfg:lx-zone:fs> set special=/cdrom zonecfg:lx-zone:fs> set type=lofs zonecfg:lx-zone:fs> add options [ro,nodevices] zonecfg:lx-zone:fs> end |
Beachten Sie, dass Section 1M Manpages für Einhängeoptionen zur Verfügung stehen, die nur für ein bestimmtes Dateisystem gelten. Die Namen dieser Manpages müssen die Syntax mount_Dateisystem aufweisen.
address, physical, defrouter,
Im folgenden Beispiel wird einer Zone die IP-Adresse 192.168.0.1 hinzugefügt. Als physikalische Schnittstelle wird eine bge0-Karte verwendet, und es wird der Standard-Router eingestellt.
zonecfg:lx-zone> add net zonecfg:lx-zone:net> set address=192.168.0.1 zonecfg:lx-zone:net> set physical=bge0 zonecfg:lx-zone:net> set defrouter=10.0.0.1 zonecfg:lx-zone:net> end |
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.
name, value
Die verfügbaren zonenweiten Resource Controls sind unter Zonenweite Resource Controls in einer lx Branded Zone beschrieben.
zonecfg:lx-zone> add rctl zonecfg:lx-zone:rctl> set name=zone.cpu-shares zonecfg:lx-zone:rctl> add value (priv=privileged,limit=10,action=none) zonecfg:lx-zone:rctl> end |
zonecfg:lx-zone> add rctl zonecfg:lx-zone:rctl> set name=zone.max-lwps zonecfg:lx-zone:rctl> add value (priv=privileged,limit=100,action=deny) zonecfg:lx-zone:rctl> end |
name, type, value
Im folgenden Beispiel wird ein Kommentar über eine Zone hinzugefügt.
zonecfg:lx-zone> add attr zonecfg:lx-zone:attr> set name=comment zonecfg:lx-zone:attr> set type=string zonecfg:lx-zone:attr> set value="Production zone" zonecfg:lx-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.
In diesem Kapitel wird beschrieben, wie Sie eine lx Branded Zone auf einem x64- oder x86-basierten System konfigurieren. Im Wesentlichen ist dies der gleiche Prozess wie beim Konfigurieren einer Solaris-Zone. Einige Eigenschaften sind zum Konfigurieren einer Branded Zone nicht erforderlich.
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 lx-Zone beachtet werden muss.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Planen der Zonenstrategie. |
|
Lesen Sie dazu Anforderungen an System und Speicherplatz und In Zonen verwendete Resource Pools. |
Festlegen von Namen und Pfad für die Zone. |
Festlegen des Zonennamens basierend auf den Benennungskonfigurationen. Ein Pfad auf einem Zetabyte File System (ZFS) wird empfohlen. 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. |
Lesen Sie dazu Ressourcen- und Eigenschaftentypen und Oracle Solaris ZFS-Administrationshandbuch. |
Beziehen oder konfigurieren von IP-Adressen für die 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. |
Lesen Sie dazu Festlegen des Zonen-Hostnamens und Beziehen der Netzwerkadresse und Systemverwaltungshandbuch: IP Services. |
Festlegen, ob Dateisysteme 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 Ressourcen- und Eigenschaftentypen und Berechtigungen in einer nicht-globalen Zone. |
Konfigurieren der Zone. |
Geben Sie den Befehl zonecfg ein, um die Konfiguration für eine Zone zu erstellen. |
Lesen Sie dazu So konfigurieren, prüfen und übernehmen Sie eine lx Branded 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 So konfigurieren, prüfen und übernehmen Sie eine lx Branded Zone. |
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
Wenn Sie im Voraus wissen, dass CDs oder DVDs zur Installation der Anwendungen in einer lx Branded Zone verwenden werden, 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.
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 lx Branded Zones.
Eine Anleitung, wie Sie die Konfiguration einer nicht-globalen Zone anzeigen, finden Sie unter So zeigen Sie die Konfiguration einer lx Branded Zone an.
Nachdem Sie die Branded Zone konfiguriert haben, sollten Sie eine Kopie der Zonenkonfiguration anlegen. Mit dieser Sicherungskopie können Sie die Zone ggf. zu einem späteren Zeitpunkt wiederherstellen. Als Superuser oder Primäradministrator drucken Sie die Konfiguration der Zone lx-zone in eine Datei. Im folgenden Beispiel wird eine Datei mit der Bezeichnung lx-zone.config verwendet.
global# zonecfg -z lx-zone export > lx-zone.config |
Weitere Informationen finden Sie unter So stellen Sie eine einzelne nicht-globale Zone wieder her.
Sie können lx Branded Zones nicht auf einem Trusted Solaris-System verwenden, auf dem Labels aktiviert sind. Der Befehl zoneadm wird die Konfiguration nicht überprüfen.
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.
Im folgenden Beispiel wird der Name lx-zone verwendet.
global# zonecfg -z lx-zone |
Wenn Sie diese Zone das erste Mal konfigurieren, wird die folgende Systemmeldung angezeigt:
lx-zone: No such zone configured Use 'create' to begin configuring a new zone. |
Erstellen Sie die neue lx-Zonenkonfiguration mithilfe der Vorlage SUNWlx.
zonecfg:lx-zone> create -t SUNWlx |
Alternativ können Sie eine leere Zone erstellen und das Brand explizit festlegen:
zonecfg:lx-zone> create -b zonecfg:lx-zone> set brand=lx |
Legen Sie den Zonenpfad fest. Verwenden Sie in diesem Beispiel /export/home/lx-zone.
zonecfg:lx-zone> set zonepath=/export/home/lx-zone |
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:lx-zone> set autoboot=true |
Legen Sie die persistenten Boot-Argumente einer Zone fest.
zonecfg:lx-zone> set bootargs="-i=altinit" |
Wenn Resource Pools auf dem System aktiviert sind, weisen Sie der Zone einen Pool zu.
Im folgenden Beispiel wird der Standard-Pool mit der Bezeichnung pool_default verwendet.
zonecfg:lx-zone> set pool=pool_default |
Da ein Resource Pool optional über eine zugewiesene Scheduling-Klasse verfügt, können Sie die Pools-Funktionen verwenden, um einer nicht-globalen Zone einen anderen Standard-Scheduler als den Systemstandard zuzuweisen. Anweisungen hierzu finden Sie unter So ordnen Sie einen Pool einer Scheduling-Klasse zu und Erstellen der Konfiguration.
Überarbeiten Sie das Standard-Berechtigungsset.
zonecfg:lx-zone> set limitpriv="default,proc_priocntl" |
Die Berechtigung proc_priocntl dient zum Ausführen von Prozessen in der Echtzeitklasse.
Stellen Sie fünf CPU-Shares ein.
zonecfg:lx-zone> set cpu-shares=5 |
Fügen Sie eine Memory Cap hinzu.
zonecfg:lx-zone> add capped-memory |
Richten Sie die Memory Cap ein.
zonecfg:lx-zone:capped-memory> set physical=50m |
Richten Sie eine Memory Cap für den Swap-Speicher ein.
zonecfg:lx-zone:capped-memory> set swap=100m |
Richten Sie eine Memory Cap für den gesperrten Speicher ein.
zonecfg:lx-zone:capped-memory> set locked=30m |
Beenden Sie die Spezifikation.
zonecfg:lx-zone:capped-memory> end |
Fügen Sie ein Dateisystem hinzu.
zonecfg:lx-zone> add fs |
Legen Sie den Einhängepunkt für das Dateisystem fest. Verwenden Sie in diesem Beispiel /export/linux/local.
zonecfg:lx-zone:fs> set dir=/export/linux/local |
Legen Sie fest, dass /opt/local in der globalen Zone als /export/linux/local in der konfigurierten Zone eingehängt wird.
zonecfg:lx-zone:fs> set special=/opt/local |
In der nicht-globalen Zone besteht Schreib- und Lesezugriff für das Dateisystem /export/linux/local.
Geben Sie den Dateisystemtyp an. Verwenden Sie in diesem Beispiel lofs.
zonecfg:lx-zone:fs> set type=lofs |
Der Typ gibt an, wie der Kernel mit dem Dateisystem interagiert.
Beenden Sie die Dateisystemspezifikation.
zonecfg:lx-zone:fs> end |
Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere Dateisysteme hinzuzufügen sind.
Fügen Sie eine virtuelle Netzwerkschnittstelle hinzu.
zonecfg:lx-zone> add net |
Legen Sie die IP-Adresse fest. Verwenden Sie dazu die folgende Syntax: IP-Adresse der Zone/Netzmaske. Verwenden Sie in diesem Beispiel 10.6.10.233/24.
zonecfg:lx-zone:net> set address=10.6.10.233/24 |
Legen Sie den reellen Gerätetyp für die Netzwerkschnittstelle fest. Verwenden Sie in diesem Beispiel das Gerät bge.
zonecfg:lx-zone:net> set physical=bge0 |
Beenden Sie die Spezifikation.
zonecfg:lx-zone:net> end |
Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere Netzwerkschnittstellen hinzuzufügen sind.
Aktivieren Sie mit dem Ressourcentyp attr ein in der globalen Zone vorhandenes Audiogerät für diese Zone.
zonecfg:lx-zone> add attr |
Überprüfen Sie die Zonenkonfiguration der Zone.
zonecfg:lx-zone> verify |
Übernehmen Sie die Zonenkonfiguration für die Zone.
zonecfg:lx-zone> commit |
Beenden Sie den Befehl zonecfg.
zonecfg:lx-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 lx-zone "create -t SUNWlx; set zonepath=/export/home/lx-zone" |
Informationen zur Installation der übernommenen Zonenkonfiguration finden Sie unter Installieren und Booten von lx Branded Zones.
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" || -z "$4" ]]; then echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir> <template zone>" exit 2 fi if [[ ! -d $3 ]]; then echo "$3 is not a directory" exit 1 fi state=`zoneadm -z $4 list -p 2>/dev/null | cut -f 3 -d ":"` if [[ -z "$state" || $state != "installed" ]]; then echo "$4 must be an installed, halted zone" exit 1 fi template_zone=$4 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 clone $template_zone > /dev/null 2>&1 if [ $? != 0 ]; then echo configuring $prefix$i F=$dir/$prefix$i.config rm -f $F echo "create -t SUNWlx" > $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 -s -d /path/to/ISOs > /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 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 |
Die folgenden Abschnitte enthalten Anweisungen zum Bearbeiten, Zurücksetzen oder Entfernen einer Zonenkonfiguration.
So modifizieren Sie einen Ressourcentyp in einer Zonenkonfiguration
Solaris 10 8/07: Zurücksetzen eines Eigenschaftstyps in einer Zonenkonfiguration
In diesem Kapitel werden die folgenden Themen behandelt:
Installieren einer lx-Zone auf einem System
Anhalten, Neustarten und Deinstallieren von Zonen
Klonen einer Zone auf einem System
Der in der Manpage zoneadm ausführlich beschriebene Befehl zoneadm(1M) ist das primäre Werkzeug zum Installieren und Verwalten 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
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 35Installieren, Booten, Anhalten, Deinstallieren und Klonen von lx Branded Zones (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 33Konfigurieren einer lx Branded Zone (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.
Nachdem die Zone erstellt wurde, muss der Zonenadministrator die gesamte Softwarekonfiguration und -verwaltung mithilfe von Linux-Tools innerhalb der Zone ausführen.
Eine lx Branded Zone kann mit einem Tarball, mit CD-ROM- oder DVD-Installationsmedien oder aus einem ISO-Abbild installiert werden. Wenn Sie von Installationsmedien oder einem ISO-Abbild installieren, können Sie die Sun-Paket-Clusterkategorien angeben. Diese Kategorien sind kumulativ. Wenn Sie kein Cluster angeben, lautet die Standardeinstellung desktop.
Tabelle 34–1 Paket-Clusterkategorien
Sun-Kategorie |
Inhalte |
---|---|
core |
Das obligatorische Paketset, das zum Einrichten einer Zone erforderlich ist. |
server |
core plus Server-orientierte Pakete wie z. B. httpd, mailman, imapd und spam-assassin. |
desktop |
server plus Benutzer-orientierte Pakete wie z. B. evolution, gimp, mozilla und openoffice. |
developer |
desktop plus Entwickler-orientierte Pakete wie z. B. bison, emacs, gcc, vim-X11 und viele Pakete zur Entwicklung von Bibliotheken. |
all |
Alles auf dem Installationsmedium, von dem bekannt ist, dass es sich nicht negativ auf die Vorgänge in einer Zone auswirkt. Einige Pakete arbeiten in einer Linux-Zone nicht korrekt. |
Anweisungen zur Installation von konfigurierten lx Branded Zones finden Sie unter So installieren Sie eine lx Branded Zone.
Dieser Abschnitt gilt nur für 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. Die Linux-Zone wird, wie unter So installieren Sie eine lx Branded Zone beschrieben, von der CD, einem ISO-Abbild oder einem Tarball bestückt.
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.
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).
Im Status „ready“ werden die Prozesse zsched und zoneadmd gestartet, mit denen die virtuelle Plattform verwaltet wird.
Der Zonen-Administrationsdaemon zoneadmd ist der wichtigste Prozess zur Verwaltung der virtuellen Plattform einer Zone. Weitere Informationen finden Sie unter Der Daemon zoneadmd.
Der Prozess zsched zur Verwaltung der Anwendungsumgebung wird unter Der Zonen-Scheduler zsched genauer beschrieben.
Die Anwendungsumgebung einer Zone wird mit dem Befehl zoneadm erstellt.
Die gesamte zusätzliche Konfiguration führt der Zonenadministrator mithilfe von Linux-Tools innerhalb der Zone aus.
Das Root-Passwort (Superuser) lautet root, wenn die Zone von einem Sun Tarball aus installiert wurde. Das Root-Passwort (Superuser) ist nicht gesetzt (leer), wenn die Zone von ISO-Abbildern oder von einer CD installiert wurde.
In diesem Abschnitt finden Sie eine Übersicht der Verfahren zum Anhalten, Neustarten, Deinstallieren und Klonen von Zonen.
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
-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.
Bootet die Zone bis zum init-Level s.
Anwendungsbeispiele finden Sie unter So booten Sie eine lx Branded Zone und So booten Sie eine lx Branded Zone im Einzelbenutzermodus.
Weitere Informationen zum Befehl init finden Sie in der Manpage 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.
Damit Zonen automatisch gebootet werden können, muss auch der Zonenservice svc:/system/zones:default aktiviert sein.
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. Weitere Informationen zum Klonen finden Sie unter Klonen einer lx Branded Zone im gleichen System.
Anweisungen zum Booten und Neustarten von Zonen finden Sie unter So booten Sie eine lx Branded Zone und So starten Sie eine lx Branded Zone neu.
In diesem Kapitel wird die Installation und das Booten einer lx Branded Zone beschrieben. Darüber hinaus werden die folgenden Themen angesprochen:
Verwenden eines Klons zur Installation einer Zone auf dem gleichen System
Anhalten, Neustarten und Deinstallieren von Zonen
Entfernen einer Zone von einem System
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Beziehen der Linux-Archive. |
Bevor Sie eine lx Branded Zone installieren können, müssen Sie die Linux-Archive beziehen. | |
Installieren einer konfigurierten lx Branded Zone. |
Installieren einer Zone, die sich im Status „configured“ befindet. | |
(Optional) Installieren eines Teils der verfügbaren Pakete. |
Wenn Sie von CDs oder ISO-Abbildern installieren, können Sie auch nur einen Teil der auf den Installationsmedien befindlichen Pakete installieren. | |
(Optional) Aktivieren der Netzverbindungen in der Zone. |
Die Netzverbindungen sind standardmäßig deaktiviert und müssen explizit aktiviert werden, wenn Sie diese Funktionen nutzen möchten. |
So aktivieren Sie die Netzverbindungen in einer lx Branded Zone |
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. | |
(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) Versetzen einer installierten lxBranded Zone in den Status „ready“ |
Booten einer lx Branded Zone. |
Eine Zone wird durch Booten in den Status „running“ versetzt. Zum Booten muss sich eine Zone im Status „ready“ oder „installed“ befinden. | |
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(1M) genauer beschriebenen Befehl zoneadm führen Sie die Schritte zur Installation einer nicht-globalen Zone durch.
Bevor Sie eine lx Branded Zone installieren können, müssen Sie die Linux-Archive beziehen. Diese Archive werden in den folgenden Formaten verteilt:
Ein komprimiertes tar-Archiv (ein Tarball)
Ein Set CD-ROMs oder DVDs
Eine Gruppe ISO-Abbilder
Die Linux-Distribution können Sie auf folgende Arten beziehen:
Einen Tarball können Sie von http://hub.opensolaris.org/bin/view/Community+Group+brandz/applications herunterladen. Folgen Sie den Anweisungen auf der Download-Seite.
Um ein Set der CD-ROMs oder DVDs zu beziehen, rufen Sie die CentOS-Site unter http://www.centos.org oder die Red Hat-Site unter http://www.redhat.com auf.
Um ein ISO-Abbild zu beziehen, rufen Sie die CentOS-Site unter http://www.centos.org oder die Red Hat-Site unter http://www.redhat.com auf.
Dieses Verfahren wird zur Installation einer konfigurierten lx Branded Zone verwendet. Nachdem die Zone erstellt wurde, muss der Zonenadministrator die gesamte Softwarekonfiguration und -verwaltung mithilfe von Linux-Tools innerhalb der Zone ausführen.
Beispiele für Befehlszeilen zur Zoneninstallation mit unterschiedlichen Distributionspfaden finden Sie unter Beispiel 35–1, Beispiel 35–2 und Beispiel 35–3. Wenn Sie von Installationsmedien oder einem ISO-Abbild installieren, müssen Sie die Sun-Paket-Clusterkategorien angeben. Weitere Informationen zu den Paket-Clusterkategorien finden Sie unter lx Branded Zone – Installationsmethoden.
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. Dieses Verfahren wird unter So überprüfen Sie eine konfigurierte Zone vor der Installation beschrieben.
Für dieses Verfahren müssen Sie als globaler Administrator bei der globalen Zone angemeldet sein.
Wenn sich der zonepath in Schritt 3 auf einem ZFS befindet, erstellt der Befehl zoneadm install während der Installation der Zone automatisch ein ZFS-Dateisystem (Dataset) für den zonepath. Dieses Verhalten können Sie blockieren, indem Sie den Parameter -x nodataset mit aufnehmen.
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) Wenn Sie von einer DVD oder von CDs installieren, aktivieren Sie volfs auf dem System und überprüfen, ob es ausgeführt wird.
global# svcadm enable svc:/system/filesystem/volfs:default |
global# svcs | grep volfs |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
online 17:30 svc:/system/filesystem/volfs:default |
Installieren Sie die konfigurierte Zone lx-zone mit dem Befehl zoneadm und der Option install sowie dem Pfad zum Archiv.
Installieren Sie eine Zone mit automatischer Erstellung eines ZFS-Dateisystems, wenn sich der zonepath auf einem ZFS befindet.
global# zoneadm -z lx-zone install -d archive_path |
Das System zeigt Folgendes an:
A ZFS file system has been created for this zone. |
Installieren Sie eine Zone mit einem zonepath auf dem ZFS, ohne das ZFS-Dateisystem automatisch zu erstellen.
global# zoneadm -z lx-zone install -x nodataset -d archive_path |
Es werden verschiedene Meldungen angezeigt, da die für das Root-Dateisystem der Zone erforderlichen Dateien und Verzeichnisse sowie die Paketdateien unter dem Root-Pfad der Zone installiert sind.
Wenn Sie den Archivpfad nicht angeben, lautet die Standardeinstellung CD.
(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 lx-zone list -iv |
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 lx-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 - lx-zone installed /export/home/lx-zone lx shared |
global# zoneadm -z lx-zone install -d /export/centos_fs_image.tar.bz2 |
Zur Installation von CDs oder DVD muss volfs auf dem System aktiviert sein. Sie müssen ein Software-Cluster-Paket angeben. Verwenden Sie beispielsweise development, um eine vollständige Umgebung zu installieren, oder geben Sie die Namen bestimmter Cluster ein. Wenn Sie kein Cluster-Paket angeben, wird standardmäßig desktop installiert. Das CD-Gerät ist /cdrom/cdrom0.
global# zoneadm -z lx-zone install -d /cdrom/cdrom0 development |
Sie müssen ein Software-Cluster-Paket angeben. Geben Sie development ein, um eine vollständige Umgebung zu installieren, oder geben Sie die Namen bestimmter Cluster ein. Wenn Sie kein Cluster-Paket angeben, wird standardmäßig desktop installiert. Die CentOS ISO-Abbilder befinden sich in dem Verzeichnis /export/centos_3.7.
global# zoneadm -z lx-zone install -d /export/centos_3.7 development |
Weitere Informationen zu Datasets finden Sie im Oracle Solaris ZFS-Administrationshandbuch.
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.
Wenn Sie von CDs oder ISO-Abbildern installieren, können Sie auch nur einen Teil der auf den Installationsmedien befindlichen Pakete installieren. Die verfügbaren Teile sind core, server, desktop, developer und all.
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 nur das Server-Paket:
global# zoneadm -z lx-zone install -d archive_path server |
Wenn Sie eine lx Branded Zone installieren, sind die Netzwerkverbindungen deaktiviert. Zum Aktivieren der Netzwerkverbindungen verwenden Sie ein Verfahren wie das Folgende.
Für dieses Verfahren müssen Sie als Zonenadministrator angemeldet sein.
Bearbeiten Sie die Datei /etc/sysconfig/network in der Zone.
NETWORKING=yes HOSTNAME=your.hostname |
Zum Einrichten einer NIS-Domäne fügen Sie eine Zeile wie die Folgende hinzu:
NISDOMAIN=domain.Sun.COM |
Weitere Informationen zum Konfigurieren der Netzverbindungen und Namen-Services finden Sie in der Dokumentation Ihrer Linux-Distribution.
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:/::native 1:centos38:running:/zones/centos38:27fabdc8-d8ce-e8aa-9921-ad1ea23ab063:lx |
global# zoneadm -z lx-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 - testzone incomplete /export/home/testzone lx shared |
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 Branded 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.
Lesen Sie dazu (Optional) So lassen Sie eine Zone vom Status „installed“ in den Status „ready“ übergehen.
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.
Für dieses Verfahren müssen Sie als globaler Administrator bei der globalen Zone angemeldet sein.
Eine Branded Zone auf einem Trusted Solaris-System, deren Label aktiviert sind, kann nicht gebootet 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.
Geben Sie den Befehl zoneadm mit der Option -z, dem Zonennamen (lx-zone) und dem Unterbefehl boot ein, um die Zone zu booten.
global# zoneadm -z lx-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 lx-zone running /export/home/lx-zone lx shared |
Booten Sie eine Zone mit der Option -i altinit:
global# zoneadm -z lx-zone boot -- -i /path/to/process |
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 lx-zone boot -- -s |
Um sich bei einer Zone anzumelden, lesen Sie die Informationen zur Konfiguration und Anmelden bei einer lx Branded Zone.
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 eine Zone ordnungsgemäß heruntergefahren wird, lesen Sie unter So verwenden Sie den Befehl zlogin zum Herunterfahren einer lx Branded Zone. | |
Neustarten einer Zone. |
Das Neustart-Verfahren hält die Zone an und bootet sie dann neu. | |
Deinstallieren einer Zone. |
Dieses Verfahren entfernt 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. | |
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 von einer lx Branded Zone entfernt. Wie eine Zone ordnungsgemäß heruntergefahren wird, lesen Sie unter „So verwenden Sie den Befehl zlogin zum Herunterfahren einer lx Branded 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.
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 lx-zone running /export/home/lx-zone lx shared |
Geben Sie den Befehl zoneadm mit der Option -z, dem Zonennamen (lx-zone) und dem Unterbefehl halt ein, um die Zone anzuhalten.
global# zoneadm -z lx-zone halt |
Listen Sie die Zonen auf dem System noch einmal auf, um sicherzustellen, dass lx-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 - lx-zone installed /export/home/lx-zone lx shared |
Booten Sie die Zone, wenn Sie sie neu starten möchten.
global# zoneadm -z lx-zone boot |
Falls Wenn die Zone nicht ordnungsgemäß angehalten wurde, finden Sie unter Zone lässt sich nicht anhalten Informationen zur Fehlersuche.
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 lx-zone running /export/home/lx-zone lx shared |
Geben Sie den Befehl zoneadm mit der Option -z reboot ein, um die Zone lx-zone neu zu starten.
global# zoneadm -z lx-zone reboot |
Listen Sie die Zonen auf dem System noch einmal auf, um sicherzustellen, dass lx-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 lx-zone running /export/home/lx-zone lx shared |
Beachten Sie, dass Zonen-ID der Zone lx-zone geändert wurde. Eine Zonen-ID wird nach einem Neustart grundsätzlich geändert.
Dieses Verfahren entfernt alle Dateien aus dem Root-Dateisystem der Zone. Diese Aktion 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 - lx-zone installed /export/home/lx-zone lx shared |
Geben Sie den Befehl zoneadm mit der Option -z uninstall ein, um die Zone lx-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 lx-zone uninstall -F |
Wenn Sie eine Zone deinstallieren, die über ein eigenes ZFS-Dateisystem für den zonepath verfügt, wird das ZFS-Dateisystem zerstört.
Listen Sie die Zonen auf dem System noch einmal auf, um sicherzustellen, dass lx-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. Hierbei werden die Daten vom zonepath einer Quelle in den zonepath eines Ziels kopiert.
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. In diesem Beispiel lx-zone.
global# zoneadm -z lx-zone halt |
Starten Sie das Konfigurieren der neuen Zone durch Exportieren der Quellzonenkonfiguration für lx-zone in eine Datei, z. B. master.
global# zonecfg -z lx-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. Sie müssen zumindest einen anderen zonepath und eine andere IP-Adresse für die neue Zone angeben.
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 lx-zone.
global# zoneadm -z zone1 clone lx-zone |
Das System zeigt Folgendes an:
Cloning zonepath /export/home/lx-zone... |
Listen Sie die Zonen auf dem System auf.
global# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /export/home/lx-zone lx shared - zone1 installed /export/home/zone1 lx shared |
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/lx-zone@SUNWzone1 lx-zone |
Das System zeigt Folgendes an:
Cloning snapshot zeepool/zones/lx-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.
global# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /zeepool/zones/lx-zone lx shared - zone1 installed /zeepool/zones/zone1 lx shared - zone2 installed /zeepool/zones/zone1 lx 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 lx-zone |
Mit dem in diesem Abschnitt beschriebenen Verfahren wird eine Zone vollständig von einem System gelöscht.
Fahren Sie die Zone lx-zone herunter.
global# zlogin lx-zone shutdown -y -g0 -i0 |
Entfernen Sie das Root-Dateisystem für lx-zone.
global# zoneadm -z lx-zone uninstall -F |
Löschen Sie die Konfiguration für lx-zone.
global# zonecfg -z lx-zone delete -F |
Listen Sie die Zonen auf dem System auf, um sicherzustellen, dass lx-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 |
Dieses Kapitel enthält die folgenden Informationen:
Einführende Informationen zur Anmeldung bei einer Zone
Vervollständigen der internen Konfiguration einer installierten lx Branded Zone
Anmelden bei einer Zone von der globalen Zone aus
Herunterfahren der Zone
Verwenden des Befehls zonename zum Drucken des Namens der aktuellen Zone
Mit dem Befehl zlogin melden Sie sich von der globalen Zone aus bei einer beliebigen 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.
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.
Wie unter So verwenden Sie den nicht-interaktiven Modus für den Zugriff auf einelx Branded Zone beschrieben, können Sie den Befehl zlogin im nicht-interaktiven Modus verwenden, indem Sie einen Befehl angegeben, der innerhalb einer Zone ausgeführt werden soll. 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).
Eine Übersicht der Zonenkonsole und der Methoden zur Benutzeranmeldung finden Sie unter Methoden zur Anmeldung bei einer nicht-globalen Zone.
Wenn ein Problem bei der Anmeldung auftritt, so dass Sie nicht mit dem Befehlzlogin oder dem Befehl zlogin mit der Option -C auf die Zone zugreifen können, wird der abgesicherte Modus (Failsafe) verwendet. Eine Beschreibung dieses Modus finden Sie unter Failsafe-Modus.
Informationen zur remoten Anmeldezone finden Sie unter Remote-Anmeldung.
Der interaktive Modus weist ein neues Pseudo-Terminal für die Verwendung innerhalb der Zone zu. Der nicht-interaktive Modus dient zum Ausführen von Shell-Skripten, mit denen die Zone verwaltet wird. Weitere Informationen finden Sie unter Interaktive und nicht-interaktive Modi.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
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 Branded Zone. |
Trennen der Verbindung mit einer Branded Zone. | |
Herunterfahren einer Branded Zone. |
Herunterfahren einer Branded Zone, indem Sie das Dienstprogramm shutdown oder ein Skript ausführen. |
So verwenden Sie den Befehl zlogin zum Herunterfahren einer lx Branded Zone |
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, z. B. lx-zone, ein.
global# zlogin -C lx-zone [Connected to zone 'lx-zone' console] |
Wenn Sie die zlogin-Sitzung unmittelbar nach Eingabe des Befehls zoneadm boot starten, werden die Boot-Meldungen der Zone angezeigt:
INIT: version 2.85 booting Welcome to CentOS Press 'I' to enter interactive startup. Configuring kernel parameters: [ OK ] Setting hostname lx-zone: [ OK ] [...] CentOS release 3.6 (Final) Kernel 2.4.21 on an i686 |
Wenn die Zonenkonsole angezeigt wird, melden Sie sich als root an, drücken die Eingabetaste und geben nach der Aufforderung das Root-Passwort ein.
lx-zone console login: root Password: |
Das Root-Passwort (Superuser) lautet root, wenn die Zone von einem Sun-Tarball installiert wurde. Das Root-Passwort (Superuser) ist nicht gesetzt (leer), wenn die Zone von ISO-Abbildern oder von einer CD installiert wurde.
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 an. Verwenden Sie in diesem Beispiel lx-zone.
global# zlogin lx-zone |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
[Connected to zone 'lx-zone' pts/2] Last login: Wed Jul 3 16:25:00 on console Sun Microsystems Inc. SunOS 5.10 Generic July 2006 |
Geben Sie exit ein, um die Verbindung zu beenden.
Eine Meldung ähnlich der Folgenden wird angezeigt:
[Connection to zone 'lx-zone' pts/2 closed] |
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 Zone an. Verwenden Sie in diesem Beispiel lx-zone.
global# zlogin lx-zone |
Überprüfen Sie, ob Sie in einer Linux-Umgebung unter dem Betriebssystem Solaris arbeiten.
[root@lx-zone root]# uname -a |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
Linux lx-zone 2.4.21 BrandZ fake linux i686 i686 i386 GNU/Linux |
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 lx-zone an und geben Sie einen Befehlsnamen ein.
Ersetzen Sie „Befehl“ durch den Namen des Befehls, der in der Zone ausgeführt werden soll.
global# zlogin lx-zone command |
global# zlogin lx_master uptime 21:16:01 up 2:39, 0 users, load average: 0.19, 0.13, 0.11 fireball# |
Weitere Informationen zu den Optionen des Befehls zlogin finden Sie in der Manpage 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 den Befehl zlogin mit der Option -S von der globalen Zone aus ein, um auf die Zone (z. B. lx-zone ) zuzugreifen.
global# zlogin -S lx-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 an (z. B. lx-zone), und geben Sie shutdown als Namen des Dienstprogramms sowie „init 0“ als Status ein.
global# zlogin lx-zone shutdown -y -g0 -i0 |
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 6214427.
Sie können sich, wie unter So verwenden Sie den interaktiven Modus für den Zugriff auf eine Branded Zone beschrieben, interaktiv anmelden.
In diesem Kapitel wird Folgendes beschrieben:
Das Verschieben einer vorhandenen lx Branded Zone an einem neuen Speicherort auf dem gleichen Computer.
Überprüfen der voraussichtlichen Vorgänge bei der Migration einer lx Branded Zone, bevor die tatsächliche Migration ausgeführt wird.
Migrieren einer bestehenden lx Branded Zone auf einen neuen Computer.
Mit diesem Verfahren verschieben Sie eine Zone an einen neuen Speicherort auf dem gleichen System, indem Sie den zonepath ändern. Die Zone muss angehalten sein. Der neue zonepath muss sich auf einem lokalen Dateisystem befinden. Es gelten die normalen, unter Ressourcen- und Eigenschaftentypen beschriebenen zonepath-Kriterien.
Melden Sie sich als Superuser an oder nehmen Sie die Rolle des Primäradministrators an.
Rollen sind unter Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration beschrieben.
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.
global# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /export/home/lx-zone lx shared - db-zone installed /export/zones/db-zone lx shared |
Mit den Befehlen zonecfg und zoneadm können Sie eine vorhandene nicht-globale Zone von einem System zu einem anderen migrieren. Die Zone wird angehalten und vom aktuellen Hostcomputer gelöst. Der zonepath wird auf den Zielhost verschoben und dort angehängt.
Für die Migration einer lx Branded Zone gelten die folgenden Anforderungen:
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.
Das Brand muss auf Originalhost und Zielsystem identisch sein.
Das Zielsystem muss mit einem der folgenden unterstützten i686-Prozessortypen ausgestattet sein:
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.
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 lx-zone.
host1# zoneadm -z lx-zone halt |
Trennen Sie die Zone.
host1# zoneadm -z lx-zone detach |
Die getrennte Zone befindet sich jetzt in Status „configured“.
Verschieben Sie den zonepath für lx-zone zum neuen Host.
Weitere Informationen finden Sie unter So verschieben Sie den zonepath auf einen neuen Host.
Konfigurieren Sie die Zone auf dem neuen Host.
host2# zonecfg -z lx-zone |
Die folgende Systemmeldung wird angezeigt:
lx-zone: No such zone configured Use 'create' to begin configuring a new zone. |
Geben Sie den Befehl zonecfg mit der Option -a und dem zonepath auf dem neuen Host ein, um die Zone lx-zone auf dem neuen Host zu erstellen.
zonecfg:lx-zone> create -a /export/zones/lx-zone |
Zeigen Sie die Konfiguration an.
zonecfg:lx-zone> info zonename: lx-zone zonepath: /export/zones/lx-zone brand: lx autoboot: false bootargs: pool: limitpriv: net: address: 192.168.0.90 physical: bge0 |
(Optional) Nehmen Sie ggf. erforderliche Änderungen an der Konfiguration vor.
Beispielsweise könnte das reelle Netzwerkgerät auf dem neuen Host anders sein, oder in der Konfiguration vorhandene Geräte haben andere Namen auf dem neuen Host.
zonecfg:lx-zone> select net physical=bge0 zonecfg:lx-zone:net> set physical=e1000g0 zonecfg:lx-zone:net> end |
Übernehmen Sie die Konfiguration und beenden Sie.
zonecfg:lx-zone> commit zonecfg:lx-zone> exit |
Hängen Sie die Zone auf dem neuen Host an.
Hängen Sie die Zone mit einer Validierungsprüfung an.
host2# zoneadm -z lx-zone attach |
Wenn eine oder beide der folgenden Bedingungen zutreffen, wird der Systemadministrator über die erforderlichen Maßnahmen informiert:
Erforderliche Pakete und Patches sind nicht auf dem neuen Computer vorhanden.
Die Software-Level der beiden Computer weichen voneinander ab.
Erzwingen Sie das Anhängen, ohne eine Überprüfung durchzuführen.
host2# zoneadm -z lx-zone attach -F |
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 lx-zone.tar lx-zone host1# sftp host2 Connecting to host2... Password: sftp> cd /export/zones sftp> put lx-zone.tar Uploading lx-zone.tar to /export/zones/lx-zone.tar sftp> quit |
Entpacken Sie die tar-Datei auf host2.
host2# cd /export/zones host2# tar xf lx-zone.tar |
Weitere Informationen finden Sie in sftp(1) und tar(1).
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.
Der Benutzer muss sicherstellen, dass der Prozessortyp im neuen Computer unterstützt wird. Weitere Informationen finden Sie unter Allgemeine Informationen zum Migrieren einer lx Branded Zone.
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 einem Ausgangs-Host namens lx-zone und verknüpfen Sie diese Ausgabe mithilfe einer Pipe mit einem Befehl auf dem Zielsystem, das den Ziel-Host sofort validiert:
global# zoneadm -z lx-zone detach -n | ssh remotehost zoneadm attach -n - |
Der Bindestrich (—) am Ende der Zeile gibt stdin als Pfad an.
Erstellen Sie das Manifest auf einem Ausgangs-Host namens lx-zone und leiten Sie die Ausgabe in eine Datei um:
global# zoneadm -z lx-zone detach -n |
Kopieren Sie das Manifest auf das neue Hostsystem (siehe So verschieben Sie den zonepath auf einen neuen Host) und führen Sie den Test durch:
global# zoneadm attach -n path_to_manifest |
Mithilfe des Bindestrichs (—) kann stdin als Pfad angegeben werden.
Dieses Kapitel enthält Informationen zum Ausführen von Anwendungen in einer lx Branded Zone.
Durch die Installation einer Zone mit einer unterstützten CentOS oder Red Hat Enterprise Linux-Distribution haben Sie eine unterstützte Zone erstellt. Wenn Sie dieser Zone dann Pakete aus unterschiedlichen Versionen hinzufügen, besteht die Möglichkeit, dass Sie eine Branded Zone erstellen, die nicht unterstützt werden kann.
Für dieses Verfahren müssen Sie als Zonenadministrator bei der lx Branded Zone angemeldet sein.
Das Aufrüsten einer CentOS 3.x-Distribution auf eine andere Version erfolgt mithilfe der Befehle yum upgrade oder up2date.
Anweisungen hierzu finden Sie in der Dokumentation unter http://www.centos.org.
Für dieses Verfahren müssen Sie als Zonenadministrator bei der lx Branded Zone angemeldet sein.
Das Aktualisieren einer Red Hat Enterprise Linux 3.x-Distribution auf eine andere Version erfolgt mithilfe des Befehls up2date.
Anweisungen hierzu finden Sie in der Dokumentation unter http://www.redhat.com.
Für dieses Verfahren müssen Sie als Zonenadministrator bei der lx Branded Zone angemeldet sein.
yum:
Fedora Documentation-Site
yum.conf(5 )
yum(8)
rpm:
Lesen Sie hierzu How do I install or upgrade an RPM package? unter https://access.redhat.com/kb/FAQ_35_198.shtm.
rpm(8)
Anwendungen werden wie auf einem Linux-System installiert: durch Einhängen der CD und Ausführen des Installationsprogramms. In diesem Kapitel wird die Installation einer typischen Anwendung in einer lx Branded Zone beschrieben.
Wenn Sie im Voraus wissen, dass CDs oder DVDs zur Installation der Anwendungen in einer lx Branded Zone verwenden werden, stellen Sie bei der Erstkonfiguration der Branded Zone schreibgeschützten Zugriff auf CD- oder DVD-Medien in der globalen Zone ein. Lesen Sie dazu Schritt 7 unter So installieren Sie MATLAB 7.2 mithilfe von CDs.
MATLAB ist eine höhere Programmiersprache und eine interaktive Umgehung, mit der Sie rechenintensive Aufgaben schnell ausführen können. Dieses Produkt wurde von MathWorks entwickelt. Weitere Informationen finden Sie unter http://www.mathworks.com.
Beziehen Sie die MATLAB 7.2-CDs.
Das MATLAB/Simulink-Paket umfasst drei CDs. Für eine einfache MATLAB-Installation sind nur die CDs 1 und 3 erforderlich.
Erstellen und installieren Sie eine lx Branded Zone gemäß der Beschreibung unter So konfigurieren, prüfen und übernehmen Sie eine lx Branded Zone und Installieren und Booten von lx Branded Zones.
Falls 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 |
Testen Sie, ob die CD automatisch eingehängt wird.
global# ls /cdrom |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
cdrom cdrom1 mathworks_2006a1 |
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 lx-zone zonecfg:lx-zone> add fs zonecfg:lx-zone:fs> set dir=/cdrom zonecfg:lx-zone:fs> set special=/cdrom zonecfg:lx-zone:fs> set type=lofs zonecfg:lx-zone:fs> add options [ro,nodevices] zonecfg:lx-zone:fs> end zonecfg:lx-zone> commit zonecfg:lx-zone> exit |
Booten Sie die nicht-globale Zone neu.
global# zoneadm -z lx-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 lx-zone running /export/home/lx-zone lx shared |
Melden Sie sich bei der lx-Zone an.
global# zlogin lx-zone |
Überprüfen Sie den CD-ROM-Mount.
lx-zone# ls /cdrom |
Auf dem Bildschirm sollte in etwa Folgendes angezeigt werden:
cdrom cdrom1 mathworks_2006a1 |
Erstellen Sie die Lizenzdatei gemäß der Beschreibung in der MATLAB-Dokumentation.
Installieren Sie das Produkt gemäß der Beschreibung im Produkt-Installationshandbuch.
lx-zone# /mnt/install |
Beenden Sie die Zone.
lx-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 lx-zone zonecfg:lx-zone> remove fs dir=/cdrom zonecfg:lx-zone> commit zonecfg:lx-zone> exit |
Beachten Sie, dass diese Methode erheblichen Festplattenspeicher belegt.
Beziehen Sie die MATLAB 7.2-CDs.
Das MATLAB/Simulink-Paket umfasst drei CDs. Für eine einfache MATLAB-Installation sind nur die CDs 1 und 3 erforderlich.
Erstellen und installieren Sie eine lx Branded Zone gemäß der Beschreibung unter So konfigurieren, prüfen und übernehmen Sie eine lx Branded Zone und Installieren und Booten von lx Branded Zones.
Kopieren Sie die Daten von jeder CD in eine .iso-Datei.
global# /usr/bin/dd if=/dev/rdsk/c1d0s2 of=disk1.iso |
Mit diesem Befehl werden die Daten von der ersten CD in die Dateidisk1.iso kopiert. Wiederholen Sie diesen Schritt für die dritte CD, und verwenden Sie dabei einen Dateinamen wie z. B. disk3.iso.
Hängen Sie die .iso-Datei von der globalen Zone aus als lofi-Mount in der lx-Zone ein.
global# lofiadm -a /zpool/local/disk1.iso global# mount -F hsfs /dev/lofi/1 /zones/lx-zone/root/mnt |
Melden Sie sich bei der lx-Zone an.
global# zlogin lx-zone |
Verwenden Sie das X-Forwarding, um die Anzeige auf den Desktop umzuleiten:
lx-zone# ssh -X root@lx-zone |
Erstellen Sie die Lizenzdatei gemäß der Beschreibung in der MATLAB-Dokumentation.
Installieren Sie das Produkt gemäß der Beschreibung im Produkt-Installationshandbuch.
lx-zone# /mnt/install |
Wenn Sie zum Einlegen der CD 3 aufgefordert werden, wechseln Sie zum Terminal-Fenster der globalen Zone zurück und hängen die Datei disk3.iso anstelle der ersten ein.
global# umount /zones/lx-zone/root/mnt global# lofiadm -d /dev/lofi/1 global# lofiadm -a /zpool/local/disk3.iso global# mount -F hsfs /dev/lofi/1 /zones/lx-zone/root/mnt |
Die Installation wird fertig gestellt.
Informationen zum Sichern einer Zone finden Sie unter Allgemeine Informationen zum Sichern eines Solaris-Systems mit installierten Zonen, Festlegen der in nicht-globalen Zonen zu sichernden Daten, Allgemeine Informationen zum Wiederherstellen von nicht-globalen Zonen und Wiederherstellen einer nicht-globalen Zone.
In einer lx Branded Zone wird nur die Shared IP-Netzwerkkonfiguration unterstützt.
Der Befehl chroot wird in einer Linux-Zone nicht unterstützt. Wenn der Befehl in einem Prozess verwendet wird, sieht dieser Prozess die zur Ausführung erforderlichen Solaris-Bibliotheken nicht mehr.
Obwohl Sie lx Branded Zones auf einem Trusted Solaris-System mit aktivierten Labels konfigurieren und installieren können, ist das Booten von lx Branded Zones bei dieser Systemkonfiguration nicht möglich.
Mit der Ressourceneigenschaft fs des Befehls zonecfg können keine lokalen Linux-Dateisysteme hinzugefügt werden.