Guia de administração do sistema: gerenciamento de recursos Oracle Solaris Containers e Oracle Solaris Zones

Capítulo 18 Planejamento e configuração de regiões não globais (tarefas)

Este capítulo descreve o que é necessário fazer antes de você poder configurar uma região no sistema. Este capítulo também descreve como configurar uma região, modificar a configuração de uma região e excluir a configuração de uma região do sistema.

Para uma introdução ao processo de configuração de região, consulte o Capítulo 17Configuração de região não global (visão geral).

Planejamento e configuração de uma região não global (mapa de tarefas)

Antes de configurar o sistema para usar regiões, é necessário primeiro reunir informações e tomar decisões sobre como configurar as regiões. O mapa de tarefas a seguir resume como planejar e configurar uma região.

Tarefa 

Descrição 

Para instruções 

Planeje a estratégia de região. 

  • Avalie os aplicativos em execução no sistema para determinar quais aplicativos você deseja executar em uma região.

  • Avalie a disponibilidade de espaço em disco para conter os arquivos que são exclusivos na região.

  • Se também estiver usando recursos de gerenciamento de recursos, determine como alinhar a região com os limites de gerenciamento de recursos.

Consulte o uso histórico. Consulte também Requisitos de espaço em disco e Grupos de recursos usados em regiões.

Determine o nome para a região. 

Decida como chamar a região baseado nas convenções de nomes. 

Consulte Dados de configuração de região e Nome do host de região.

Determine o caminho da região. 

Cada região tem um caminho para seu diretório raiz que é relacionado ao diretório raiz da região global. 

Consulte Dados de configuração de região.

Avalie a necessidade de restrição de CPU, se não estiver configurando grupos de recursos. 

Revise os requisitos de aplicativo. 

Consulte Solaris 10 8/07: recurso dedicated-cpu.

Avalie a necessidade de alocação de memória, se planejar limitar a memória para a região usando rcapd da região global.

Revise os requisitos de aplicativo. 

Consulte o Capítulo 10Controle da memória física usando o resource capping daemon (visão geral), Capítulo 11Administração do resource capping daemon (tarefas) e Solaris 10 8/07: controle da memória física e o recurso capped-memory.

Torne o FSS o agendador padrão no sistema. 

Dê a cada região, compartilhamentos de CPU para controlar o direito da região aos recursos de CPU. O FSS garante uma dispersão justa de recursos da CPU entre regiões que tem base em compartilhamentos alocados. 

Capítulo 8Fair share scheduler (visão geral), Classe de agendamento em uma região.

Determine se a região será uma região com IP compartilhado ou uma região com IP exclusivo. 

Para uma região com IP compartilhado, que é o padrão, obtenha ou configura endereços IP para a região. Dependendo da configuração, é necessário obter pelo menos um endereço IP para cada região não global que você deseja que tenha acesso à rede. 

Para uma região com IP exclusivo, determine o link de dados que será atribuído à região. A região requer acesso exclusivo a uma ou mais interfaces de rede. A interface pode ser uma LAN separada, como bge1, ou uma VLAN separada, como bge2000. O link de dados deve ser GLDv3. Um link de dados que não seja GLDv3 é identificado como type: legacy na saída do comando dladm show-link .

Consulte Determine o nome do host de região e obtenha o endereço de rede, Como configurar a região e System Administration Guide: IP Services .

Para mais informações sobre interfaces GLDv3, consulte Oracle Solaris Interface Types no System Administration Guide: IP Services.

Determine quais sistemas de arquivos você deseja montar na região. 

Revise os requisitos de aplicativo. 

Para obter mais informações, consulte Sistemas de arquivos montados em regiões.

Determine quais interfaces de rede devem ser disponibilizadas na região. 

Revise os requisitos de aplicativo. 

Consulte Interfaces de rede com IP compartilhado.

Decida se deve alterar a definição padrão das permissões da região não global. 

Verifique o conjunto de privilégios: padrão, privilégios que podem ser adicionados e removidos, e privilégios que não podem ser usados desta vez. 

Consulte Privilégios em uma região não global.

