JavaScript is required to for searching.
Ignorar Links de Navegao
Sair do Modo de Exibio de Impresso
Guia de administração do sistema: gerenciamento de recursos do Oracle Solaris Containers e Oracle Solaris Zones     Oracle Solaris 10 1/13 Information Library (Português (Brasil))
search filter icon
search icon

Informação sobre o documento

Prefácio

Parte I Gerenciamento de Recursos

1.  Introdução ao gerenciador de recursos do Solaris 10

2.  Projetos e tarefas (visão geral)

3.  Administração de projetos e tarefas

4.  Contabilidade estendida (Visão geral)

5.  Administração da contabilidade estendida (tarefas)

6.  Controles de Recursos (Visão Geral)

7.  Administração de controles de recursos (Tarefas)

8.  Fair share scheduler (visão geral)

9.  Administração do fair share scheduler (tarefas)

10.  Controle da memória física usando o resource capping daemon (visão geral)

11.  Administração do resource capping daemon (tarefas)

12.  Pools de recursos (Visão geral)

13.  Criação e administração de pools de recursos (Tarefas)

14.  Exemplo de configuração de gerenciamento de recurso

15.  Funcionalidade do controle de recursos no Console de gerenciamento Solaris

Parte II Zonas

16.  Introdução ao Solaris Zones

17.  Configuração de zona não global (Visão geral)

18.  Planejamento e configuração de zonas não globais (Tarefas)

Planejamento e configuração de uma zona não global (Mapa de tarefas)

Avaliação da configuração atual do sistema

Requisitos de Espaço em Disco

Zona de Raiz Esparsa

Zonas de raiz inteira

Restrição do tamanho de zona

Determine o nome do host de zona e obtenha o endereço de rede

Nome do host de zona

Endereço de rede de zona com IP compartilhado

Endereço de rede de zona IPv4

Endereço de rede de zona IPv6

Endereço de rede de zona com IP exclusivo

Configuração do sistema de arquivos

Criação, revisão e exclusão de configurações de zona não global (Mapa de tarefas)

Configuração, verificação e confirmação de uma zona

Como configurar a zona

O que fazer a seguir

Script para configurar várias zonas

Como exibir a configuração de uma zona não global

Uso do comando zonecfg para modificar a configuração de uma zona

Como modificar um tipo de recurso na configuração de uma zona

Solaris 8/07: como limpar um tipo de propriedade em uma configuração de zona

Solaris 10 3/05 até 10 11/06: como modificar um tipo de propriedade em uma configuração de zona

Solaris 10 8/07: como renomear uma zona

Como adicionar um dispositivo dedicado a uma zona

Como definir zone.cpu-shares na zona global

Uso do comando zonecfg para reverter ou remover a configuração de uma zona

Como reverter uma configuração de zona

Como excluir uma configuração de zona

19.  Sobre instalação, parada, clonagem e desinstalação de zonas não globais (Visão geral)

20.  Instalação, inicialização, parada, desinstalação e clonagem de zonas não globais (Tarefas)

21.  Login na zona não global (Visão geral)

22.  Login em zonas não globais (Tarefas)

23.  Movendo e migrando zonas não globais (Tarefas)

24.  Oracle Solaris 10 9/10: migrando de um sistema Oracle Solaris físico para uma zona (Tarefas)

25.  Sobre pacotes e patches em um sistema do Oracle Solaris com zonas instaladas (Visão geral)

26.  Adicionando e removendo pacotes e patches em um sistema Oracle Solaris com zonas instaladas (Tarefas)

27.  Administração do Oracle Solaris Zones (Visão geral)

28.  Administração do Oracle Solaris Zones (Tarefas)

29.  Atualização de um sistema Oracle Solaris 10 com zonas não globais instaladas

30.  Soluções diversas de problemas do Oracle Solaris Zones

Parte III 1x}Zonas não nativas

31.  Sobre zonas não nativas e zonas não nativas do Linux

32.  Planejamento da configuração da zona não nativa lx (Visão geral)

33.  Configuração de zonas não nativas lx (Tarefas)

34.  Sobre instalação, inicialização, parada, clonagem e desinstalação de zonas não nativas lx (Visão geral)

35.  Instalação, inicialização, parada, desinstalação e clonagem de zonas não nativas (branded) lx (Tarefas)

36.  Login em zonas não nativas lx (Tarefas)

37.  Movendo e migrando zonas não nativas lx (Tarefas)

38.  Administração e execução de aplicativos em zonas não nativas lx (Tarefas)

Glossário

Índice

Configuração, verificação e confirmação de uma zona

Você usa o comando zonecfg descrito na página man zonecfg(1M) para executar as ações a seguir.

O comando zonecfg também pode ser usado para especificar persistentemente as configurações do gerenciamento de recurso para a zona global.

