Systemverwaltungshandbuch: Oracle Solaris Container - Ressourcenverwaltung und Solaris Zones

ProcedureSo 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. Übernehmen Sie die Zonenkonfiguration für die Zone.


    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"