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)
O que há de novo neste capítulo?
Processo de configuração de pré-instalação
Inicialização automática de zona
Associação de pools de recursos
Solaris 10 8/07: recurso dedicated-cpu
Solaris 10 5/08: recurso capped-cpu
Classe de agendamento em uma zona
Solaris 10 8/07: controle da memória física e o recurso capped-memory
Zonas não globais com IP compartilhado
Solaris 10 8/07: zonas não globais com IP exclusivo
Diferenças de segurança entre zonas não globais com IP compartilhado e IP exclusivo
Uso de zonas não globais com IP compartilhado e IP exclusivo ao mesmo tempo
Sistemas de arquivos montados em zonas
Dispositivos configurados em zonas
Definição de controles de recursos de zonas
Solaris 10 11/06 e versões posteriores: Privilégios configuráveis
Inclusão de comentário para uma zona
Modo de comando de arquivo zonecfg
Biblioteca de edição da linha de comando tecla
18. Planejamento e configuração de zonas não globais (Tarefas)
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)
Os dados de configuração da zona estão formados por dois tipos de entidades, recursos e propriedades. Cada recurso tem um tipo, e cada recurso também tem um conjunto ou mais de propriedades. As propriedades têm nomes e valores. O conjunto de propriedades é dependente do tipo de recurso.
Os tipos de recurso e propriedade são descritos abaixo:
O nome da zona identifica a zona para o utilitário de configuração. As seguintes regras aplicam-se a nomes de zonas:
Cada zona deve ter um nome exclusivo.
Um nome de zona diferencia maiúsculas de minúsculas.
Um nome de zona deve começar com um caractere alfanumérico.
O nome pode conter caracteres alfanuméricos, barras inferiores (_), hifens (-) e pontos (.).
O nome não pode ter mais de 64 caracteres.
O nome global e todos os nomes que começam com SUNW são reservados e não podem ser usados.
A propriedade zonepath é o caminho que contém a raiz da zona. Cada zona possui um diretório raiz que reside no sistema de arquivos do diretório raiz da zona global sob sua zonepath. No momento da instalação da zona, a hierarquia de diretório zonepath será criada com o proprietário e modo apropriados. O diretório zonepath é exigido para pertencer a raiz com o modo700.
O caminho raiz da zona global é um nível inferior. O diretório raiz da zona tem as mesmas posses e permissões que o diretório raiz ( /) na zona global. O diretório da zona deve pertencer a root com o modo 755. Esses diretórios são criados automaticamente com as permissões corretas e não requerem verificação pelo administrador de zonas. Esta hierarquia garante que usuários não privilegiados na zona global não atravessem um sistema de arquivos da zona não global.
|
Consulte Atravessamento de sistemas de arquivos para mais discussões sobre esta questão.
Observação - Consulte Oracle Solaris 10 6/06, Oracle Solaris 10 11/06, Oracle Solaris 10 8/07 e Oracle Solaris 10 5/08: não colocar o sistema de arquivos raiz de uma zona global no ZFS para restrições de ZFS nestas versões.
Se esta propriedade estiver definida para verdadeira, a zona será inicializada automaticamente quando a zona global for inicializada. Observe que se o serviço de zonas svc:/system/zones:default estiver desativado, a zona não será inicializada automaticamente, independentemente da configuração desta propriedade. Você pode ativar o serviço de zonas com o comando svcadm descrito na página man svcadm(1M):
global# svcadm enable zones
Solaris 10 8/07: Esta propriedade é usada para definir um argumento de inicialização para a zona. O argumento de inicialização é aplicado, a menos que seja ignorada pelos comando reboot, zoneadm boot ou zoneadm reboot. Consulte Solaris 10 8/07: argumentos de inicialização de zona.
Esta propriedade é usada para associar a zona a um grupo de recursos no sistema. Várias zonas podem compartilhar os recursos de um pool. Consulte também Solaris 10 8/07: recurso dedicated-cpu.
Solaris 10 11/06 e posterior: Esta propriedade é usada para especificar uma máscara de privilégio diferente da padrão. Consulte Privilégios em uma zona não global.
Privilégios são adicionados especificando-se o nome do privilégio, com ou sem o primeiro priv_. Privilégios são excluídos precedendo-se o nome com um traço (-) ou um sinal de exclamação (!). Os valores de um privilégio são separados por vírgulas e colocados entre aspas (“).
Como descrito em priv_str_to_set(3C), os conjuntos de privilégios especiais de none, all e basic expandem-se para as definições normais. Uma vez que a configuração de zona deriva da zona global, o conjunto de privilégios especiais zone não pode ser usado. Visto que um uso comum é alterar o conjunto de privilégios padrão adicionando ou removendo determinados privilégios, o conjunto especial default mapeia para o padrão, conjunto de privilégios. Quando default aparece no início da propriedade limitpriv, ele expande-se para o conjunto padrão.
A entrada seguinte adicionar a capacidade para usar programas do DTrace que somente requerem os privilégios dtrace_proc e dtrace_user na zona:
global# zonecfg -z userzone zonecfg:userzone> set limitpriv="default,dtrace_proc,dtrace_user"
Se o conjunto de privilégios da zona contiver um privilégio não permitido, não tiver um privilégio necessário ou incluir um privilégio desconhecido, uma tentativa de verificação, pronto ou inicialização da zona irá falhar com uma mensagem de erro.
Solaris 10 8/07: Esta propriedade define a classe de agendamento para a zona. Para obter informações adicionais e dicas, consulte Classe de agendamento em uma zona.
Solaris 10 8/07: É necessário que esta propriedade seja definida somente se a zona for uma zona com IP exclusivo. Consulte Solaris 10 8/07: zonas não globais com IP exclusivo e Como configurar a zona.
Solaris 10 8/07: Este recurso dedica um subconjunto de processadores do sistema à zona enquanto está em execução. O recurso dedicated-cpu fornece limites para ncpus e, opcionalmente, importância . Para obter mais informações, consulte Solaris 10 8/07: recurso dedicated-cpu.
Solaris 10 5/08: Este recurso define um limite na quantidade de recursos da CPU que podem consumidos pela região durante a sua execução. O recurso fornece um limite para ncpus.
Solaris 10 8/07: Este recurso agrupa as propriedades usadas ao se limitar a memória para a zona. O recurso capped-memory fornece limites para a memória física, de permuta e bloqueada. Pelo menos uma destas propriedades deve ser especificada.
Solaris 10 6/06: A adição do recurso de conjunto de dados do sistema de arquivos do ZFS permite a delegação da administração do armazenamento a uma zona não global. O administrador de zonas pode criar e destruir sistemas de arquivos dentro desse conjunto de dados, criar e destruir clones e modificar as propriedades do conjunto de dados. O administrador de zonas não pode afetar conjuntos de dados que foram adicionados à zona ou excederam quaisquer cotas de nível superior no conjunto de dados atribuído à zona.
Conjuntos de dados do ZFS podem ser adicionados a uma zona das seguintes maneiras.
Como um sistema de arquivos montado lofs, quando o objetivo é unicamente compartilhar espaço com a zona global
Como um conjunto de dados delegado
Consulte o Capítulo 10, Tópicos avançados do ZFS do Oracle Solaris, no Guia de administração do ZFS Oracle Solaris e Sistemas de arquivos e zonas não globais.
Para obter informações sobre problemas do conjunto de dados, consulte também o Capítulo 30, Soluções diversas de problemas do Oracle Solaris Zones.
Cada zona pode ter vários sistemas de arquivos que são montados quando a zona for passada do estado de instalado para o estado de pronto. O recurso do sistema de arquivos especifica o caminho para o ponto de montagem do sistema de arquivos. Para obter mais informações sobre o uso de sistemas de arquivos em zonas, consulte Sistemas de arquivos e zonas não globais.
Este recurso não deve ser configurado em uma zona raiz inteira.
Em uma zona de raiz esparsa, o recurso inherit-pkg-dir é usado para representar diretórios que contêm pacote de software que uma zona não global compartilha com a zona global.
O conteúdo dos pacotes de software transferidos para o diretório inherit-pkg-dir é herdado no modo somente leitura pela zona não global. 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.
Observação - Por padrão, recursos inherit-pkg-dir são incluídos na configuração. Estes recursos de diretório indicam quais diretórios devem ter pacotes associados herdados da zona global. Os recursos são implementados através de uma montagem de sistema de arquivos com loopback somente leitura.
/lib
/platform
/sbin
/usr
O recurso de interface de rede é o nome da interface virtual. Cada zona pode ter interfaces de rede que devem ser configuradas quando a zona passa do estado de instalado para o estado de pronto.
O recurso de dispositivo é o especificador de coincidência de dispositivo. Cada zona pode ter dispositivos que devem ser configurados quando a zona passa do estado de instalado para o estado de pronto.
O recurso rctl é usado para controles gerais de zona. Os controles são ativados quando a zona passa do estado de instalado para o estado de pronto.
Um hostid que é diferente dohostid da zona global pode ser configurado.
Este atributo genérico pode ser usado para comentários de usuário ou por outros subsistemas. A propriedade name de um attr deve começar com um caractere alfanumérico. A propriedade name pode conter caracteres alfanuméricos, hifens (-) e pontos (.). Nomes de atributos iniciados com zone. são reservados para uso pelo sistema.
Recursos também têm propriedades a serem configuradas. As propriedades a seguir estão associadas aos tipos de recursos mostrados.
ncpus, importance
Solaris 10 8/07: Especifica o número de CPUs e, opcionalmente, a importância relativa do grupo. O exemplo a seguir especifica um intervalo de CPU a ser usado pela zona my-zone. importance é também definido.
zonecfg:my-zone> add dedicated-cpu zonecfg:my-zone:dedicated-cpu> set ncpus=1-3 zonecfg:my-zone:dedicated-cpu> set importance=2 zonecfg:my-zone:dedicated-cpu> end
ncpus
Especifica o número de CPUs. O exemplo a seguir especifica um cap de CPU de 3,5 CPUs a ser usado pela zona my-zone.
zonecfg:my-zone> add capped-cpu zonecfg:my-zone:capped-cpu> set ncpus=3.5 zonecfg:my-zone:capped-cpu> end
physical, swap, locked
Especifica os limites de memória para a zona my-zone. Cada limite é opcional, mas pelo menos um deve ser definido.
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
dir, special, raw, type, options
Os parâmetros do recurso fs fornecem os valores para determinar como e onde montar sistemas de arquivos. Os parâmetros fs são definidos da seguinte maneira:
Especifica o ponto de montagem para o sistema de arquivos
Especifica o nome do dispositivo especial de bloco ou o diretório da zona global a ser montada
Especifica o dispositivo básico no qual executar fsck antes da montagem do sistema de arquivos
Especifica o tipo de sistema de arquivos
Especifica opções de montagem semelhantes às encontradas com o comando mount
As linhas no exemplo a seguir especificam que /dev/dsk/c0t0d0s2 na zona global deve ser montado como /mnt em uma zona que está sendo configurada. A propriedade raw especifica um dispositivo opcional no qual o comando fsck será executado antes de se fazer uma tentativa de montar o sistema de arquivos. O tipo de sistema de arquivos a ser usado é UFS. As opções nodevices e logging são adicionadas.
zonecfg:my-zone> add fs zonecfg:my-zone:fs> set dir=/mnt zonecfg:my-zone:fs> set special=/dev/dsk/c0t0d0s2 zonecfg:my-zone:fs> set raw=/dev/rdsk/c0t0d0s2 zonecfg:my-zone:fs> set type=ufs zonecfg:my-zone:fs> add options [nodevices,logging] zonecfg:my-zone:fs> end
Para obter mais informações, consulte A opção -o nosuid, Restrições de segurança e comportamento do sistema de arquivos, e as páginas man fsck(1M) e mount(1M). Observe também que as páginas man da seção 1M estão disponíveis para opções de montagem que são exclusivas de um sistema de arquivos específico. Os nomes dessas páginas man têm a forma mount_filesystem.
Observação - Para adicionar um sistema de arquivos ZFS utilizando a propriedade do recurso fs, consulte Adicionando sistemas de arquivos ZFS a uma região não global no Guia de administração do ZFS Oracle Solaris.
name
As linhas no exemplo a seguir especificam que o conjunto de dados sales será visível e montado na zona não global e não mais visível na zona global.
zonecfg:my-zone> add dataset zonecfg:my-zone> set name=tank/sales zonecfg:my-zone> end
dir
As linhas no exemplo a seguir especificam que /opt/sfw será montado com loopback a partir da zona global.
zonecfg:my-zone> add inherit-pkg-dir zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw zonecfg:my-zone:inherit-pkg-dir> end
address, physical, defrouter
Observação - para uma zona com IP compartilhado, o endereço IP e o dispositivo são especificados. Como opção, o roteador padrão pode ser definido.
A propriedade defrouter pode ser utilizada para configurar uma rota padrão quando a zona não global estiver em uma sub-rede que não está configurada na zona global.
Qualquer zona que possua o conjunto de propriedades defrouter deve estar em uma sub-rede que não está configurada na zona global.
Quando houver zonas de IP compartilhado em sub-redes diferentes, não configure um link de dados na zona global.
Para uma zona com IP exclusivo, somente a interface física é especificada. A propriedade física pode ser uma VNIC.
No exemplo a seguir para uma zona com IP compartilhado, o endereço IP 192.168.0.1 é adicionado à zona. Um placa hme0 é usada para a interface física. Para determinar a interface física a ser usada, digite ifconfig - a em seu sistema. Cada linha da saída, que não sejam linhas do driver de loopback, começa com o nome de uma placa instalada em seu sistema. Linhas que contêm LOOPBACK nas descrições não se aplicam a placas.
zonecfg:my-zone> add net zonecfg:my-zone:net> set physical=hme0 zonecfg:my-zone:net> set address=192.168.0.1 zonecfg:my-zone:net> end
No exemplo a seguir para uma zona com IP exclusivo, um link bge32001 é usado para a interface física. Para determinar quais links de dados estão disponíveis, use o comando dladm show-link. O link de dados deve ser GLDv3 para ser usado com zonas com IP exclusivo, e links de dados não GLDv3 aparecem como type: legacy na saída dladm show-link. Observe que ip-type=exclusive também deve ser especificado.
zonecfg:my-zone> set ip-type=exclusive zonecfg:my-zone> add net zonecfg:my-zone:net> set physical=bge32001 zonecfg:my-zone:net> end
match
No exemplo a seguir, um dispositivo /dev/pts é incluído em uma zona.
zonecfg:my-zone> add device zonecfg:my-zone:device> set match=/dev/pts* zonecfg:my-zone:device> end
name, value
Solaris 10 8/07: Novos controles de recursos para esta versão são zone.max-locked-memory, zone.max-msg-ids , zone.max-sem-ids, zone.max-shm-ids, zone.max-shm-memory e zone.max-swap.
Os seguintes controles de recursos de zona estão disponíveis:
zone.cpu-shares (preferred: cpu-shares )
zone.max-locked-memory
zone.max-lwps (preferred: max-lwps)
zone.max-msg-ids (preferred: max-msg-ids )
zone.max-sem-ids (preferred: max-sem-ids )
zone.max-shm-ids (preferred: max-shm-ids )
zone.max-shm-memory (preferred: max-shm-memory )
zone.max-swap
Observe que o método preferido, mais simples, para definir um controle de recursos de zona é usar o nome da propriedade, em vez do recurso rctl, como mostrado em Como configurar a zona. Se as entradas do controle de recurso de zona geral em uma zona forem configuradas usando-se add rctl, o formato será diferente das entradas do controle de recurso no banco de dados de project. Na configuração de uma zona, o tipo de recurso rctl consiste em três pares nome-valor. Os nomes são priv, limit e action. Cada nome tem um valor simples.
zonecfg:my-zone> add rctl zonecfg:my-zone:rctl> set name=zone.cpu-shares zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)zonecfg:my-zone:rctl> end
zonecfg:my-zone> add rctl zonecfg:my-zone:rctl> set name=zone.max-lwps zonecfg:my-zone:rctl> add value (priv=privileged,limit=100,action=deny) zonecfg:my-zone:rctl> end
Para obter informações gerais sobre controles de recursos e atributos, consulte o Capítulo 6, Controles de Recursos (Visão Geral) e Controles de recursos em zonas não globais.
name, type, value
No exemplo a seguir, é adicionado um comentário sobre uma zona.
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="Production zone" zonecfg:my-zone:attr> end
Você pode usar o subcomando export para imprimir uma configuração de zona para saída padrão. A configuração é salva em uma forma que pode ser usada em um arquivo de comando.