In Solaris 10 8/07 wurden die folgenden Leistungsmerkmale und Verbesserungen für Systemressourcen implementiert.
Die BrandZ-Technologie von Sun bietet die Grundstruktur für die Erstellung nicht globaler Branded-Zones, die systemfremde Betriebsumgebungen enthalten. Branded-Zones bieten die gleiche isolierte und sichere Betriebsumgebung, sind sie doch eine einfache Erweiterung nicht globaler Zonen und das gesamte Brand-Management wird über Erweiterungen der aktuellen Zonenstruktur abgewickelt.
Die derzeit verfügbare Brand ist die lx-Brand, Solaris-Container für Linux-Anwendungen. Diese nicht globalen Zonen bieten eine Linux-Anwendungsumgebung auf x86- oder x64-Rechnern, auf denen das Betriebssystem Solaris läuft.
Die lx-Brand beinhaltet die Tools, die zum Installieren von CentOS 3.5 bis 3.8 oder Red Hat Enterprise Linux 3.5 bis 3.8 innerhalb einer nicht globalen Zone erforderlich sind. Rechner, auf denen das Betriebssystem Solaris entweder im 32-Bit- oder 64-Bit-Modus läuft, können 32-Bit-Linux-Anwendungen ausführen.
Weitere Informationen finden Sie in Part III, Branded Zones im Systemverwaltungshandbuch: Solaris Container – Ressourcenverwaltung und Solaris Zones.
Informationen finden Sie auch auf den folgenden Manpages:
brands(5)
lx(5)
Eine stärker integrierte Ressourcenverwaltung und Zonenfunktionen machen es nun einfacher, die systemeigenen Fähigkeiten der Ressourcenverwaltung über den Befehl zonecfg nutzbar zu machen. Die von Ihnen festgelegte Ressourcenkonfiguration wird beim Booten der Zone automatisch erstellt. Manuelle Vorgänge zum Einrichten der Ressourcenverwaltung sind daher nicht mehr erforderlich.
Mit Hilfe des Befehls zonecfg können die Einstellungen der Ressourcenverwaltung für die globale Zone festgelegt werden.
Zonenweite Ressourcensteuerungen können über die bevorzugte Methode der globalen Eigenschaftsnamen festgelegt werden. Es sind auch neue Ressourcensteuerungen für Projekte und Zonen verfügbar:
zone.max-locked-memory
zone.max-msg-ids
zone.max-sem-ids
zone.max-shm-ids
zone.max-shm-memory
zone.max-swap: Bietet über die speichergedeckelte Ressource Swap-Deckelung für Zonen.
project.max-locked-memory: Ersetzt project.max-device-locked-memory
Es wurden weitere Methoden zum Einstellen des Standard-Schedulers in einer Zone hinzugefügt, so z. B. eine Scheduling-Class-Eigenschaft.
Die Ressourcenpools wurden verbessert. Sie können einen temporären Pool hinzufügen, der beim Booten einer Zone dynamisch erstellt wird. Der Pool wird über die Ressource mit dedizierter CPU konfiguriert.
Um den Wert für optionale Einstellungen zu löschen, ist der Unterbefehl clear verfügbar.
Verbesserungen von rcapd(1M) sorgen für eine effizientere Deckelung des physikalischen Speichers. Die Grenzwerte werden über die speichergedeckelte Ressource festgelegt.
Dieses Merkmal kann für lx-Branded-Zones und native Zonen zur Beschränkung des physikalischen Speichers eingesetzt werden. Weitere Informationen finden Sie in lx-Branded-Zones: Solaris-Container für Linux-Anwendungen.
Die RSS-Verwaltung (RSS, Resident Set Size) wurde verbessert. Verbesserungen wurden an rcapd, dem Dämon für die Ressourcendeckelung, und am Befehl prstat vorgenommen.
Weitere Informationen finden Sie hier:
Manpage prstat(1M)
Manpage rcapd(1M)
Manpage zonecfg(1M)
Manpage resource_controls(5)
Systemverwaltungshandbuch: Solaris Container – Ressourcenverwaltung und Solaris Zones
Für die Konfiguration von IP-Netzwerken gibt es nun zwei Möglichkeiten, je nachdem, ob die Zone einer exklusiven IP-Instanz zugewiesen ist oder die Konfiguration und den Zustand der IP-Layer mit der globalen Zone gemeinsam nutzt. IP-Typen werden über den Befehl zonecfg festgelegt.
Standard ist der gemeinsam genutzte IP-Typ. Diese Zonen stellen eine Verbindung zu den gleichen VLANs oder LANs her wie die globale Zone und nutzen die IP-Layer gemeinsam. lx Branded Zones werden als gemeinsam genutzte IP-Zonen festgelegt. Weitere Informationen finden Sie in lx-Branded-Zones: Solaris-Container für Linux-Anwendungen.
In einer exklusiven IP-Zone ist vollständige IP-Funktionalität verfügbar. Wenn eine Zone in der IP-Schicht eines Netzwerks isolisiert werden muss, kann die Zone ein exklusives IP haben. Die exklusive IP-Zone kann zur Konsolidierung von Anwendungen eingesetzt werden, die mit verschiedenen Teilnetzen auf unterschiedlichen VLANs oder LANs kommunizieren müssen.
Weitere Informationen finden Sie hier:
Manpage zonecfg(1M)
Manpage zones(5)
Systemverwaltungshandbuch: Solaris Container – Ressourcenverwaltung und Solaris Zones
Weitere Informationen finden Sie in Kapitel 17, Einführung in die Konfiguration einer nicht-globalen Zone in Systemverwaltungshandbuch: Solaris Container – Ressourcenverwaltung und Solaris Zones und Kapitel 18, Planen und Konfigurieren von nicht-globalen Zonen (Vorgehen) in Systemverwaltungshandbuch: Solaris Container – Ressourcenverwaltung und Solaris Zones.
Weitere Informationen zu den Komponenten dieses Leistungsmerkmals finden Sie in Kapitel 26, Einführung in die Verwaltung der Solaris Zones in Systemverwaltungshandbuch: Solaris Container – Ressourcenverwaltung und Solaris Zones und Kapitel 27, Verwaltung von Solaris Zones (Vorgehen) in Systemverwaltungshandbuch: Solaris Container – Ressourcenverwaltung und Solaris Zones.
Beim Booten von Solaris-Zonen können für boot und reboot nun Boot-Argumente verwendet werden. Die folgenden Boot-Argumente werden unterstützt:
-m <smf_options>
-i </path/to/init/>
-s
Boot-Argumente können wie folgt übergeben werden:
global# zoneadm -z myzone boot -- -m verbose
global# zoneadm -z myzone reboot -- -m verbose
myzone# reboot -- -m verbose
Darüber hinaus können Boot-Argumente mit der neuen Eigenschaft bootargs im Befehl zonecfg permanent festgelegt werden:
zonecfg:myzone> set bootargs="-m verbose"
Diese Einstellung wird angewendet, sofern sie nicht durch die Befehle reboot, zoneadm boot oder zoneadm reboot außer Kraft gesetzt wird.
Weitere Informationen zu Boot-Argumenten und der Eigenschaft bootargs finden Sie in den folgenden Dokumentationen:
Manpage zoneadm(1M)
Manpage zonecfg(1M)
Systemverwaltungshandbuch: Solaris Container – Ressourcenverwaltung und Solaris Zones
Um die Gesamtkapazität an System V-Ressourcen zu beschränken, die innerhalb einer nicht globalen Zone von den Prozessen verwendet werden dürfen, sind nun die folgenden zonenweiten Ressourcensteuerungen verfügbar:
zone.max-shm-memory
zone.max-shm-ids
zone.max-msg-ids
zone.max-sem-ids
Die Ressourcensteuerungen werden für nicht globale Zonen durch die Ressourceneigenschaft add rctl in zonecfg eingestellt.
Um die Auslastung in einer globalen Zone zu beschränken, können die Ressourcensteuerungen über den Befehl prctl eingestellt werden.
Weitere Informationen finden Sie hier:
Manpage prctl(1)
Manpage zonecfg(1M)
Manpage resource_controls(5)
Systemverwaltungshandbuch: Solaris Container – Ressourcenverwaltung und Solaris Zones
Das Solaris-System kennzeichnet jede nicht globale Zone bei der Zoneninstallation mit einer eindeutigen Kennung (ID). Diese Kennung kann sowohl in der globalen Zone als auch in der nicht globalen Zone mit dem Befehl zoneadm list -p abgerufen werden. Die Zonen-ID kann für die Asset-Verfolgung eingesetzt werden, indem die Zone selbst als ein Asset betrachtet wird. Darüber hinaus kann diese ID im Rahmen der folgenden Vorgänge zur Identifizierung von Zonen eingesetzt werden:
Verschieben von Zonen
Umbenennen von Zonen
Alle Ereignisse, bei denen es nicht zu einer Vernichtung von Zoneninhalten kommt
Weitere Informationen finden Sie auf der Manpage zoneadm(1M).
Ab dieser Version können Zonen mit dem neuen Befehl zoneadm als "unvollständig" markiert werden. zoneadm ermöglicht somit die Aufzeichnung schwerwiegender oder permanenter Zonenfehler durch die Verwaltungssoftware, von der die Zoneninhalte aktualisiert werden.
Weitere Informationen finden Sie auf der Manpage zoneadm(1M).
DTrace kann nun in nicht globalen Zonen mit den Berechtigungen dtrace_proc und dtrace_user verwendet werden. Der Gültigkeitsbereich der DTrace-Provider und -Aktionen ist auf die Zone beschränkt. Mit der Berechtigung dtrace_proc können fasttrap- und pid-Provider verwendet werden. Mit der Berechtigung dtrace_user können „profile“- und „syscall“-Provider verwendet werden.
Diese Berechtigungen können dem in der nicht-globalen Zone verfügbaren Berechtigungssatz mithilfe der Eigenschaft limitpriv des Befehls zonecfg hinzugefügt werden.
Konfigurierbare Berechtigungen für nicht-globale Zonen bietet einen Überblick über die Berechtigungen in nicht globalen Zonen.
Weitere Informationen zur Zonenkonfiguration, zur Angabe von Zonenberechtigungen sowie zur Verwendung des Dienstprogramms DTrace finden Sie unter: