Systemverwaltungshandbuch: Oracle Solaris Container - Ressourcenverwaltung und Solaris Zones

Kapitel 32 Einführung in die Planung der Konfiguration einer lx Branded Zone

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.

Anforderungen an System und Speicherplatz

Wenn lx Branded Zones auf einem System verwendet werden sollen, gelten die folgenden Einschränkungen.

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.

Beschränken der Größe einer Branded Zone

Zum Beschränken der Größe einer Zone können die folgenden Optionen verwendet werden:

Netzwerkadresse einer Branded Zone

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).

lx Branded Zone, Konfiguration

Mit dem Befehl zonecfg können Sie:

Die mit dem Befehl zonecfg verify für eine bestimmte Konfiguration durchgeführte Prüfung stellt Folgendes sicher:

Weitere Informationen zum Befehl zonecfg finden Sie in der Manpage zonecfg(1M).

lx Branded Zone – Konfiguration der Komponenten

In diesem Abschnitt werden die folgenden Themen behandelt:

Zonenname und Zonenpfad in einer lx Branded Zone

Sie müssen einen Namen und einen Pfad für die Zone angeben.

Zone autoboot in einer lx Branded Zone

Mit einer Einstellung für die Eigenschaft autoboot können Sie festlegen, ob eine Zone bei einem Neustart der globalen Zone automatisch gebootet wird.

Zuweisung von Resource Pools in einer lx Branded Zone

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.


Hinweis –

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.


Verwenden der Ressource dedicated-cpu

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.

ncpus

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:

importance

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.


Hinweis –

Die Resource Control cpu-shares und die Ressource dedicated-cpu sind inkompatibel.


Solaris10 5/08: Angeben der Ressource capped-cpu

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.


Hinweis –

Die Ressourcen capped-cpu und dedicated-cpu sind nicht miteinander kompatibel.


Scheduling-Klasse in einer Zone

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:

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.

capped-memory-Ressource

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.


Hinweis –

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.

Zonen-Netzwerkschnittstellen in einer 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.

In einer lx Branded Zone eingehängte Dateisysteme

Im Allgemeinen umfassen die in einer Zone eingehängten Dateisysteme Folgendes:

Dies kann z. B. die folgenden Dateisysteme umfassen:

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.

Zonenweite Resource Controls in einer lx Branded Zone

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

Konfigurierbare Berechtigungen in einer lx Branded Zone

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:


Hinweis –

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).

attr-Ressource in einer lx Branded Zone

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.

Standardmäßig in der Konfiguration enthaltene Ressourcen

Konfigurierte Geräte in lx Branded Zones

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.

In lx Branded Zones definierte Dateisysteme

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.


Hinweis –

Das Hinzufügen lokaler Linux-Dateisysteme wird nicht unterstützt. Sie können von einem Linux-Server aus Dateisysteme über NFS einhängen.


In lx Branded Zones definierte Berechtigungen

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.

Verwenden des Befehls zonecfg zum Erstellen einer lx Branded Zone

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:

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.

zonecfg-Modi

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.

Anschließend wird der Geltungsbereich auf global zurückgesetzt.

Bestimmte Unterbefehle, z. B. add, remove und set, haben in verschiedenen Geltungsbereichen unterschiedliche Bedeutungen.

zonecfg Interaktiver Modus

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.

help

Druckt die allgemeine Hilfe aus oder zeigt Hilfe zu einer bestimmten Ressource an.


zonecfg:lx-zone:net> help
create

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.

export

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.

add

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).

set

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.

select

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.

clear

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.

remove

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.

end

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.

cancel

Gilt nur im ressourcenspezifischen Geltungsbereich. Beendet die Ressourcenspezifikation und stellt den globalen Geltungsbereich wieder her. Alle teilweise angegebenen Ressourcen werden nicht erhalten.

delete

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.


Achtung – Achtung –

Diese Aktion findet unmittelbar statt. Es ist keine Bestätigung erforderlich. Eine gelöschte Zone kann nicht wiederhergestellt werden.


info

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.

verify

Überprüft die aktuelle Konfiguration auf Richtigkeit. Stellt sicher, dass für alle Ressourcen alle erforderlichen Eigenschaften angegeben wurden.

commit

Ü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.

revert

Setzt die Konfiguration auf den zuletzt übernommenen Status zurück.

exit

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.

zonecfg Befehlsdatei-Modus

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.

Konfigurationsdaten in einer Branded Zone

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

Ressourcen- und Eigenschaftentypen lassen sich wie folgt beschreiben:

Zonenname

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.

zonepath

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.


Hinweis –

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.


autoboot

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
bootargs

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.

pool

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.

limitpriv

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.

scheduling-class

Diese Eigenschaft legt die Scheduling-Klasse der Zone fest. Weitere Informationen und Tipps finden Sie unter Scheduling-Klasse in einer Zone.

dedicated-cpu

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.

capped-memory

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.

fs

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.

net

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.

rctl

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.


Hinweis –

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.


attr

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.

Ressourcentyp-Eigenschaften in der lx Branded Zone

Auch Ressourcen besitzen Eigenschaften, die konfiguriert werden können. Die folgenden Eigenschaften sind den aufgeführten Ressourcentypen zugeordnet.

dedicated-cpu

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
capped-cpu

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
capped-memory

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
fs

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.

net

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

Hinweis –

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.


rctl

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
attr

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.