Determine quais dispositivos devem ser configurados em cada região. 

Revise os requisitos de aplicativo. 

Consulte a documentação de seu aplicativo. 

Configure a região. 

Use zonecfg para criar uma configuração para a região.

Consulte Configuração, verificação e comprometimento de uma região.

Verifique e comprometa a região configurada. 

Determine se os recursos e as propriedades especificados são válidos em um sistema hipotético. 

Consulte Configuração, verificação e comprometimento de uma região.

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

Regiões podem ser usadas em qualquer máquina que execute a versão Solaris 10. As considerações fundamentais sobre a máquina abaixo estão associadas ao uso de regiões.

Requisitos de espaço em disco

Não há limites para a quantidade de espaço em disco a ser consumida por uma região. O administrador global é responsável pela restrição do espaço. O administrador global deve garantir que o armazenamento local seja suficiente para conter o sistema de arquivos raiz de uma região não global. Mesmo um sistema uniprocessador pequeno pode oferecer suporte a diversas regiões em execução simultaneamente.

A natureza dos pacotes instalados na região global afeta os requisitos de espaço das regiões não globais que são criadas. O número de pacotes e requisitos de espaço são fatores.

Zona raiz esparsa

Na versão Solaris 10, as regiões não globais que possuem recursos inherit-pkg-dir são chamadas de regiões de raiz dispersa.

O modelo de zona raiz esparsa otimiza o compartilhamento de objetos das seguintes maneiras:

Neste modelo, todos os pacotes parecem estar instalados na região não global. Pacotes que não entregam conteúdo nos sistemas de arquivos montados com auto-retorno somente leitura são instalados completamente. Não há necessidade de instalar conteúdo entregue nos sistemas de arquivos montados com auto-retorno somente leitura, uma vez que esse conteúdo é herdado (e visível) da região global.

Sugere-se 40 megabytes adicionais de RAM por região, mas não necessários em uma máquina com espaço de permuta suficiente.

Zona raiz inteira

O modelo de zona raiz inteira fornece a configurabilidade máxima. Todos os pacotes necessários ou quaisquer pacotes do Solaris opcionais selecionados são instalados nos sistemas de arquivos privados da região. As vantagens deste modelo incluem a capacidade de os administradores globais personalizarem o layout do sistema de arquivos das regiões. Isso seria feito, por exemplo, para adicionar pacotes avulsos arbitrários ou de terceiros.

Os requisitos de espaço para este modelo são determinados pelo espaço em disco usado pelos pacotes atualmente instalados na região global.


Observação –

Se criar uma zona raiz esparsa que contenha os seguintes diretórios inherit-pkg-dir, você deve remover esses diretórios da configuração das regiões não globais antes de a região ser instaladas para ter uma zona raiz inteira:

Consulte Como configurar a região.


Restrição do tamanho de região

As seguintes opções podem ser usadas para restringir o tamanho de uma região:

Determine o nome do host de região e obtenha o endereço de rede

Você deve determinar o nome do host para a região. Em seguida, você deve atribuir um endereço IPv4 ou configurar e atribuir manualmente um endereço IPv6 para a região, se desejar que esta tenha conectividade de rede.

Nome do host de região

O nome do host que você seleciona para a região deve ser definido no banco de dados hosts ou no banco de dados /etc/inet/hosts, como especificado pelo arquivo /etc/nsswitch.conf na região global. Os bancos de dados de rede são arquivos que fornecem informações de configuração de rede. O arquivo nsswitch.conf especifica o serviço de identificação a ser usado.

Se você usar arquivos locais para o serviço de identificação, o banco de dados hosts será mantido no arquivo /etc/inet/hosts. Os nomes do host para as interfaces de rede da região são resolvidos a partir do banco de dados local hosts em /etc/inet/hosts. Como alternativa, o próprio endereço IP pode ser especificado diretamente ao se configurar uma região, de modo que a resolução do nome do host é necessária.

Para obter mais informações, consulte TCP/IP Configuration Files no System Administration Guide: IP Services e Network Databases and the nsswitch.conf File no System Administration Guide: IP Services .

