JavaScript is required to for searching.
Navigationslinks überspringen
Druckansicht beenden
SystemAdministrationshandbuch: Oracle Solaris Container - RessourcenAdministration und Solaris Zones     Oracle Solaris 10 1/13 Information Library (Deutsch)
search filter icon
search icon

Dokumentinformationen

Vorwort

Teil I Ressourcenmanagement

1.  Einführung in Solaris 10-RessourcenAdministration

2.  Einführung in Projekte und Aufgaben

3.  Verwalten von Projekten und Aufgaben (Vorgehen)

4.  Einführung in das Extended Accounting

5.  Verwalten des Extended Accounting (Vorgehen)

6.  Einführung in die Resource Controls

7.  Verwalten von Resource Controls (Vorgehen)

8.  Einführung in den Fair Share Scheduler

9.  Verwalten des Fair Share Scheduler (Vorgehen)

10.  Einführung in die Steuerung des reellen Arbeitsspeichers mithilfe des Resource Capping Daemons

11.  Verwalten des Resource Capping Daemons (Vorgehen)

12.  Einführung in Resource Pools

13.  Erstellen und Verwalten von Resource Pools (Vorgehen)

14.  Beispiel für die Konfiguration der RessourcenAdministration

15.  Resource Controls in der Solaris Management-Konsole

Teil II Zonen

16.  Einführung in Solaris Zones

17.  Einführung in die Konfiguration einer nicht-globalen Zone

18.  Planen und Konfigurieren von nicht-globalen Zonen (Vorgehen)

Planen und Konfigurieren einer nicht-globalen Zone (Übersicht der Schritte)

Bewerten des aktuellen System-Setups

Erforderlicher Festplattenspeicher

Sparse Root Zones

Whole Root Zones

Beschränken der Zonengröße

Festlegen des Zonen-Hostnamens und Beziehen der Netzwerkadresse

Zonen-Hostname

Netzwerkadresse in einer Shared IP-Zone

Netzwerkadresse einer IPv4-Zone

Netzwerkadresse einer IPv6-Zone

Netzwerkadresse in einer Exclusive IP-Zone

Dateisystemkonfiguration

Erstellen, Überarbeiten und Löschen von Konfigurationen einer nicht-globalen Zone (Übersicht der Schritte)

Konfigurieren, Prüfen und Festschreiben einer Zone

So konfigurieren Sie die Zone

Die nächsten Schritte

Skript zur Konfiguration mehrerer Zonen

So zeigen Sie die Konfiguration einer nicht-globalen Zone an

Verwenden des Befehls zonecfg zum Bearbeiten einer Zonenkonfiguration

So modifizieren Sie einen Ressourcentyp in einer Zonenkonfiguration

Solaris 10 8/07: Zurücksetzen eines Eigenschaftstyps in einer Zonenkonfiguration

Solaris 10 3/05 bis Solaris 10 11/06: So ändern Sie den Eigenschaftentyp in einer Zonenkonfiguration

Solaris 10 8/07: So benennen Sie eine Zone um

So fügen Sie einer Zone ein spezielles Gerät hinzu

So stellen Sie zone.cpu-shares in der globalen Zone ein

Verwenden des Befehls zonecfg zum Zurücksetzen oder Löschen einer Zonenkonfiguration

So setzen Sie eine Zonenkonfiguration zurück

So löschen Sie eine Zonenkonfiguration

19.  Einführung in das Installieren, Anhalten, Klonen und Deinstallieren von nicht-globalen Zonen

20.  Installieren, Booten, Anhalten, Deinstallieren und Klonen von nicht-globalen Zonen (Vorgehen)

21.  Einführung in das Anmeldeverfahren bei einer nicht-globalen Zone

22.  Anmelden bei nicht-globalen Zonen (Vorgehen)

23.  Verschieben und Migrieren von nicht-globalen Zonen (Vorgehen)

24.  Oracle Solaris 10 9/10: Migrieren eines reellen Oracle Solaris-Systems in eine Zone (Aufgaben)

25.  Informationen zu den Paketen und Patches auf einem Oracle Solaris-System mit installierten Zonen (Überblick)

26.  Hinzufügen und Entfernen von Paketen und Patches auf einem Oracle Solaris-System mit installierten Zonen (Aufgaben)

