Os dados de configuração da região 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 como a seguir:
O nome da região identifica a região para o utilitário de configuração. As regras seguintes aplicam-se a nomes de regiões:
Cada região deve ter um nome exclusivo.
Um nome de região diferencia maiúsculas de minúsculas.
Um nome de região 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 região. Cada região possui um diretório raiz que reside no sistema de arquivos da região global sob sua zonepath. No momento da instalação da região, 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 para a raiz da região global é um nível inferior. O diretório raiz da região tem as mesmas posses e permissões que o diretório raiz ( /) na região global. O diretório da região deve ser pertencente 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 regiões. Esta hierarquia garante que usuários não privilegiados na região global não atravessem um sistema de arquivos da região não global.
Caminho |
Descrição |
---|---|
/home/export/my-zone |
zonecfg zonepath |
/home/export/my-zone/root |
Raiz da região |
/home/export/my-zone/dev |
Dispositivos criados para a região |
Consulte Atravessamento de sistemas de arquivos para mais discussões sobre esta questão.
Consulte Solaris 10 6/06, Solaris 10 11/06, Solaris 10 8/07 e Solaris 10 5/08: não colocar o sistema de arquivos raiz de uma região global no ZFS para restrições de ZFS nestas versões.
Se esta propriedade estiver definida para verdadeira, a região será inicializada automaticamente quando a região global for inicializada. Observe que se o serviço de regiões svc:/system/zones:default estiver desativado, a região não será inicializada automaticamente, independentemente da configuração desta propriedade. Você pode ativar o serviço de regiões com o comando svcadm descrito na página do manual 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 região.
Esta propriedade é usada para associar a região a um grupo de recursos no sistema. Várias regiões podem compartilhar os recursos de um grupo. 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 região 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 região deriva da região 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 região:
global# zonecfg -z userzone zonecfg:userzone> set limitpriv="default,dtrace_proc,dtrace_user" |
Se o conjunto de privilégios da região 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 região irá falhar com uma mensagem de erro.
Solaris 10 8/07: Esta propriedade define a classe de agendamento para a região. Para obter informações adicionais e dicas, consulte Classe de agendamento em uma região.
Solaris 10 8/07: É necessário que esta propriedade seja definida somente se a região for uma região com IP exclusivo. Consulte Solaris 10 8/07: regiões não globais com IP exclusivo e Como configurar a região.
Solaris 10 8/07: Este recurso dedica um subconjunto de processadores do sistema à região 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 região. 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 região não global. O administrador de região 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 da região não pode afetar conjuntos de dados que foram adicionados à região ou excederam quaisquer cotas de nível superior no conjunto de dados atribuído à região.
Conjuntos de dados do ZFS podem ser adicionados a uma região nas seguintes maneiras.
Como um sistema de arquivos montado lofs, quando o objeto é unicamente compartilhar espaço com a região 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 regiões não globais.
Para obter informações sobre problemas do conjunto de dados, consulte também o Capítulo 30Soluções diversas de problemas do Solaris Zones.
Cada região pode ter vários sistemas de arquivos que são montados quando a região 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 regiões, consulte Sistemas de arquivos e regiões não globais.
Este recurso não deve ser configurado em uma zona raiz inteira.
Em uma zona raiz inteira, o recurso inherit-pkg-dir é usado para representar diretórios que contêm pacote de software que uma região não global compartilha com a região global.
O conteúdo dos pacotes de software transferidos para o diretório inherit-pkg-dir é herdado no modo somente leitura pela região não global. 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.
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 região global. Os recursos são implementados através de uma montagem de sistema de arquivos com auto-retorno somente leitura.
/lib
/platform
/sbin
/usr
O recurso de interface de rede é o nome da interface virtual. Cada região pode ter interfaces de rede que devem ser configuradas quando a região passa do estado de instalado para o estado de pronto.
O recurso de dispositivo é o especificador de coincidência de dispositivo. Cada região pode ter dispositivos que devem ser configurados quando a região passa do estado de instalado para o estado de pronto.
O recurso rctl é usado para controles gerais de região. Os controles são ativados quando a região passa do estado de instalado para o estado de pronto.
Um hostid que é diferente dohostid da região 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 região 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 seguinte especifica um cap de CPU de 3,5 CPUs a ser usado pela região 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 regiãomy-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 de fs são definidos como a seguir:
Especifica o ponto de montagem para o sistema de arquivos
Especifica o nome do dispositivo especial de bloco ou o diretório da região 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 seguinte especificam que /dev/dsk/c0t0d0s2 na região global deve ser montado como /mnt em uma região 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 do manual fsck(1M) e mount(1M). Observe também que as páginas do manual 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 do manual têm a forma mount_filesystem.
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.
nome
As linhas no exemplo seguinte especificam que o conjunto de dados sales será visível e montado na região não global e não mais visível na região global.
zonecfg:my-zone> add dataset zonecfg:my-zone> set name=tank/sales zonecfg:my-zone> end |
dir
As linhas no exemplo seguinte especificam que /opt/sfwserá montado com auto-retorno a partir da região 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
para uma região 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 região não global estiver em uma subrede que não está configurada na região global.
Qualquer região que possua o conjunto de propriedades defrouter deve estar em uma subrede que não está configurada na região global.
Quando houver regiões de IP compartilhado em subredes diferentes, não configure um link de dados na região global.
Para uma região com IP exclusivo, somente a interface física é especificada. A propriedade física pode ser uma VNIC.
No exemplo seguinte para uma região com IP compartilhado, o endereço IP 192.168.0.1 é adicionado à região. 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 linhas do driver de auto-retorno, 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 seguinte para uma região 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 regiões 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 seguinte, um dispositivo /dev/pts é incluído em uma região.
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 região geral estão disponíveis:
zone.cpu-shares (preferido: cpu-shares )
zone.max-locked-memory
zone.max-lwps (preferido: max-lwps)
zone.max-msg-ids (preferido: max-msg-ids )
zone.max-sem-ids (preferido: max-sem-ids )
zone.max-shm-ids (preferido: max-shm-ids )
zone.max-shm-memory (preferido: max-shm-memory )
zone.max-swap
Observe que o método preferido, mais simples, para definir um controle de recursos de região geral é usar o nome da propriedade, em vez do recurso rctl, como mostrado em Como configurar a região. Se as entradas do controle de recurso de região geral em uma região 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 região, 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 6Controles de recursos (visão geral) e Controles de recursos em regiões não globais.
name, type, value
No exemplo a seguir, é adicionado um comentário sobre uma região.
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 região para saída padrão. A configuração é salva em uma forma que pode ser usada em um arquivo de comando.