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

Capítulo 33 Configuração da região com marca lx (tarefas)

Este capítulo descreve como configurar uma região com marca lx no sistema baseado em x64 ou x86. O processo é basicamente igual ao procedimento para configurar uma região do Solaris. Algumas das propriedades não são necessárias para configurar uma região com marca.

Planejamento e configuração de uma região com marca lx (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 lx.

Tarefa 

Descrição 

Para instruções 

Planeje a estratégia de região. 

  • Determine quais aplicativos você deseja executar em regiões.

  • Avalie a disponibilidade de espaço em disco para conter os arquivos 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.

  • Se estiver usando grupos de recursos, configura os grupos, se necessário.

Consulte Requisitos de sistema e espaço e Grupos de recursos usados em regiões.

Determine o nome e o caminho da zona. 

Decida como chamar a região baseado nas convenções de nomes. É recomendável um caminho em Zetabyte File System (ZFS). Quando a fonte zonepath e o destino zonepath residirem no ZFS e estiverem no mesmo grupo, o comando zoneadm clone usará automaticamente o ZFS para clonar a região.

Consulte Tipos de recurso e propriedade e Guia de administração do ZFS Oracle Solaris.

Obtenha ou configure 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. 

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

Determine se deseja montar sistemas de arquivos 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 Tipos de recurso e propriedade e Privilégios em uma região não global.

Configure a região. 

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

Consulte Como configurar, verificar e comprometer a região com marca lx..

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 Como configurar, verificar e comprometer a região com marca lx..

Como configurar a região com marca lx

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


Dica –

Se você souber que irá usar CDs ou DVDs para instalar aplicativos em região com marca lx, use add fs para adicionar acesso de somente leitura à mídia CD ou DVD na região global quando configurar inicialmente a região com marca. Um CD ou um DVD pode ser usado para instalar um produto na região com marca.


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 com marca lx.

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


Dica –

Depois de configurar a região com marca, é recomendável fazer uma cópia da configuração da região. Você pode usar esse backup para restaurar a região no futuro. Como superusuário ou administrador principal, imprima a configuração da zona lx-zone em um arquivo. Este exemplo usa um arquivo nomeado lx-zone.config.


global# zonecfg -z lx-zone export > lx-zone.config

Para obter mais informações, consulte Como restaurar uma região não global individual.


ProcedureComo configurar, verificar e comprometer a região com marca lx.

Observe que não é possível usar regiões com marca lx em um sistema Trusted Solaris em que rótulos estão ativados. O comando zoneadm não verificará a configuraçã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. Defina uma configuração de região com o nome de região escolhido.

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


    global# zonecfg -z lx-zone
    

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


    lx-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. Crie a nova configuração da região lx usando o modelo SUNWlx.


    zonecfg:lx-zone> create -t SUNWlx
    

    Como alternativa, você pode criar uma região em branco e definir a marca explicitamente:


    zonecfg:lx-zone> create -b
    zonecfg:lx-zone> set brand=lx
    
  4. Defina o caminho para a região, /export/home/lx-zone neste procedimento.


    zonecfg:lx-zone> set zonepath=/export/home/lx-zone
    
  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:lx-zone> set autoboot=true
    
  6. Defina argumentos de inicialização persistentes para uma região.


    zonecfg:lx-zone> set bootargs="-i=altinit"
    
  7. Se grupos de recursos estiverem ativados no sistema, associe um grupo à região.

    Este exemplo usa o grupo padrão, chamado pool_default.


    zonecfg:lx-zone> set pool=pool_default
    

    Uma vez que um grupo de recursos pode ter uma atribuição opcional da classe de agendamento, você pode usar o recurso dos grupos para definir um agendador padrão que não seja o padrão do sistema para uma região não global. Para obter instruções, consulte Como associar um grupo a uma classe de agendamento e Criação da configuração.

  8. Revise o conjunto padrão de privilégios.


    zonecfg:lx-zone> set limitpriv="default,proc_priocntl"
    

    O privilégio proc_priocntl é usado para executar processos na classe em tempo real.

  9. Defina cinco compartilhamentos de CPU.


    zonecfg:lx-zone> set cpu-shares=5
    
  10. Adicione um limite de memória.


    zonecfg:lx-zone> add capped-memory
    
    1. Defina o limite de memória.


      zonecfg:lx-zone:capped-memory> set physical=50m
      
    2. Defina o limite da memória de permuta.


      zonecfg:lx-zone:capped-memory> set swap=100m
      
    3. Defina o limite da memória bloqueada.


      zonecfg:lx-zone:capped-memory> set locked=30m
      
    4. Finalize a especificação.


      zonecfg:lx-zone:capped-memory> end
      
  11. Adicione um sistema de arquivos.


    zonecfg:lx-zone> add fs
    
    1. Defina um ponto de montagem para o sistema de arquivos, /export/linux/local neste procedimento.


      zonecfg:lx-zone:fs> set dir=/export/linux/local
      
    2. Especifique que /opt/local na região global deve ser montado como /export/linux/local na região que está sendo configurada.


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

      Na região não global, o sistema de arquivos /export/linux/local será legível e gravável.

    3. Especifique o tipo de sistema de arquivos, lofs neste procedimento.


      zonecfg:lx-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:lx-zone:fs> end
      

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

  12. Adicione uma interface virtual de rede.


    zonecfg:lx-zone> add net
    
    1. Defina o endereço IP na forma ip address of zone/netmask. Neste procedimento, 10.6.10.233/24 é usado.


      zonecfg:lx-zone:net> set address=10.6.10.233/24
      
    2. Defina o tipo de dispositivo físico para a interface de rede, o dispositivo bge neste procedimento.


      zonecfg:lx-zone:net> set physical=bge0
      
    3. Finalize a especificação.


      zonecfg:lx-zone:net> end
      

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

  13. Ative um dispositivo de áudio presente na região global nesta região usando o tipo de recurso attr.


    zonecfg:lx-zone> add attr
    
    1. Defina o nome como audio.


      zonecfg:lx-zone:attr> set name=audio
      
    2. Defina o tipo como boolean.


      zonecfg:lx-zone:attr> set type=boolean
      
    3. Defina o valor como true.


      zonecfg:lx-zone:attr> set value=true
      
    4. Finalize a especificação do tipo de recurso attr.


      zonecfg:lx-zone:attr> end
      
  14. Verifique a configuração da região para a região.


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


    zonecfg:lx-zone> commit
    
  16. Saia do comando zonecfg.


    zonecfg:lx-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 lx-zone "create -t SUNWlx; set zonepath=/export/home/lx-zone"

O que fazer a seguir

Consulte Instalação e inicialização de regiões com marca lx para instalar a configuração da região comprometida.

Script para configurar várias regiões com marca lx

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" || -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

ProcedureComo exibir a configuração de uma região com marca

É 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
    

Modificação, reversão ou remoção de configurações de regiões

As seções a seguir contêm procedimentos para modificar, reverter ou remover uma configuração de região.