In diesem Abschnitt werden die erforderlichen und optionalen Zonenkomponenten beschrieben, die in eine Konfiguration einbezogen werden können. Weitere Informationen finden Sie unter Konfigurationsdaten in einer Zone.
Sie müssen einen Namen und einen Pfad für die Zone angeben.
Mit einer Einstellung für die Eigenschaft autoboot können Sie festlegen, ob eine Zone bei einem Neustart der globalen Zone automatisch gebootet wird. Der Zones-Service svc:/system/zones:default muss ebenfalls aktiviert werden.
Wenn, wie in Kapitel 13Erstellen und Verwalten von Resource Pools (Vorgehen) beschrieben, Resource Pools auf dem System konfiguriert sind, können Sie die Eigenschaft pool beim Konfigurieren der Zone verwenden, um die Zone zu einem der Resource Pools zuzuordnen.
Ab dem Solaris-Release 10 8/07 können Sie mit der Ressource dedicated-cpu angeben, dass ein Teil der Systemprozessoren für eine nicht-globale Zone zugewiesen wird. Dies gilt auch dann, wenn keine Ressourcen-Pools konfiguriert wurden. Während der Ausführung der Zone erstellt das System dynamisch einen temporären Pool. Durch die Angaben mithilfe von zonecfg werden die Pool-Einstellungen bei Migrationen übernommen.
Eine Zonenkonfiguration, die ein persistentes, mit der Eigenschaft pool eingerichtetes Pool-Set verwendet, ist nicht mit einem temporären Pool kompatibel, der mit der Ressource dedicated-cpu eingerichtet wurde. Sie können nur eine dieser beiden Eigenschaften einrichten.
Mit der Ressource dedicated-cpu legen Sie fest, dass ein Teil der Systemprozessoren ausschließlich einer nicht-globale Zone zugewiesen wird, solange diese ausgeführt wird. Beim Booten der Zone erstellt das System dynamisch einen temporären Pool, der solange verwendet wird, wie die Zone ausgeführt wird.
Durch die Angaben in zonecfg werden die Pool-Einstellungen bei Migrationen übernommen.
Die Ressource dedicated-cpu legt Grenzwerte für ncpus und optional für importance fest.
Geben Sie die Anzahl der CPUs oder einen Bereich an, z. B. 2–4 CPUs. Wenn Sie einen Bereich angeben, um das Verhalten eines Dynamic Resource Pool umzusetzen, müssen Sie auch Folgendes ausführen:
Richten Sie die Eigenschaft importance ein.
Aktivieren Sie den Service poold. Anweisungen hierzu finden Sie unter Solaris 10 11/06 und höher: So aktivieren Sie die Dynamic Resource Pools mit dem Befehl svcadm.
Wenn Sie einen CPU-Bereich verwenden, um ein dynamisches Verhalten zu implementieren, müssen Sie die Eigenschaft importance einrichten. Die Eigenschaft importance ist optional und definiert die relative Wichtigkeit des Pools. Diese Eigenschaft ist nur dann erforderlich, wenn Sie einen Bereich für ncpus angeben und Dynamic Resource Pools verwenden, die mit poold verwaltet werden. Wenn poold nicht ausgeführt wird, wird importance ignoriert. Wenn poold ausgeführt wird und importance nicht eingestellt ist, nimmt importance automatisch den Standardwert 1 an. Weitere Informationen finden Sie unter pool.importance-Eigenschafteneinschränkung.
Die Ressourcen capped-cpu und dedicated-cpu sind nicht miteinander kompatibel. Die Resource Control cpu-shares und die Ressource dedicated-cpu sind nicht miteinander kompatibel.
Die Ressource capped-cpu gibt einen absoluten, fein abgestimmten Grenzwert für die CPU-Ressourcen an, die von einem Projekt bzw. einer Zone beansprucht werden können. In Verbindung mit Prozessor-Sets beschränken CPU-Ressourcengrenzwerte (CPU-Caps) die CPU-Beanspruchung innerhalb eines Sets. Die Ressource capped-cpu besitzt eine Eigenschaft (ncpus). Diese ist eine positive Dezimalzahl mit Stellen rechts vom Dezimalpunkt. Diese Eigenschaft entspricht CPU-Einheiten. Sie können für diese Eigenschaft keinen Bereich und keine Dezimalzahl größer als 1 angeben. Wenn Sie für ncpus den Wert 1 eingeben, bedeutet dies die Beanspruchung von 100 Prozent der CPU-Ressourcen. Der Wert 1.25 bedeutet 125 Prozent, da 100 Prozent der kompletten Auslastung einer CPU auf dem System entspricht.
Die Ressourcen capped-cpu und dedicated-cpu sind nicht miteinander kompatibel.
Mit dem Fair Share Scheduler (FSS) steuern Sie die Zuordnung von verfügbaren CPU-Ressourcen zwischen den Zonen. Die Zuordnung erfolgt dabei nach der Wichtigkeit der Zonen. Diese Wichtigkeit einer Arbeitslast wird durch die Anzahl der Shares (Anteile) an CPU-Ressourcen ausgedrückt, die Sie jeder Zone zuweisen. Auch wenn Sie FSS nicht zur Verwaltung der CPU-Ressourcenzuordnung zwischen den Zonen einsetzen, können Sie die Scheduling-Klasse der Zone zum Verwenden von FSS einrichten, so dass Sie Shares für die Projekte innerhalb der Zone zuordnen können.
Wenn Sie die Eigenschaft cpu-shares explizit setzen, wird der Fair Share Scheduler (FSS) als Scheduling-Klasse für diese Zone verwendet. Normalerweise wird der FSS mit dem Befehl dispadmin als standardmäßige Scheduling-Klasse eingerichtet. Auf diese Weise erhalten alle Zonen einen gleich großen Anteil der CPU-Ressourcen des Systems. Wenn cpu-shares für eine Zone nicht gesetzt wurde, verwendet die Zone standardmäßig die Scheduling-Klasse des Systems. Die Scheduling-Klasse einer Zone wird mit den folgenden Methoden eingerichtet:
Im Solaris-Release 10 8/07 können die Eigenschaft scheduling-class in zonecfg verwenden, um die Scheduling-Klasse der Zone einzustellen.
Sie können die Scheduling-Klasse für eine Zone mithilfe der Resource-Pools-Funktion einrichten. Wenn die Zone einem Pool zugeordnet ist, deren Eigenschaft pool.scheduler auf eine gültige Scheduling-Klasse gesetzt ist, werden in der Zone laufende Prozesse standardmäßig in dieser Scheduling-Klasse ausgeführt. Lesen Sie dazu Einführung in Resource Pools und So ordnen Sie einen Pool einer Scheduling-Klasse zu.
Wenn die Resource Control cpu-shares gesetzt ist und der FSS nicht über eine andere Aktion als Scheduling-Klasse für die Zone eingerichtet wurde, stellt zoneadmd den FSS beim Booten der Zone als Scheduling-Klasse ein.
Die Zone erbt die standardmäßige Scheduling-Klasse des Systems, sofern sie nicht über eine andere Aktion eingestellt wurde.
Mit dem in der Manpage priocntl(1) beschriebenen Befehl priocntl können Sie laufende Prozesse in eine andere Scheduling-Klasse verschieben, ohne dass die standardmäßige Scheduling-Klasse geändert oder das System neu gebootet werden muss.
Die Ressource capped-memory legt Grenzwerte für den reellen (physical), ausgelagerten (swap) und gesperrten (locked) Speicher fest. Jeder Grenzwert ist optional, es muss aber mindestens ein Grenzwert eingerichtet sein.
Legen Sie Werte für diese Ressource fest, wenn Sie den Speicher für die Zone von der globalen Zone aus mit dem Befehl rcapd begrenzen möchten. Die Eigenschaft physical der Ressource capped-memory wird von rcapd als max-rss-Wert für die Zone verwendet.
Die Resource Control zone.max-swap wird primär über die Eigenschaft swap der Ressource capped-memory eingerichtet.
Die Resource Control zone.max-locked-memory wird primär über die Eigenschaft locked der Ressource capped-memory eingerichtet.
Anwendungen sperren im Allgemeinen keine bedeutenden Speichermengen. Sie können jedoch das Sperren von Speicher einrichten, wenn bekannt ist, dass die Anwendungen der Zone normalerweise Speicher sperren. Wenn die Vertrauenswürdigkeit einer Zone von Bedeutung ist, können Sie die Memory Cap für gesperrten Speicher auch auf 10 Prozent des reellen Speichers des Systems oder auf 10 Prozent der Memory Cap für den reellen Speicher der Zone einschränken.
Weitere Informationen finden Sie in Kapitel 10Einführung in die Steuerung des reellen Arbeitsspeichers mithilfe des Resource Capping Daemons, Kapitel 11Verwalten des Resource Capping Daemons (Vorgehen) und in der Manpage So konfigurieren Sie die Zone. Weitere Informationen zum Festlegen einer temporären Resource Cap für eine Zone finden Sie unter So legen Sie eine temporäre Resource Cap für eine Zone fest.
Mit dem Befehl zonecfg konfigurierte Netzwerkschnittstellen für Zonen sorgen für die Netzwerkverbindungen und werden beim Booten automatisch in einer Zone eingerichtet.
Die Internet Protocol (IP)-Schicht akzeptiert Pakete und liefert sie im Netzwerk aus. Diese Schicht umfasst IP-Routing, das Address Resolution Protocol (ARP), die IP-Sicherheitsarchitektur (IPsec) und IP-Filter.
Für nicht-globale Zonen stehen die IP-Typen Shared IP und Exclusive IP zur Verfügung. In der Shared IP-Zone wird eine Netzwerkschnittstelle gemeinsam genutzt, während die Exclusive IP-Zone muss über eine dedizierte Netzwerkschnittstelle verfügen muss.
Informationen zu den IP-Funktionen jedes Typs finden Sie unter Netzwerkverbindungen in nicht-globalen Shared IP-Zonen und Solaris 10 8/07: Netzwerkverbindungen in nicht-globalen Exclusive IP-Zonen.
Die Shared IP-Zone ist der Standardtyp. Die Zone muss über mindestens eine dedizierte IP-Adresse verfügen. Eine Shared IP-Zone nutzt die Konfiguration und den Status der IP-Schicht gemeinsam mit der globalen Zone. Die Zone muss die Shared IP-Instanz verwenden, wenn die beiden folgenden Bedingungen zutreffen:
Die Zone ist mit dem gleichen Data-Link verbunden, d. h., sie befindet sich im gleichen IP-Teilnetz bzw. in den gleichen Teilnetzen wie die globale Zone.
Sie benötigen keine der Merkmale, die eine Exclusive IP-Zone bietet.
Shared IP-Zonen werden mit dem Befehl zonecfg eine oder mehrere IP-Adressen zugewiesen. Die Data-Link-Namen müssen ebenfalls in der globalen Zone konfiguriert werden.
Diese Adressen werden mithilfe von logischen Netzwerkschnittstellen zugeordnet. Mit dem Befehl ifconfig können die logischen Schnittstellen in einer laufenden Zone von der globalen Zone aus hinzugefügt oder entfernt werden. Weitere Informationen finden Sie unter Shared IP-Netzwerkschnittstellen.
In einer Exclusive IP-Zone stehen alle Funktionen der IP-Schicht zur Verfügung.
Eine Exclusive IP-Zone verfügt über einen eigenen IP-orientierten Status.
Hierzu gehört die Fähigkeit, die folgenden Funktionen einer Exclusive IP-Zone zu nutzen:
Statusfreie automatische Konfiguration von Adressen unter DHCPv4 und IPv6
IP-Filter, einschließlich Funktionen zur Network Address Translation (NAT)
ndd zum Einstellen der TCP/UDP/SCTP- und IP/ARP-Level knobs
IP Security (IPsec) und Internet Key Exchange (IKE), das die Bereitstellung von authentifizierten Schlüsseln für die IPsec-Sicherheitszuweisung automatisiert
Eine Exclusive IP-Zone erhält mit dem Befehl zonecfg ein eigenes Data-Link-Set. Die Zone erhält einen Data-Link-Name wie z. B. xge0, e1000g1 oder bge32001. Dazu wird die Eigenschaft physical der net-Ressourcen verwendet. Die Eigenschaft address der net-Ressource ist nicht gesetzt.
Beachten Sie, dass die zugewiesene Data-Link das Verwenden des Befehls snoop möglich macht.
Der Befehl dladm kann zusammen mit dem Unterbefehl show-linkprop verwendet werden, um die Zuweisung von Data-Links zu laufenden Exclusive IP-Zonen anzuzeigen. Der Befehl dladm kann zusammen mit dem Unterbefehl set-linkprop verwendet werden, um laufenden Zonen zusätzliche Data-Links zuzuweisen. Anwendungsbeispiele finden Sie unter Solaris 10 8/07: Verwalten von Data-Links in nicht-globalen Exclusive IP-Zonen.
Innerhalb einer laufenden Exclusive IP-Zone kann der Befehl ifconfig zum Konfigurieren der IP-Funktionen verwendet werden. Hierzu gehört die Möglichkeit, logische Schnittstellen hinzuzufügen oder zu entfernen. Die IP-Konfiguration in einer Zone kann mithilfe von sysidtools, das unter sysidcfg(4) beschrieben wird, auf die gleiche Weise wie für die globale Zone eingerichtet werden.
Die IP-Konfiguration einer Exclusive IP-Zone kann nur von der globalen Zone aus mit dem Befehl zlogin angezeigt werden. Ein Beispiel:
global# zlogin zone1 ifconfig -a |
In einer Shared IP-Zone können weder die Anwendungen in einer Zone noch der Superuser Pakete mit anderen Quell-IP-Adressen als denen senden, die der Zone mit dem Dienstprogramm zonecfg zugewiesen wurden. Dieser Zonentyp hat keinen Zugriff zum Senden und Empfangen von zufälligen Data-Link-Paketen (Schicht 2).
Bei einer Exclusive IP-Zone gewährt zonecfg stattdessen die gesamten angegebene Data-Link für die Zone. Somit kann der Superuser in einer Exclusive IP-Zone genauso wie in der globalen Zone Spoofing-Pakete über diese Data-Links versenden.
Die Shared IP-Zonen nutzen die IP-Schicht immer gemeinsam mit der globalen Zone, die Exclusive IP-Zonen hingegen verfügen immer über ihre eigene Instanz der IP-Schicht. Shared IP-Zonen und Exclusive IP-Zonen können gemeinsam auf dem gleichen Computer eingesetzt werden.
Im Allgemeinen umfassen die in einer Zone eingehängten Dateisysteme Folgendes:
Die beim Initialisieren der virtuellen Plattform eingehängten Dateisystemsets
Die innerhalb der Anwendungsumgebung eingehängten Dateisystemsets
Dies kann z. B. die folgenden Dateisysteme umfassen:
Dateisysteme, die in der Datei /etc/vfstab einer Zone angegeben sind
AutoFS- und AutoFS-ausgelöste Mounts
Mounts, die explizit von einem Zonenadministrator durchgeführt werden
Für Mounts, die innerhalb einer Anwendungsumgebung eingehängt werden, gelten bestimmte Einschränkungen. Diese Einschränkungen verhindern, dass der Zonenadministrator Services für das restliche System verweigert oder Einstellungen trifft, die sich negativ auf andere Zonen auswirken.
Für das Einhängen bestimmter Dateisysteme innerhalb einer Zone gelten Sicherheitseinschränkungen. Einige Dateisysteme zeigen ein besonderes Verhalten, wenn sie in einer Zone eingehängt werden. Weitere Informationen finden Sie unter Dateisysteme und nicht-globale Zonen.
Der Befehl zonecfg verwendet ein Rule Matching-System, um festzulegen, welche Geräte in einer bestimmten Zone erscheinen müssen. Geräte, die einer der Regeln entsprechen, werden in das Dateisystem /dev der Zone aufgenommen. Weitere Informationen finden Sie unter So konfigurieren Sie die Zone.
Sie können eine hostid-Eigenschaft für die nicht-globale Zone einstellen, die sich von der hostid der globalen Zone unterscheidet. Dies ist sinnvoll, wenn ein physischer Rechner mit der P2V-Funktion in einer Zone konsolidiert wird. Anwendungen, die sich jetzt innerhalb der Zone befinden, können von der ursprünglichen hostid abhängen und die Anwendungskonfiguration kann möglicherweise nicht aktualisiert werden. Weitere Informationen finden Sie unter Ressourcen- und Eigenschaftentypen.
Der globale Administrator kann privilegierte zonenweite Resource Controls für eine Zone einrichten. Zonenweite Resource Controls schränken die gesamte Ressourcennutzung aller Prozesseinheiten innerhalb einer Zone ein.
Diese Grenzwerte werden mit dem Befehl zonecfg sowohl für die globale Zone als auch für nicht-globale Zonen eingerichtet. Lesen Sie dazu So konfigurieren Sie die Zone.
Ab dem Solaris-Release 10 8/07 lassen sich zonenweite Resource Controls einfacher einrichten, indem Sie den Eigenschaftennamen anstelle der Ressource rctl verwenden.
Solaris 10 5/08: Die Resource Control zone.cpu-cap gibt einen absoluten Grenzwert an CPU-Ressourcen an, die von einer Zone beansprucht werden können. Der Wert 100 gibt als Einstellung von project.cpu-cap die 100-prozentige Beanspruchung der Ressourcen einer CPU an. Der Wert 1.25 bedeutet 125 Prozent, da 100 Prozent der kompletten Auslastung einer CPU auf einem System mit CPU-Ressourcengrenzwerten (CPU-Caps) entspricht.
Die Ressource capped-cpu muss eine Dezimalzahl sein. Der Wert entspricht der Resource Control zone.capped-cpu , wird jedoch um den Faktor 100 heruntergesetzt. Der Wert 1 entspricht dem Wert 100 der Resource Control.
Die Resource Control zone.cpu-shares legt einen Grenzwert für die Anzahl der Fair Share Scheduler (FSS) CPU-Shares für eine Zone fest. CPU-Shares werden zunächst der Zone zugeordnet und dann gemäß den Einträgen in project.cpu-shares weiter zwischen den Projekten in einer Zone aufgeteilt. Weitere Informationen finden Sie unter Verwenden des Fair Share Scheduler auf einem Solaris-System mit installierten Zonen. Der globale Eigenschaftenname für diese Resource Control lautet cpu-shares.
Die Resource Control zone.max-locked-memory begrenzt den gesperrten reellen Speicher, der eine Zone zur Verfügung steht. Die Zuordnung der gesperrten Speicherressourcen zu Projekten innerhalb einer Zone wird über die Resource Control project.max-locked-memory gesteuert. Weitere Informationen finden Sie in Tabelle 6–1.
Die Resource Control zone.max-lwps verbessert die Ressourcenisolierung, indem Sie verhindert, dass sich zu viele LWPs in einer Zone negativ auf andere Zonen auswirken. Die Zuordnung der LWP-Ressourcen zu den Projekten in einer Zone wird über die Resource Control project.max-lwps gesteuert. Weitere Informationen finden Sie in Tabelle 6–1. Der globale Eigenschaftenname für diese Resource Control lautet max-lwps.
Die Resource Controls zone.max-msg-ids, zone.max-sem-ids, zone.max-shm-ids und zone.max-shm-memory dienen zum Begrenzen der System V-Ressourcen, die von allen Prozessen in einer Zone genutzt werden. Die Zuordnung von System V-Ressourcen zu Projekten in einer Zone kann mithilfe der Projektversionen dieser Resource Controls gesteuert werden. Die globalen Eigenschaftennamen dieser Resource Controls lauten max-msg-ids, max-sem-ids, max-shm-ids und max-shm-memory .
Die Resource Control zone.max-swap begrenzt den Swap-Bereich, der von Benutzerprozess-Adressraumzuordnungen und tmpfs-Mounts innerhalb einer Zone verwendet wird. Die Ausgabe von prstat -Z zeigt eine SWAP-Spalte an. Der angezeigte Swap-Bereich ist der gesamte Swap-Bereich, der von den Prozessen der Zone und den tmpfs-Mounts verbraucht wird. Dieser Wert unterstützt die Überwachung des von jeder Zone reservierten Swap-Bereichs. Er kann zum Wählen einer geeigneten Einstellung für zone.max-swap verwendet werden.
Tabelle 17–1 Zonenweite Resource Controls
Name der Resource Control |
Name der globalen Eigenschaft |
Beschreibung |
Standardeinheit |
Wird verwendet für |
---|---|---|---|---|
zone.cpu-cap |
Solaris 10 5/08: Absoluter Grenzwert für die Beanspruchung von CPU-Ressourcen für diese Zone. |
Menge (CPU-Anzahl) in Prozent. Hinweis – Bei der Einstellung für die Ressource capped-cpu können Sie für die Einheit eine Dezimalzahl verwenden. | ||
zone.cpu-shares |
cpu-shares |
Anzahl der Fair Share Scheduler (FSS) CPU-Shares für diese Zone. |
Menge (Shares) | |
zone.max-locked-memory |
Gesamtmenge des in einer Zone verfügbaren, physikalisch gesperrten Speichers. Wenn priv_proc_lock_memory einer Zone zugewiesen ist, können Sie durch Einrichten dieser Resource Control auch verhindern, dass die Zone den gesamten Speicher sperrt. |
Größe (Byte) |
locked-Eigenschaft von capped-memory. |
|
zone.max-lwps |
max-lwps |
Höchstzahl der gleichzeitig in dieser Zone verfügbaren LWPs. |
Menge (LWPs) | |
zone.max-msg-ids |
max-msg-ids |
Höchstzahl der für diese Zone zulässigen Nachrichtenwarteschlangen-IDs. |
Menge (Nachrichtenwarteschlangen-IDs) | |
zone.max-sem-ids |
max-sem-ids |
Höchstzahl der für diese Zone zulässigen Semaphor-IDs. |
Menge (Semaphor- IDs) | |
zone.max-shm-ids |
max-shm-ids |
Höchstzahl der für diese Zone zulässigen Shared Memory-IDs. |
Menge (Shared Memory-IDs) | |
zone.max-shm-memory |
max-shm-memory |
Gesamtmenge des für diese Zone zulässigen System V Shared Memory. |
Größe (Byte) | |
zone.max-swap |
Gesamtmenge des Swap-Bereichs, der von Benutzerprozess- Adressraumzuordnun- gen und tmpfs-Mounts für diese Zone verwendet wird. |
Größe (Byte) |
swap -Eigenschaft von capped-memory |
Diese Grenzen können mit dem Befehl prctl für laufende Prozesse angegeben werden. Ein Beispiel finden Sie unter So richten Sie FSS-Shares mit dem Befehl prctl in der globalen Zone ein. Die mit dem Befehl prctl festgelegten Grenzen sind nicht persistent. Sie sind nur solange wirksam, bis das System neu gebootet wird.
Beim Booten einer Zone wird ein Standardset mit sicheren Berechtigungen in die Konfiguration aufgenommen. Diese Berechtigungen werden als sicher betrachtet, weil sie verhindern, dass ein privilegierter Prozess in der Zone Prozesse in anderen nicht-globalen Zonen des Systems oder in der globalen Zone beeinflusst. Mit dem Befehl zonecfg können Sie:
Zum Standard-Berechtigungsset hinzufügen. Diese Änderungen können jedoch eine globale Ressource steuern und so dazu führen, dass Prozesse in einer Zone Prozesse in anderen Zonen beeinflussen.
Vom Standard-Berechtigungsset entfernen. Diese Änderungen können jedoch dazu führen, dass bestimmte Prozesse nicht korrekt ausgeführt werden können, wenn diese Berechtigungen zur Ausführung erforderlich sind.
Einige Berechtigungen können nicht aus dem Standard-Berechtigungsset einer Zone entfernt werden, und bestimmte Berechtigungen können in diesem Fall nicht zum Standardset hinzugefügt werden.
Weitere Informationen finden Sie unter Berechtigungen in einer nicht-globalen Zone, unter So konfigurieren Sie die Zone und in der Manpage privileges(5).
Mit dem Ressourcentyp attr können Sie einer Zone einen Kommentar hinzufügen. Weitere Informationen finden Sie unter So konfigurieren Sie die Zone.