Endereço de rede de região com IP compartilhado

Cada região com IP compartilhado que requer conectividade de rede tem um ou mais endereços IP exclusivos. Há suporte para os endereços IPv4 e IPv6.

Endereço de rede de região IPv4

Se você estiver usando IPv4, obtenha um endereço e atribua-o à região.

Um comprimento de prefixo também pode ser especificado com o endereço IP. O formato deste prefixo é address/prefix-length, por exemplo, 192.168.1.1/24. Assim, o endereço a ser usado é 192.168.1.1 a máscara de rede a ser usada é 255.255.255.0, ou a máscara em que os primeiros 24 bits são 1 bit.

Endereço de rede de região IPv6

Se estiver usando IPv6, você deve configurar o endereço manualmente. Normalmente, pelo menos os seguintes dois tipos de endereços devem ser configurados:

Endereço link-local

Um endereço link-local tem a forma fe80:: ID de interface de 64 bits/10. O /10 indica um comprimento de prefixo de 10 bits.

Endereço formado de um prefixo global configurado na sub-rede

Um endereço unicast global é baseado de um prefixo de 64 bits que o administrador configura para cada sub-rede, e um ID de interface de 64 bits. O prefixo também pode ser obtido executando o comando ifconfig com a opção -a6 em qualquer sistema na mesma sub-rede que foi configurada para usar IPv6.

O ID da interface de 64 bits é normalmente derivada de um endereço MAC do sistema. Para uso de regiões, um endereço alternativo que é exclusivo pode ser derivado do endereço IPv4 da região global, como a seguir:

16 bits of zero:upper 16 bits of IPv4 address:lower 16 bits of IPv4 address:a zone-unique number

Por exemplo, se o endereço IPv4 da região global for 192.168.200.10, um endereço link-local adequado para uma região não global que usa um número exclusivo de região 1 é fe80::c0a8:c80a:1/10. Se o prefixo global em uso nessa sub-rede for 2001:0db8:aabb:ccdd/64, um endereço unicast global para a mesma região não global é 2001:0db8:aabb:ccdd::c0a8:c80a:1/64 . Observe que você deve especificar um comprimento de prefixo ao configurar um endereço IPv6.

Para obter mais informações sobre link-local e endereços unicast globais, consulte a página do manual inet6(7P).

Endereço de rede de região com IP exclusivo

No interior de uma região com IP exclusivo, configure endereços da mesma forma que para a região global. Observe que a autoconfiguração de endereço DHCP e IPv6 sem informação de estado pode ser usada para configurar endereços.

Para obter mais informações, consulte sysidcfg(4).

Configuração do sistema de arquivos

Você pode especificar diversas montagens a serem executadas quando a plataforma virtual é configurada. Sistemas de arquivos que são montados com auto-retorno em uma região usando-se o sistema de arquivos virtual com auto-retorno (LOFS) devem ser montados com a opção nodevices. Para obter informações sobre a opção nodevices, consulte Sistemas de arquivos e regiões não globais.

LOFS permite que você crie um novo sistema de arquivos virtual para que possa acessar arquivos usando um nome de caminho alternativo. Em uma região não global, uma montagem com auto-retorno faz com que a hierarquia do sistema de arquivos pareça como se duplicada sob a raiz da região. Na região, todos os arquivos serão acessíveis com um nome de caminho que começa a partir da raiz da região. A montagem LOFS preserva o espaço de nome do sistema de arquivos.

Figura 18–1 Sistemas de arquivo montados com auto-retorno

A ilustração mostra sistemas de arquivos montados com auto-retorno.

Para obter mais informações, consulte a página do manual lofs(7S).

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

Tarefa 

Descrição 

Para instruções 

Configure uma região não global. 

Use o comando zonecfg para criar uma região, verificar a configuração e comprometer a configuração.

Você também pode usar um script para configurar e inicializar várias regiões no sistema. Você pode usar o comando zonecfg para exibir a configuração de uma região não global.

Configuração, verificação e comprometimento de uma região, Script para configurar várias regiões

Modifique uma configuração de região. 

