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.
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. |
|
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.. |
Você usa o comando zonecfg descrito na página do manual zonecfg(1M) para executar as ações a seguir.
Criar a configuração da região
Verificar se todas as informações necessárias estão presentes
Comprometer a configuração da região não global
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.
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.
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.
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 .
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. |
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 |
Defina o caminho para a região, /export/home/lx-zone neste procedimento.
zonecfg:lx-zone> set zonepath=/export/home/lx-zone |
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 |
Defina argumentos de inicialização persistentes para uma região.
zonecfg:lx-zone> set bootargs="-i=altinit" |
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.
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.
Defina cinco compartilhamentos de CPU.
zonecfg:lx-zone> set cpu-shares=5 |
Adicione um limite de memória.
zonecfg:lx-zone> add capped-memory |
Defina o limite de memória.
zonecfg:lx-zone:capped-memory> set physical=50m |
Defina o limite da memória de permuta.
zonecfg:lx-zone:capped-memory> set swap=100m |
Defina o limite da memória bloqueada.
zonecfg:lx-zone:capped-memory> set locked=30m |
Finalize a especificação.
zonecfg:lx-zone:capped-memory> end |
Adicione um sistema de arquivos.
zonecfg:lx-zone> add fs |
Defina um ponto de montagem para o sistema de arquivos, /export/linux/local neste procedimento.
zonecfg:lx-zone:fs> set dir=/export/linux/local |
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.
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.
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.
Adicione uma interface virtual de rede.
zonecfg:lx-zone> add net |
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 |
Defina o tipo de dispositivo físico para a interface de rede, o dispositivo bge neste procedimento.
zonecfg:lx-zone:net> set physical=bge0 |
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.
Ative um dispositivo de áudio presente na região global nesta região usando o tipo de recurso attr.
zonecfg:lx-zone> add attr |
Verifique a configuração da região para a região.
zonecfg:lx-zone> verify |
Comprometa a configuração da região para a região.
zonecfg:lx-zone> commit |
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.
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" |
Consulte Instalação e inicialização de regiões com marca lx para instalar a configuração da região comprometida.
Você pode usar este script para configurar e inicializar várias regiões no sistema. O script toma os seguintes parâmetros:
O número de regiões a serem criadas
O prefixo zonename
O diretório a ser usado como o diretório base
É 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 |
É necessário ser administrador global na região global para executar este procedimento.
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 .
Exiba a configuração de uma região.
global# zonecfg -z zonename info |
As seções a seguir contêm procedimentos para modificar, reverter ou remover uma configuração de região.