Ao configurar uma zona com o utilitário zonecfg, você pode usar o subcomando revert para desfazer a configuração de um recurso. Consulte Como reverter uma configuração de zona.

Um script para configurar várias zonas no sistema é fornecido em Script para configurar várias zonas.

Para exibir uma configuração de zona não global, consulte Como exibir a configuração de uma zona não global.

Como configurar a zona

Observe que os únicos elementos necessários para criar uma zona não global nativa são as propriedades zonename e zonepath. Outros recursos e propriedades são opcionais. Alguns recursos opcionais também requerem escolhas entre alternativas, tal como a decisão de usar o recurso dedicated-cpu ou o recurso capped-cpu. Consulte Dados de configuração de zona para obter informações disponíveis sobre as propriedades e recursos de zonecfg.

É necessário ser administrador global na zona global para executar este procedimento.

  1. Torne-se superusuário ou assuma a função de administrador principal.

    Para criar a função e atribuí-la a um usuário, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Defina uma configuração de zona com o nome de zona escolhido.

    O nome my-zone é usado neste procedimento de exemplo.

    global# zonecfg -z my-zone

    Se esta for a primeira vez que você configurou esta zona, será exibida a seguinte mensagem do sistema:

    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. Crie a nova configuração de zona.

    Este procedimento usa as configurações padrão da

    zonecfg:my-zone> create
  4. Defina o caminho para a zona, /export/home/my-zone neste procedimento.
    zonecfg:my-zone> set zonepath=/export/home/my-zone

    Não coloque zonepath no ZFS em versões anteriores ao Solaris 10 10/08.

  5. Defina o valor de inicialização automática.

    Se definido para true, a zona será inicializada automaticamente quando a zona global for inicializada. Observe que, para as zona serem inicializadas automaticamente, as zona de serviço svc:/system/zones:default devem também estar ativadas. O valor padrão é false.

    zonecfg:my-zone> set autoboot=true
  6. Defina argumentos de inicialização persistentes para uma zona.
    zonecfg:my-zone> set bootargs="-m verbose"
  7. Dedique uma CPU a esta zona.
    zonecfg:my-zone> add dedicated-cpu
    1. Defina o número de CPUs.
      zonecfg:my-zone:dedicated-cpu> set ncpus=1-2
    2. (Opcional) Defina a importância.
      zonecfg:my-zone:dedicated-cpu> set importance=10

      O padrão é 1.

    3. Finalize a especificação.
      zonecfg:my-zone:dedicated-cpu> end
  8. Revise o conjunto padrão de privilégios.
    zonecfg:my-zone> set limitpriv="default,sys_time"

    Esta linha adiciona a capacidade de definir o relógio do sistema como o conjunto de privilégios padrão.

  9. Defina a classe de agendamento como FSS.
    zonecfg:my-zone> set scheduling-class=FSS
  10. Adicione um limite de memória.
    zonecfg:my-zone> add capped-memory
    1. Defina o limite de memória.
      zonecfg:my-zone:capped-memory> set physical=50m
    2. Defina o limite da memória de permuta.
      zonecfg:my-zone:capped-memory> set swap=100m
    3. Defina o limite da memória bloqueada.
      zonecfg:my-zone:capped-memory> set locked=30m
    4. Finalize a especificação do limite da memória.
      zonecfg:my-zone:capped-memory> end
  11. Adicione um sistema de arquivos.
    zonecfg:my-zone> add fs
    1. Defina um ponto de montagem para o sistema de arquivos, /usr/local neste procedimento.
      zonecfg:my-zone:fs> set dir=/usr/local
    2. Especifique que /opt/zones/my-zone/local na zona global deve ser montado como /usr/local na zona que está sendo configurada.
      zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local

      Na zona não global, o sistema de arquivos /usr/local será legível e gravável.

    3. Especifique o tipo de sistema de arquivos, lofs neste procedimento.
      zonecfg:my-zone:fs> set type=lofs

      O tipo indica como o kernel interage com o sistema de arquivos.

    4. Finalize a especificação do sistema de arquivos.
      zonecfg:my-zone:fs> end

    Esta etapa pode ser executada mais de uma vez para adicionar mais de um sistema de arquivos.

  12. (Opcional) Configure ohostid.
    zonecfg:my-zone> set hostid=80f0c086
  13. Adiciona o conjunto de dados do ZFS denominado sales no pool de armazenamento tank.
    zonecfg:my-zone> add dataset
    1. Especifique o caminho para o conjunto de dados sales do ZFS.
      zonecfg:my-zone> set name=tank/sales
    2. Finalize a especificação de dataset.
      zonecfg:my-zone> end
  14. (Somente zona raiz esparsa) Adicione um sistema de arquivos compartilhado que seja montado com loopback a partir da zona global.

    Não execute esta etapa para criar uma zona raiz inteira, que não tem quaisquer sistemas de arquivos compartilhados. Consulte a discussão para zonas raiz inteiras em Requisitos de Espaço em Disco.

    zonecfg:my-zone> add inherit-pkg-dir
    1. Especifique que /opt/sfw na zona global seja montado no modo somente leitura na zona que está sendo configurada.
      zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw

      Observação - O banco de dados de empacotamento da zona é atualizado para refletir os pacotes. Estes recursos não podem ser modificados ou removidos após a zona ter sido instalada usando-se zoneadm.


    2. Finalize a especificação inherit-pkg-dir.
      zonecfg:my-zone:inherit-pkg-dir> end

    Esta etapa pode ser executada mais de uma vez para adicionar mais de um sistema de arquivos compartilhado.


    Observação - Se desejar criar uma zona raiz inteira, mas sistemas de arquivos compartilhados padrão foram adicionados usando-se inherit-pkg-dir, é necessário remover esses recursos inherit-pkg-dir padrão usando-se zonecfg antes da instalação da zona:

    • 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. (Opcional) Se estiver criando uma zona com IP exclusivo, defina ip-type.
    zonecfg:my-zone> set ip-type=exclusive

    Observação - Somente o tipo de dispositivo físico será especificado na etapa add net.


  16. Adicione uma interface de rede.
    zonecfg:my-zone> add net
    1. (Somente IP compartilhado) Defina o endereço IP para a interface de rede, 192.168.0.1 neste procedimento.
      zonecfg:my-zone:net> set address=192.168.0.1
    2. Defina o tipo de dispositivo físico para a interface de rede, o dispositivo hme neste procedimento.
      zonecfg:my-zone:net> set physical=hme0
    3. Solaris 10 10/08: (opcional, somente IP compartilhado) defina o roteador padrão da interface de rede, 10.0.0.1 nesse procedimento.
      zonecfg:my-zone:net> set defrouter=10.0.0.1
    4. Finalize a especificação.
      zonecfg:my-zone:net> end

    Esta etapa pode ser executada mais de uma vez para adicionar mais de uma interface de rede.

  17. Adicione um dispositivo.
    zonecfg:my-zone> add device
    1. Defina a correspondência do dispositivo, /dev/sound/* neste procedimento.
      zonecfg:my-zone:device> set match=/dev/sound/*
    2. Finalize a especificação do dispositivo.
      zonecfg:my-zone:device> end

    Esta etapa pode ser executada mais de uma vez para adicionar mais de um dispositivo.

  18. Adicione um controle de recursos de zona geral usando o nome da propriedade.
    zonecfg:my-zone> set max-sem-ids=10485200

    Esta etapa pode ser executada mais de uma vez para adicionar mais de um controle de recursos.

  19. Adicione um comentário usando o tipo de recurso attr.
    zonecfg:my-zone> add attr
    1. Defina o nome como comment.
      zonecfg:my-zone:attr> set name=comment
    2. Defina o tipo como string.
      zonecfg:my-zone:attr> set type=string
    3. Defina o valor como um comentário que descreve a zona.
      zonecfg:my-zone:attr> set value="This is my work zone."
    4. Finalize a especificação do tipo de recurso attr.
      zonecfg:my-zone:attr> end
  20. Verifique a configuração da zona.
    zonecfg:my-zone> verify
  21. Confirme a configuração da zona.
    zonecfg:my-zone> commit
  22. Saia do comando zonecfg.
    zonecfg:my-zone> exit

    Observe que mesmo que você não tenha digitado commit explicitamente no prompt, há uma tentativa automática de commit quando você digita exit ou um EOF ocorre.

Uso de vários subcomandos da linha de comando

Dica - O comando zonecfg também oferece suporte a vários subcomandos, citados e separados por ponto-e-vírgula, a partir da mesma chamada de shell.

global# zonecfg -z my-zone "create ; set zonepath=/export/home/my-zone"

O que fazer a seguir

Consulte Instalação e inicialização de zonas para instalar a configuração da região comprometida.

Script para configurar várias zonas

Você pode usar este script para configurar e inicializar várias zonas no sistema. O script toma os seguintes parâmetros:

É necessário ser administrador global na zona global para executar o script. O administrador global tem privilégios de superusuário na zona global ou assume a função de administrador principal.

#!/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

Como exibir a configuração de uma zona não global

É necessário ser administrador global na zona global para executar este procedimento.

  1. Torne-se superusuário ou assuma a função de administrador principal.

    Para criar a função e atribuí-la a um usuário, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Exiba a configuração de uma zona.
    global# zonecfg -z zonename info