Use este procedimento para modificar um tipo de recurso na configuração de uma região ou adicione um dispositivo dedicado a uma região. 

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

Reverta a configuração de uma região ou exclua a configuração de uma região. 

Use o comando zonecfg para desfazer uma definição de recurso feita para uma configuração de região ou para excluir uma configuração de região.

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

Exclua uma configuração de região. 

Use o comando zonecfg com o subcomando delete para excluir uma configuração de região do sistema.

Como excluir uma configuração de região

Configuração, verificação e comprometimento de uma região

Você usa o comando zonecfg descrito na página do manual 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 região global.

Ao configurar uma região 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 região.

Um script para configurar várias regiões no sistema é fornecido em Script para configurar várias regiões.

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

ProcedureComo configurar a região

Observe que os únicos elementos necessários para criar uma região 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 região para obter informações disponíveis sobre as propriedades e recursos de zonecfg.

É necessário ser administrador global na região 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 região com o nome de região 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 região, será exibida a seguinte mensagem do sistema:


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

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


    zonecfg:my-zone> create
    
  4. Defina o caminho para a região, /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 região é inicializada automaticamente quando a região global é inicializada. Observe que, para as regiões serem inicializadas automaticamente, as regiões 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 região.


    zonecfg:my-zone> set bootargs="-m verbose"
    
  7. Dedique uma CPU a esta região.


    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 região global deve ser montado como /usr/local na região que está sendo configurada.


      zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local
      

      Na região 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 nomeado sales no grupo 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 auto-retorno a partir da região 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 região global seja montado no modo somente leitura na região que está sendo configurada.


      zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw
      

      Observação –

      O banco de dados de empacotamento da região é atualizado para refletir os pacotes. Estes recursos não podem ser modificados ou removidos após a região 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 região:

    • 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 região 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 região 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 região.


      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 região para a região.


    zonecfg:my-zone> verify
    
  21. Comprometa a configuração da região para a região.


    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 regiões para instalar a configuração da região comprometida.

Script para configurar várias regiões

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

É necessário ser administrador global na região global para executar o script. O administrador global tem privilégios de superusuário na região 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

ProcedureComo exibir a configuração de uma região não global

É necessário ser administrador global na região 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 região.


    global# zonecfg -z zonename info
    

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

Você também pode usar o comando zonecfg para fazer o seguinte:

ProcedureComo modificar um tipo de recurso na configuração de uma região

Você pode selecionar um tipo de recurso e modificar a especificação para esse recurso.

Observe que o conteúdo de pacotes de software no diretório inherit-pkg-dir não pode ser modificado ou removido após a região ter sido instalada com zoneadm.

É necessário ser administrador global na região 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. Selecione a região a ser modificada, my-zone neste procedimento.


    global# zonecfg -z my-zone
    
  3. Selecione o tipo de recurso a ser alterado, por exemplo um controle de recurso.


    zonecfg:my-zone> select rctl name=zone.cpu-shares
    
  4. Remova o valor atual.


    zonecfg:my-zone:rctl> remove value (priv=privileged,limit=20,action=none)
    
  5. Adicione o novo valor.


    zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)
    
  6. Finalize a especificação rctl revisada.


    zonecfg:my-zone:rctl> end
    
  7. Comprometa a configuração da região para a região.


    zonecfg:my-zone> commit
    
  8. 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.

    Alterações comprometidas feitas através de zonecfg tem efeito na próxima vez que a região for inicializada.

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

Use este procedimento para redefinir a propriedade independente.

  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. Selecione a região a ser modificada, my-zone neste procedimento.


    global# zonecfg -z my-zone
    
  3. Limpe a propriedade a ser alterada, a associação de grupo existente neste procedimento.


    zonecfg:my-zone> clear pool
    
  4. Comprometa a configuração da região para a região.


    zonecfg:my-zone> commit
    
  5. 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.

    Alterações comprometidas feitas através de zonecfg tem efeito na próxima vez que a região for inicializada.

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

