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)) |
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
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
Determine o nome do host de zona e obtenha o endereço de rede
Endereço de rede de zona com IP compartilhado
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)
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)
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)
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)
Você usa o comando zonecfg descrito na página man zonecfg(1M) para executar as ações a seguir.
Criar a configuração da zona
Verificar se todas as informações necessárias estão presentes
Confirmar a configuração da zona não global
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.
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.
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 .
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.
Este procedimento usa as configurações padrão da
zonecfg:my-zone> create
zonecfg:my-zone> set zonepath=/export/home/my-zone
Não coloque zonepath no ZFS em versões anteriores ao Solaris 10 10/08.
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
zonecfg:my-zone> set bootargs="-m verbose"
zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=1-2
zonecfg:my-zone:dedicated-cpu> set importance=10
O padrão é 1.
zonecfg:my-zone:dedicated-cpu> end
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.
zonecfg:my-zone> set scheduling-class=FSS
zonecfg:my-zone> add capped-memory
zonecfg:my-zone:capped-memory> set physical=50m
zonecfg:my-zone:capped-memory> set swap=100m
zonecfg:my-zone:capped-memory> set locked=30m
zonecfg:my-zone:capped-memory> end
zonecfg:my-zone> add fs
zonecfg:my-zone:fs> set dir=/usr/local
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.
zonecfg:my-zone:fs> set type=lofs
O tipo indica como o kernel interage com o 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.
zonecfg:my-zone> set hostid=80f0c086
zonecfg:my-zone> add dataset
zonecfg:my-zone> set name=tank/sales
zonecfg:my-zone> end
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
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.
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
zonecfg:my-zone> set ip-type=exclusive
Observação - Somente o tipo de dispositivo físico será especificado na etapa add net.
zonecfg:my-zone> add net
zonecfg:my-zone:net> set address=192.168.0.1
zonecfg:my-zone:net> set physical=hme0
zonecfg:my-zone:net> set defrouter=10.0.0.1
zonecfg:my-zone:net> end
Esta etapa pode ser executada mais de uma vez para adicionar mais de uma interface de rede.
zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=/dev/sound/*
zonecfg:my-zone:device> end
Esta etapa pode ser executada mais de uma vez para adicionar mais de um dispositivo.
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.
zonecfg:my-zone> add attr
zonecfg:my-zone:attr> set name=comment
zonecfg:my-zone:attr> set type=string
zonecfg:my-zone:attr> set value="This is my work zone."
zonecfg:my-zone:attr> end
zonecfg:my-zone> verify
zonecfg:my-zone> commit
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.
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"
Consulte Instalação e inicialização de zonas para instalar a configuração da região comprometida.
Você pode usar este script para configurar e inicializar várias zonas no sistema. O script toma os seguintes parâmetros:
O número de zonas a serem criadas
O prefixo zonename
O diretório a ser usado como o diretório base
É 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
É necessário ser administrador global na zona global para executar este procedimento.
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 .
global# zonecfg -z zonename info