27.  Verwaltung der Oracle Solaris-Zonen (Überblick)

28.  Verwaltung der Oracle Solaris-Zonen (Aufgaben)

29.  Aktualisieren eines Oracle Solaris 10-Systems mit installierten nicht-globalen Zonen

30.  Behebung von verschiedenen Problemen mit Oracle Solaris Zones

Teil III lx Branded Zones

31.  Allgemeine Informationen zu Branded Zones und der Linux Branded Zone

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

33.  Konfigurieren einer lx Branded Zone (Vorgehen)

34.  Einführung in das Installieren, Booten, Anhalten, Klonen und Deinstallieren von lx Branded Zones

35.  Installieren, Booten, Anhalten, Deinstallieren und Klonen von lx Branded Zones (Vorgehen)

36.  Anmelden bei lx Branded Zones (Vorgehen)

37.  Verschieben und Migrieren von lx Branded Zones (Vorgehen)

38.  Verwalten und Ausführen von Anwendungen in lx Branded Zones (Vorgehen)

Glossar

Index

Konfigurieren, Prüfen und Festschreiben einer Zone

Mit dem in der Manpage zonecfg ausführlich beschriebenen Befehl zonecfg(1M) können Sie:

Weiterhin können mit dem Befehl zonecfg die Einstellungen der RessourcenAdministration für die globale Zone persistent angegeben werden.

Beim Konfigurieren einer Zone mit dem Serviceprogramm 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 Zonen.

Eine Anleitung, wie Sie die Konfiguration einer nicht-globalen Zone anzeigen, finden Sie unter So zeigen Sie die Konfiguration einer nicht-globalen Zone an.

So konfigurieren Sie die Zone

Bitte beachten Sie, dass zum Erstellen einer nativen nicht-globalen Zone nur die Eigenschaften zonename und zonepath erforderlich sind. Andere Ressourcen und Eigenschaften sind optional. Bei einigen optionalen Ressourcen sind auch verschiedene Alternativen möglich. So kann beispielsweise die Ressource dedicated-cpu oder die Ressource capped-cpu verwendet werden. Informationen zu verfügbaren Eigenschaften und Ressourcen des Befehls zonecfg finden Sie unter Konfigurationsdaten in einer Zone .