Use este procedimento para redefinir a propriedade independente que não tenha propriedades relacionadas a serem configuradas. Por exemplo, para remover a associação de grupo existente, você pode redefinir o recurso pool como null.

  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. Selecione a região a ser modificada, my-zone neste procedimento.


    global# zonecfg -z my-zone
    
  3. Redefina a propriedade a ser alterada, a associação de grupo existente neste procedimento.


    zonecfg:my-zone> set pool=""
    
  4. Comprometa a configuração da região para a região.


    zonecfg:my-zone> commit
    
  5. 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.

    Alterações comprometidas feitas através de zonecfg tem efeito na próxima vez que a região for inicializada.

ProcedureSolaris 10 8/07: como renomear uma região

Este procedimento pode ser usado para renomear regiões que estão no estado de configurado ou no estado de instalado.

É necessário ser administrador global na região 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. Selecione a região a ser renomeada, my-zone neste procedimento.


    global# zonecfg -z my-zone
    
  3. Altere o nome da região, por exemplo para newzone.


    zonecfg:my-zone> set zonename=newzone
    
  4. Comprometa a alteração.


    zonecfg:newzone> commit
    
  5. Saia do comando zonecfg.


    zonecfg:newzone> exit
    

    Alterações comprometidas feitas através de zonecfg tem efeito na próxima vez que a região for inicializada.

ProcedureComo adicionar um dispositivo dedicado a uma região

A especificação abaixo coloca um dispositivo de escaneamento em uma configuração de região não global.

É necessário ser administrador global na região 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. Adicione um dispositivo.


    zonecfg:my-zone> add device
    
  3. Defina a correspondência do dispositivo, /dev/scsi/scanner/c3t4* neste procedimento.


    zonecfg:my-zone:device> set match=/dev/scsi/scanner/c3t4*
    
  4. Finalize a especificação do dispositivo.


    zonecfg:my-zone:device> end
    
  5. Saia do comando zonecfg.


    zonecfg:my-zone> exit
    

ProcedureComo definir zone.cpu-shares na região global

Este procedimento é usado para definir compartilhamentos persistentemente na região global.

É necessário ser administrador global na região 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. Use o comando zonecfg.


    # zonecfg -z global
    
  3. Defina cinco compartilhamentos para a região global.


    zonecfg:global> set cpu-shares=5
    
  4. Saia de zonecfg.


    zonecfg:global> exit
    

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

Use o comando zonecfg descrito em zonecfg(1M) para reverter a configuração de uma região ou excluir a configuração de uma região.

ProcedureComo reverter uma configuração de região

Ao configurar uma região com o utilitário zonecfg, use o subcomando revert para desfazer a configuração de recurso feita na configuração da região.

É necessário ser administrador global na região 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. Ao configurar uma região chamada tmp-zone , digite info para visualizar a configuração:


    zonecfg:tmp-zone> info
    

    O segmento do recurso net da configuração é exibido como a seguir:


    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    net:
            address: 192.168.0.1
            physical: eri0
    device
            match: /dev/pts/*
    .
    .
    .
  3. Remova o endereço de net:


    zonecfg:tmp-zone> remove net address=192.168.0.1
    
  4. Verifique se a entrada net foi removida.


    zonecfg:tmp-zone> info
    

    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    device
            match: /dev/pts/*
    .
    .
    .
  5. Digite revert.


    zonecfg:tmp-zone> revert
    
  6. Responda Sim à seguinte pergunta:


    Are you sure you want to revert (y/[n])? y
    
  7. Verifique se o endereço de net está presente novamente:


    zonecfg:tmp-zone> info
    

    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    net:
            address: 192.168.0.1
            physical: eri0
    device
            match: /dev/pts/*
    .
    .
    .

ProcedureComo excluir uma configuração de região

Use o comando zonecfg com o subcomando delete para excluir uma configuração de região do sistema.

É necessário ser administrador global na região 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. Exclua a configuração de região para a região a-zone usando um dos dois métodos seguintes:

    • Use a opção -F para forçar a ação:


      global# zonecfg -z a-zone delete -F
      
    • Exclua a região interativamente respondendo Sim para o prompt do sistema:


      global# zonecfg -z a-zone delete
      Are you sure you want to delete zone a-zone (y/[n])? y