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.