Für dieses Verfahren müssen Sie als globaler Administrator bei der globalen Zone angemeldet sein.

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

  2. Richten Sie eine Zonenkonfiguration mit dem von Ihnen gewählten Zonennamen ein.

    In diesem Beispielverfahren wird der Name my-zone verwendet.

    global# zonecfg -z my-zone

    Wenn Sie diese Zone das erste Mal konfigurieren, wird die folgende Systemmeldung angezeigt:

    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. Erstellen Sie die neue Zonenkonfiguration

    Bei diesem Verfahren werden die Standardeinstellungen verwendet.

    zonecfg:my-zone> create
  4. Legen Sie den Zonenpfad fest. Verwenden Sie in diesem Beispiel /export/home/my-zone.
    zonecfg:my-zone> set zonepath=/export/home/my-zone

    Platzieren Sie bei Releases vor Solaris&;10&;10/08 den zonepath nicht auf einem ZFS.

  5. 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:my-zone> set autoboot=true
  6. Legen Sie die persistenten Boot-Argumente einer Zone fest.
    zonecfg:my-zone> set bootargs="-m verbose"
  7. Weisen Sie dieser Zone eine CPU zu.
    zonecfg:my-zone> add dedicated-cpu
    1. Legen Sie die Anzahl der CPUs fest.
      zonecfg:my-zone:dedicated-cpu> set ncpus=1-2
    2. (Optional) Legen Sie die Wichtigkeit fest.
      zonecfg:my-zone:dedicated-cpu> set importance=10

      Die Standardeinstellung ist 1.

    3. Beenden Sie die Spezifikation.
      zonecfg:my-zone:dedicated-cpu> end
  8. Überarbeiten Sie das Standard-Berechtigungsset.
    zonecfg:my-zone> set limitpriv="default,sys_time"

    Mit dieser Zeile wird die Fähigkeit hinzugefügt, die Systemuhr auf das Standard-Berechtigungsset zu setzen.

  9. Setzen Sie die Scheduling-Klasse auf FSS.
    zonecfg:my-zone> set scheduling-class=FSS
  10. Fügen Sie eine Memory Cap hinzu.
    zonecfg:my-zone> add capped-memory
    1. Richten Sie die Memory Cap ein.
      zonecfg:my-zone:capped-memory> set physical=50m
    2. Richten Sie eine Memory Cap für den Swap-Speicher ein.
      zonecfg:my-zone:capped-memory> set swap=100m
    3. Richten Sie eine Memory Cap für den gesperrten Speicher ein.
      zonecfg:my-zone:capped-memory> set locked=30m
    4. Beenden Sie die Spezifikation der Memory Cap.
      zonecfg:my-zone:capped-memory> end
  11. Fügen Sie ein Dateisystem hinzu.
    zonecfg:my-zone> add fs
    1. Legen Sie den Einhängepunkt das Dateisystem fest. Verwenden Sie in diesem Beispiel /usr/local.
      zonecfg:my-zone:fs> set dir=/usr/local
    2. Legen Sie fest, dass /opt/zones/my-zone/local in der globalen Zone als /usr/local in der konfigurierten Zone eingehängt wird.
      zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local

      In der nicht-globalen Zone besteht Schreib- und Lesezugriff für das Dateisystem /usr/local.

    3. Geben Sie den Dateisystemtyp an. Verwenden Sie in diesem Beispiel lofs.
      zonecfg:my-zone:fs> set type=lofs

      Der Typ gibt an, wie der Kernel mit dem Dateisystem interagiert.

    4. Beenden Sie die Dateisystemspezifikation.
      zonecfg:my-zone:fs> end

    Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere Dateisysteme hinzuzufügen sind.

  12. (Optional) Legen Sie die hostid fest.
    zonecfg:my-zone> set hostid=80f0c086
  13. Fügen Sie ein ZFS-Dataset namens sales in den Speicherpool tank ein.
    zonecfg:my-zone> add dataset
    1. Gegeben Sie den Pfad zum ZFS-Dataset sales an.
      zonecfg:my-zone> set name=tank/sales
    2. Beenden Sie die dataset-Spezifikation.
      zonecfg:my-zone> end
  14. (Nur Sparse Root Zone) Fügen Sie ein gemeinsam genutztes Dateisystem hinzu, das von der globalen Zone aus als Loopback-Mount eingehängt wird.

    Führen Sie diesen Schritt nicht aus, um eine Whole Root Zone zu erstellen, die nicht über gemeinsam genutzte Dateisysteme verfügt. Weitere Informationen finden Sie im Abschnitt über Whole Root Zones unter Erforderlicher Festplattenspeicher.

    zonecfg:my-zone> add inherit-pkg-dir
    1. Legen Sie fest, dass /opt/sfw in der globalen Zone im schreibgeschützten Modus in die konfigurierte Zone eingehängt wird.
      zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw

      Hinweis - Die Paketdatenbank der Zone wird aktualisiert, um die Pakete widerzuspiegeln. Nachdem die Zone mit zoneadm installiert wurde, können diese Ressourcen nicht mehr geändert oder entfernt werden.


    2. Beenden Sie die inherit-pkg-dir-Spezifikation.
      zonecfg:my-zone:inherit-pkg-dir> end

    Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere gemeinsam genutzte Dateisysteme hinzuzufügen sind.


    Hinweis - Wenn Sie eine Whole Root Zone erstellen möchten, die standardmäßigen Ressourcen gemeinsam genutzter Dateisysteme aber mit inherit-pkg-dir hinzugefügt wurden, müssen Sie diese standardmäßigen inherit-pkg-dir-Ressourcen mit zonecfg entfernen, bevor Sie die Zone installieren:

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/lib

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/platform

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/sbin

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/usr


  15. (Optional) Wenn Sie eine Exclusive IP-Zone erstellen, setzen Sie den ip-type.
    zonecfg:my-zone> set ip-type=exclusive

    Hinweis - Im Schritt add net wird nur der Typ des reellen Geräts festgelegt.


  16. Führen Sie eine Netzwerkschnittstelle hinzu.
    zonecfg:my-zone> add net
    1. (Nur Shared IP ) Stellen Sie die IP-Adresse für die Netzwerkschnittstelle ein. Verwenden Sie in diesem Beispiel 192.168.0.1.
      zonecfg:my-zone:net> set address=192.168.0.1
    2. Legen Sie den Typ des reellen Geräts für die Netzwerkschnittstelle fest. Verwenden Sie in diesem Beispiel das Gerät hme.
      zonecfg:my-zone:net> set physical=hme0
    3. Solaris 10 10/08: (optional, nur Shared-IP) Legen Sie den Standard-Router für die Netzwerkschnittstelle, 10.0.0.1 in diesem Vorgang, fest.
      zonecfg:my-zone:net> set defrouter=10.0.0.1
    4. Beenden Sie die Spezifikation.
      zonecfg:my-zone:net> end

    Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere Netzwerkschnittstellen hinzuzufügen sind.

  17. Fügen Sie ein Gerät hinzu.
    zonecfg:my-zone> add device
    1. Legen Sie die Geräteentsprechung fest. Verwenden Sie in diesem Beispiel /dev/sound/*.
      zonecfg:my-zone:device> set match=/dev/sound/*
    2. Beenden Sie die Gerätespezifikation.
      zonecfg:my-zone:device> end

    Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere Geräte hinzuzufügen sind.

  18. Fügen Sie eine zonenweite Resource Control hinzu. Verwenden Sie dazu den Eigenschaftennamen.
    zonecfg:my-zone> set max-sem-ids=10485200

    Dieser Schritt kann wiederholt ausgeführt werden, wenn mehrere Resource Controls hinzuzufügen sind.

  19. Fügen Sie mithilfe des Ressourcentyps attr einen Kommentar hinzu.
    zonecfg:my-zone> add attr
    1. Setzen Sie den Namen auf comment.
      zonecfg:my-zone:attr> set name=comment
    2. Setzen Sie den Typ auf string.
      zonecfg:my-zone:attr> set type=string
    3. Setzen Sie den Wert auf einen Kommentar, der die Zone beschreibt.
      zonecfg:my-zone:attr> set value="This is my work zone."
    4. Beenden Sie die Spezifikation des attr-Ressourcentyps.
      zonecfg:my-zone:attr> end
  20. Überprüfen Sie die Zonenkonfiguration der Zone.
    zonecfg:my-zone> verify
  21. Schreiben Sie die Zonenkonfiguration für die Zone fest.
    zonecfg:my-zone> commit
  22. Beenden Sie den Befehl zonecfg.
    zonecfg:my-zone> exit

    Wenn Sie nicht explizit commit an der Eingabeaufforderung eingeben, wird das commit automatisch versucht, wenn Sie exit eingeben oder ein EOF auftritt.

Verwenden mehrerer Unterbefehle an der Befehlszeile

Tipp - 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 my-zone "create ; set zonepath=/export/home/my-zone"

Die nächsten Schritte

Informationen zur Installation der festgeschriebenen Zonenkonfiguration finden Sie unter Installieren und Booten von Zonen.

Skript zur Konfiguration mehrerer Zonen

Mit dem folgenden Skript können Sie mehrere Zonen auf einem System konfigurieren und booten. Dieses Skript enthält die folgenden Parameter:

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" ]]; then
        echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir>"
        exit 2
fi

if [[ ! -d $3 ]]; then
        echo "$3 is not a directory"
        exit 1
fi

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 list > /dev/null 2>&1
    if [ $? != 0 ]; then
        echo configuring $prefix$i
        F=$dir/$prefix$i.config
        rm -f $F
        echo "create" > $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 > /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
while [ $i -le $nzones ]; do
    echo setting up sysid for $prefix$i
    cfg=$dir/$prefix$i/root/etc/sysidcfg
    rm -f $cfg
    echo "network_interface=NONE {hostname=$prefix$i}" > $cfg
    echo "system_locale=C" >> $cfg
    echo "terminal=xterms" >> $cfg
    echo "security_policy=NONE" >> $cfg
    echo "name_service=NONE" >> $cfg
    echo "timezone=US/Pacific" >> $cfg
    echo "root_password=Qexr7Y/wzkSbc" >> $cfg  # 'l1a'
    i=`expr $i + 1`
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

So zeigen Sie die Konfiguration einer nicht-globalen Zone an

Für dieses Verfahren müssen Sie als globaler Administrator bei der globalen Zone angemeldet sein.

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

  2. Zeigen Sie die Konfiguration einer Zone an.
    global# zonecfg -z zonename info