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

Dados de configuração de região

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.

Tipos de recurso e propriedade

Os tipos de recurso e propriedade são descritos como a seguir:

Nome da região

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.

zonepath

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.


Observaçã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.


autoboot

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
bootargs

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.

pool

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.

limitpriv

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.

scheduling-class

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.

ip-type

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.

dedicated-cpu

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.

capped-cpu resource

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.

recurso capped-memory

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.

dataset

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.

fs

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.

inherit-pkg-dir

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.


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


net

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.

device

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.

rctl

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.

hostid

Um hostid que é diferente dohostid da região global pode ser configurado.

attr

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.

Propriedades de tipo de recursos

Recursos também têm propriedades a serem configuradas. As propriedades a seguir estão associadas aos tipos de recursos mostrados.

dedicated-cpu

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
capped-cpu

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
capped-memory

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
fs

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:

dir

Especifica o ponto de montagem para o sistema de arquivos

special

Especifica o nome do dispositivo especial de bloco ou o diretório da região global a ser montada

raw

Especifica o dispositivo básico no qual executar fsck antes da montagem do sistema de arquivos

type

Especifica o tipo de sistema de arquivos

options

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.


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.


dataset

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
inherit-pkg-dir

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
net

address, physical, defrouter


Observação –

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
device

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
rctl

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.

attr

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.