Este capítulo descreve o que é necessário fazer antes de configurar uma região com marca lx no sistema baseado em x64 ou x86. Este capítulo também descreve como usar o comando zonecfg.
As considerações fundamentais sobre a máquina abaixo estão associadas ao uso de regiões com marca lx.
A máquina deve ser baseada em x64 ou x86.
É necessária que haja espaço suficiente disponível em disco para conter os arquivos que são exclusivos dentro de cada região lx. Os requisitos de espaço em disco para uma região lx são determinados pelo tamanho e pelo número de RPMs, ou de pacotes do Linux, que estejam instalados.
A marca lx oferece suporte somente ao modelo de toda a raiz, de modo que cada região instalada terá sua própria cópia de cada arquivo.
Não há limites para a quantidade de espaço em disco que pode ser consumida por uma região. O administrador global é responsável pela restrição do espaço. O administrador global deve garantir que o armazenamento local seja suficiente para conter o sistema de arquivos raiz de uma região não global. Dado um armazenamento suficiente, mesmo um sistema de uniprocessador pequeno pode oferecer suporte a diversas regiões executadas simultaneamente.
As seguintes opções podem ser usadas para restringir o tamanho de uma região:
Você coloca a região em uma partição montada em lofi. Esta ação limitará a quantidade de espaço consumida pela região à quantidade do arquivo usado por lofi. Para obter mais informações, consulte as páginas do manual lofiadm(1M) e lofi(7D).
Você pode usar partições suaves para dividir segmentos de disco ou volumes lógicos em partições. Pode usar essas partições como raízes de região e, assim, limitar o consumo de disco por região. O limite da partição suave é 8.192 partições. Para mais informações, consulte Capítulo 12, Soft Partitions (Overview), no Solaris Volume Manager Administration Guide.
Você pode usar as partições padrão de um disco para raízes de região e, assim, limitar o consumo de disco por região.
Cada região que requer conectividade de rede tem um ou mais endereços IP exclusivos. Endereços IPv4 são aceitos. É necessário atribuir um endereço IPv4 à região. Para obter mais informações, consulte Endereço de rede de região com marca. Como opção, você pode definir o roteador padrão da interface de rede conforme mostrado em Como configurar a região com marca lx.
O comando zonecfg é utilizado para:
Definir a marca para a região.
Criar a configuração da região lx.
Verificar a configuração para determinar se os recursos e as propriedades especificados são legais e internamente consistentes em um sistema hipotético baseado em x86 ou x64.
Executar uma verificação específica da marca. A verificação assegura o seguinte:
A região não pode ter quaisquer diretórios de pacote herdados, conjuntos de dados ZFS ou dispositivos adicionados.
Se a região estiver configurada para usar áudio, os dispositivos especificados (se houver algum) devem ser nenhum, padrão ou um único dígito.
A verificação executada pelo comando zonecfg verificar para uma determinada configuração visa:
Assegurar que o caminho da região esteja especificado
Assegurar que todas as propriedades necessárias para cada recurso estejam especificadas
Assegurar que requisitos de marca sejam cumpridos
Para obter mais informações sobre o comando zonecfg, consulte a página do manual zonecfg(1M).
Esta seção trata dos seguintes componentes:
Recursos e propriedades de região que podem ser configuradas usando-se o comando zonecfg
Recursos incluídos na configuração por padrão
É necessário escolher um nome e um caminho para a região.
A configuração da propriedade autoboot determina se a região é inicializada automaticamente quando uma região global é inicializada.
Se você configurou grupos de recursos no sistema como descrito no Capítulo 13Criação e administração de grupos de recursos (tarefas), pode usar a propriedade pool para associar a região a um dos grupos de recursos ao configurar a região.
Se grupos de recursos não estiverem configurados, você ainda pode especificar que um subconjunto dos processadores do sistema seja dedicado a uma região não global quando estiver em execução ao usar o recurso dedicated-cpu. O sistema criará dinamicamente um grupo temporário para uso enquanto a região estiver em execução.
Uma configuração de região que use um grupo persistente definido através da propriedade pool é incompatível com um grupo temporário configurado através do recurso dedicated-cpu. Você pode definir somente uma destas duas propriedades.
O recurso dedicated-cpu especifica que um subconjunto dos processadores do sistema deve ser dedicado a uma região não global enquanto estiver em execução. Quando a região for inicializada, o sistema criará dinamicamente um grupo temporário para uso enquanto a região estiver em execução.
O recurso dedicated-cpu define limites para ncpus e, opcionalmente, para importance.
Especifique o número de CPUs ou especifique um intervalo, como 2-4 CPUs. Se você especificar um intervalo porque deseja um comportamento dinâmico do grupo de recursos, faça também o seguinte:
Defina a propriedade importance.
Ative o serviço do grupo de recursos dinâmicos conforme descrito em Ativação e desativação da facilidade de grupos.
Se estiver utilizando um intervalo de CPU para atingir o comportamento dinâmico, defina também a propriedade importance. A propriedade importance, que é opcional, define a importância relativa do grupo. Esta propriedade é necessária somente quando você especifica um intervalo para ncpus e usa grupos de recursos dinâmicos gerenciados por poold. Se poold não estiver em execução, importance será ignorado. Se poold estiver em execução e importance não estiver definido, importance assumirá 1 como padrão. Para obter mais informações, consulte Restrição da propriedade pool.importance.
O controle de recursos cpu-shares e o recurso dedicated-cpu são incompatíveis.
O recurso capped-cpu oferece um limite absoluto na quantidade de recursos da CPU que podem ser consumidos por um projeto ou uma zona. O recurso capped-cpu possui uma única propriedade ncpus que é um decimal positivo com dois dígitos à direita do decimal. Esta propriedade corresponde a unidades de CPUs. O recurso não aceita um intervalo. O recurso não aceita um número decimal. Ao especificar ncpus, um valor 1 significa 100% de uma CPU. Um valor 1,25 significa 125% pois 100% corresponde a uma CPU completa no sistema.
O recurso capped-cpu e o recurso dedicated-cpu são incompatíveis.
Você pode usar o fair share scheduler (FSS) para controlar a alocação dos recursos de CPU disponíveis entre regiões, com base na importância destas. Essa importância é expressa pelo número de compartilhamentos de recursos de CPU que você atribui a cada região.
Quando você define explicitamente a propriedade cpu-shares, o fair share scheduler (FSS) é usado como a classe de agendamento para essa região. No entanto, a forma preferida de usar o FSS neste caso é definir o FSS para ser a classe de agendamento padrão do sistema com o comando dispadmin. Desta forma todas as regiões irão se beneficiar de um compartilhamento justo dos recursos de CPU do sistema. Se cpu-shares não estiver definido para uma região, a região usará a classe de agendamento padrão do sistema. As ações a seguir definem a classe de agendamento para uma região:
Você pode usar a propriedade scheduling-class em zonecfg para definir a classe de agendamento para a região.
Você pode definir a classe de agendamento para uma região através do procedimento de grupos de recursos. Se a região estiver associada a um grupo cuja propriedade pool.scheduler esteja definida como uma classe de agendamento válida, os processos executados na região serão executados nessa classe de agendamento por padrão. Consulte Introdução a grupos de recursos e Como associar um grupo a uma classe de agendamento.
Se o controle de recurso cpu-shares estiver definido e o FSS não foi definido como a classe de agendamento para a região através de outro ação, zoneadmd definirá a classe de agendamento como FSS quando a região for inicializada.
Se a classe de agendamento não estiver definida através de qualquer outra ação, a região herdará a classe de agendamento padrão do sistema.
Observe que você pode usar o priocntl descrito na página do manual priocntl(1) para mover processos em execução para uma classe de agendamento diferente sem alterar a classe de agendamento padrão e sem reinicializar.
O recurso capped-memory define limites para memória física, de permuta e bloqueada. Cada limite é opcional, mas pelo menos um deve ser definido.
Determine valores para este recurso, se planejar limitar memória para a região usando rcapd da região global. A propriedade physical do recurso capped-memory é usada por rcapd como valor max-rss para a região.
A propriedade swap do recurso capped-memory é a forma preferida de definir o controle de recurso zone.max-swap.
A propriedade locked do recurso capped-memory é a forma preferida de definir o controle de recurso zone.max-locked-memory.
Os aplicativos geralmente não bloqueiam significativas quantidades de memória, mas você pode decidir definir a memória bloqueada caso os aplicativos da região bloqueiem memória. Se a segurança da região for preocupante, você também pode optar por definir o limite de memória bloqueada como 10 por cento da memória física do sistema ou 10 por cento do limite de memória física da região.
Para obter mais informações, consulte o Capítulo 10Controle da memória física usando o resource capping daemon (visão geral), Capítulo 11Administração do resource capping daemon (tarefas) e Como configurar a região com marca lx.
Somente configurações de rede IP compartilhada têm suporte em uma região com marca lx.
Cada região que requer conectividade de rede deve ter um ou mais endereços IP dedicados. Esses endereços são associados a interfaces de rede lógica. Interfaces de rede configuradas pelo comando zonecfg serão automaticamente definidas e colocadas na região quando esta for inicializada. O começar com a versão Solaris 10 10/08, como opção, você pode definir o roteador padrão da interface de rede através da propriedade defrouter.
Geralmente, os sistemas de arquivos montados em uma região incluem o seguinte:
O conjunto de sistemas de arquivos montados quando a plataforma virtual é inicializada
O conjunto de arquivos de sistemas montados a partir da própria região
Isso pode incluir, por exemplo, os seguintes sistemas de arquivos:
automount-montagens acionadas
Montagens executadas explicitamente por um administrador de regiões
Determinadas restrições são colocadas em montagens executadas a partir do ambiente do aplicativo. Essas restrições impedem que o administrador de regiões negue serviços ao resto do sistema, de outra forma exercendo impacto negativo sobre outras regiões.
Há restrições de segurança associadas à montagem de determinados sistemas de arquivos a partir de uma região. Outros sistemas de arquivos expõem comportamento especial quando montados em uma região. Para obter mais informações, consulte Sistemas de arquivos e regiões não globais.
O método preferido, mais simples, para definir um controle de recursos geral de região é usar o nome da propriedade em vez do recurso rctl. Esses limites são especificados para as regiões globais e não globais.
O administrador global também pode definir controles de recursos gerais de região privilegiados para uma região usando o recurso rctl.
Os controles de recursos gerais de região limitam o uso total de recursos de todas as entidades de processamento dentro de uma região. Esses limites são especificados para regiões globais e não globais usando-se o comando zonecfg. Para obter instruções, consulte Como configurar a região com marca lx.
Os seguintes controles de recursos estão disponíveis atualmente:
Tabela 32–1 Controles de recursos gerais de região
Nome do controle |
Nome da propriedade global |
Descrição |
Unidade padrão |
Valor usado para |
---|---|---|---|---|
zone.cpu-cap |
No Solaris 10 versão 5/08, define um limite absoluto na quantidade de recursos da CPU para essa zona. Um valor 100 significa 100% de uma CPU como a definição project.cpu-cap. Um valor 125 é 125% pois 100% corresponde a uma CPU completa no sistema durante o uso de caps de CPU. |
Quantidade (número de CPUs) | ||
zone.cpu-shares |
cpu-shares |
Número de compartilhamentos de CPU do fair share scheduler (FSS) para esta região |
Quantidade (compartilhamentos) | |
zone.max-locked-memory |
|
Quantidade total de memória física bloqueada disponível para uma região. |
Tamanho (bytes) |
propriedade locked de capped-memory |
zone.max-lwps |
max-lwps |
Número máximo de LWPs disponíveis simultaneamente para esta região |
Quantidade (LWPs) | |
zone.max-msg-ids |
max-msg-ids |
Número máximo de IDs de fila de mensagens permitido para esta região |
Quantidade (IDs de fila de mensagens) | |
zone.max-sem-ids |
max-sem-ids |
Número máximo de IDs de semáforo permitido para esta região |
Quantidade (IDs de semáforo) | |
zone.max-shm-ids |
max-shm-ids |
Número máximo de IDs de memória compartilhada permitido para esta região |
Quantidade (IDs de memória compartilhada) | |
zone.max-shm-memory |
max-shm-memory |
Quantidade total de memória compartilhada V de sistema para esta região |
Tamanho (bytes) | |
zone.max-swap |
|
Quantidade total de permuta que pode ser consumida por mapeamentos de espaço de endereço de processamento de usuário e por montagens tmpfs para esta região. |
Tamanho (bytes) |
propriedade swap de capped-memory |
A propriedade limitpriv é utilizada para especificar uma máscara de privilégio diferente da configuração padrão predefinida. Quando uma região é inicializada, um conjunto padrão de privilégios é incluído na configuração da marca. Esses privilégios são considerados seguros porque eles impedem que um processo privilegiado na região afete processos em outras regiões não globais no sistema ou na região global. Você pode usar a propriedade limitpriv para fazer o seguinte:
Adicionar ao conjunto de privilégios padrão, tendo em conta que tais alterações podem fazer com que os processos de uma região afetem os processos de outras regiões por serem capazes de controlar um recurso global.
Remover do conjunto de privilégios padrão, tendo em conta que tais alterações podem impedir que alguns processos funcionem corretamente, se requererem que esses privilégios sejam executados.
Há alguns privilégios que não podem ser removidos do conjunto de privilégios padrão da região, e também há alguns privilégios que não podem ser adicionados ao conjunto neste momento.
Para obter mais informações, consulte Privilégios definidos em regiões com marca lx, Privilégios em uma região não global e privileges(5).
Você pode usar o tipo de recurso attr para possibilitar o acesso a um dispositivo de áudio presente na região global. Para obter instruções, consulte a Etapa 12 de Como configurar, verificar e comprometer a região com marca lx..
Você também pode adicionar um comentário para uma região usando o tipo de recurso attr.
Os dispositivos suportados para cada região são documentados nas páginas do manual e em outra documentação para essa marca. A região lx não permite a adição de quaisquer dispositivos sem suporte ou não reconhecidos. A estrutura detecta qualquer tentativa de adicionar um dispositivo sem suporte. É emitida uma mensagem de erro que indica que a configuração da região não pode ser verificada.
Observe que o acesso a um dispositivo de áudio em execução na região global pode ser adicionado através da propriedade de recurso attr, como mostrado na Etapa 12 de Como configurar, verificar e comprometer a região com marca lx..
Os sistemas de arquivos necessários para uma região com marca são definidos na marca. Você pode adicionar sistemas de arquivos extras do Solaris a uma região com marca lx usando a propriedade de recurso fs, como mostrado na Etapa 9 de Como configurar, verificar e comprometer a região com marca lx..
A adição de sistemas de arquivos do Linux local não é aceita. Você pode montar sistemas de arquivos NFS a partir de um servidor Linux.
Os processos são restritos a um subconjunto de privilégios. A restrição de privilégios impede que uma região execute operações que possam afetar outras regiões. O conjunto de privilégios limita as capacidades de usuários privilegiados dentro da região.
Privilégios padrão, padrão necessário, opcionais e proibidos são definidos pelas marcas. Você também pode adicionar ou remover determinados privilégios usando a propriedade limitpriv, como mostrado na Etapa 8 de Como configurar, verificar e comprometer a região com marca lx.. A tabela Tabela 27–1 lista todos os privilégios do Solaris e o status de cada privilégio com relação às zonas.
Para obter mais informações sobre privilégios, consulte a página do manual ppriv(1) e System Administration Guide: Security Services.
O comando zonecfg, que é descrito na página do manual zonecfg(1M), é utilizado para configurar uma região. Este comando também pode ser usado para especificar persistentemente as configurações de gerenciamento de recursos para a região global.
O comando zonecfg pode ser usado no modo interativo, no modo linha de comando ou no modo arquivo de comando. As seguintes operações podem ser executadas usando-se este comando:
Criar ou excluir (destruir) uma configuração de região
Adicionar recursos a uma configuração específica
Definir propriedades para recursos adicionados a uma configuração
Remover recursos de uma configuração específica
Consultar ou verificar uma configuração
Decidir por uma configuração
Reverter para uma configuração anterior
Renomear uma região
Sair de uma sessão zonecfg
O prompt zonecfg é da seguinte forma:
zonecfg:zonename> |
Quando você configura um tipo de recurso específico, como um sistema de arquivos, esse tipo de recurso também é incluído no prompt:
zonecfg:zonename:fs> |
Para obter mais informações, inclusive procedimentos que mostram como usar os vários componentes de zonecfg descritos neste capítulo, consulte Como configurar a região com marca lx.
O conceito de um escopo é usado para a interface do usuário. O escopo pode ser global ou específico do recurso. O escopo padrão é global.
No escopo global, o subcomando add e o subcomando select são usados para selecionar um recurso específico. O escopo depois se altera para o do tipo de recurso.
Para o subcomando add, os subcomandos end ou cancel são usados para concluir a especificação do recurso.
Para o subcomando select, os subcomandos end ou cancel são usados para concluir a modificação do recurso.
O escopo depois reverte para global.
Determinados subcomandos, como add, remove e set, têm semânticas diferentes em cada escopo.
No modo interativo, os subcomandos a seguir têm suporte. Para obter informações detalhadas sobre semântica e opções usadas com os subcomandos, consulte a página do manual zonecfg(1M) para opções. Para qualquer subcomando que possa resultar em ações destrutivas ou em perda de trabalho, o sistema solicita a confirmação do usuário antes de prosseguir. Você pode usar a opção -F (forçar) para ignorar esta confirmação.
Imprime ajuda geral ou exibe ajuda sobre um determinado recurso.
zonecfg:lx-zone:net> help |
Inicia a definição de uma configuração na memória para a nova região com marca especificada.
Com a opção -t template, para criar uma configuração que é idêntica ao modelo especificado. O nome da região é alterado do nome do modelo para o novo nome da região. Para criar uma região com marca no Linux, use:
zonecfg:lx-zone> create -t SUNWlx |
Com a opção -b, para criar uma configuração em branco para a qual você pode definir a marca.
zonecfg:lx-zone> create -b zonecfg:lx-zone> set brand=lx |
Com a opção -F, para substituir uma configuração existente.
Imprime a configuração em saída padrão, ou no arquivo de saída especificado, em uma forma que pode ser usada em um arquivo de comando.
No escopo global, adicione o tipo de recurso especificado para a configuração.
No escopo de recurso, adicione uma propriedade do nome dado com o valor dado.
Para obter mais informações, consulte Como configurar a região com marca lx e a página do manual zonecfg(1M).
Define um nome de propriedade dado como o valor de propriedade dado. Observe que algumas propriedades, como zonepath, são globais, enquanto outras são específicas do recurso. Assim, este comando é aplicável nos escopos global e de recurso.
Aplicável somente no escopo global. Selecione o recurso do tipo dado que coincida com os critérios do par de valores nome-propriedade de uma dada propriedade para modificação. O escopo é alterado para esse tipo de recurso. É necessário especificar um número suficiente de pares nome-valor da propriedade para o recurso ser identificado com exclusividade.
Limpa o valor para configurações opcionais. Configurações necessárias não podem ser limpas. No entanto, algumas configurações necessárias podem ser alteradas pela atribuição de um novo valor.
No escopo global, remove o tipo de recurso especificado. É necessário especificar um número suficiente de pares nome-valor da propriedade para o tipo de recurso ser identificado com exclusividade. Se nenhum par nome-valor da propriedade for especificado, todas as instâncias serão removidas. Se existir mais de uma, será necessária uma confirmação, a não ser que a opção -F seja usada.
No escopo de recurso, remova do recurso atual o valor nome-propriedade especificado da propriedade.
Aplicável somente no escopo de recurso. Finaliza a especificação do recurso.
O comando zonecfg verifica a seguir se o recurso atual está totalmente especificado.
Se o recurso estiver totalmente especificado, ele será adicionado à configuração na memória e o escopo irá reverter para global.
Se a especificação estiver incompleta, o sistema exibirá uma mensagem de erro que descreve o que é necessário fazer.
Aplicável somente no escopo de recurso. Finaliza a especificação do recurso e redefine o escopo como global. Quaisquer recursos especificados parcialmente não serão retidos.
Destrói a configuração especificada. Exclui a configuração da memória e do armazenamento. É necessário usar a opção -F (forçar) com delete.
Esta ação é instantânea. Nenhum comprometimento é necessário, e uma região excluída não pode ser revertida.
Exibe informações sobre a configuração atual ou as propriedades de recurso global zonepath, autoboot e pool. Se um tipo de recurso estiver especificado, exibe informações somente sobre recursos desse tipo. No escopo de recurso, este subcomando se aplica somente ao recurso que está sendo adicionado ou modificado.
Verifica a correção da configuração atual. Assegura que todos os recursos tenham todas as propriedades necessárias especificadas.
Envia a configuração atual da memória para o armazenamento. Até a configuração na memória ser enviada, alterações podem ser removidas com o subcomando revert. É necessário que uma configuração seja enviada para ser usada pelo zoneadm. Há uma tentativa automática desta operação quando você conclui uma sessão zonecfg. Uma vez que somente uma configuração correta pode ser comprometida, a operação de comprometimento executa automaticamente uma verificação.
Reverte a configuração para o último estado de comprometido.
Sai da sessão zonecfg. Você pode usar a opção -F (forçar) com exit.
Há uma tentativa automática de commit, se necessário. Observe que um caractere EOF também pode ser usado para sair da sessão.
No modo de comando de arquivo, a entrada é tomada de um arquivo. O subcomando export descrito no modo interativo zonecfg é usado para produzir este arquivo. A configuração pode ser impressa na saída padrão, ou a opção -f pode ser usada para especificar um arquivo de saída.
Os dados de configuração de região consistem em dois tipos de entidade: 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 para a raiz da região. Cada região tem um caminho para seu diretório raiz que é relacionado ao diretório raiz da região global. No momento da instalação, o diretório da região global deve ter visibilidade restrita. Deve ser pertencente a root com o modo 700.
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/lx-zone |
zonecfg zonepath |
/home/export/lx-zone/root |
Raiz da região |
/home/export/lx-zone/root/dev |
Dispositivos criados para a região |
Consulte Atravessamento de sistemas de arquivos para mais discussões sobre esta questão.
Você pode mover uma região para outro local no mesmo sistema especificando um novo e completo zonepath com o subcomando move de zoneadm. Para obter instruções, consulte Solaris 10 11/06: movimento de uma região não global.
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 |
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 Argumentos de inicialização de região com marca.
Esta propriedade é usada para associar a região a um grupo de recursos específico no sistema. Várias regiões podem compartilhar os recursos de um grupo. Consulte também Especificação do recurso dedicated-cpu.
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 a seguir adiciona a capacidade de definir o relógio do sistema e remove a capacidade de enviar pacotes básicos de Internet Control Message Protocol (ICMP):
global# zonecfg -z userzone zonecfg:userzone> set limitpriv="default,sys_time,!net_icmpaccess" |
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.
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.
Este recurso dedica um subconjunto dos 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 Especificação do recurso dedicated-cpu.
Este recurso agrupa as propriedades usadas quando limita 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.
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.
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.
Somente configurações de rede IP compartilhada têm suporte em uma região com marca lx
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.
Para configurar controles gerais de região usando o subcomando set global_property_name de zonefig, em vez do recurso rctl, consulte Como configurar a região com marca lx.
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 para configurar. As propriedades a seguir estão associadas aos tipos de recursos mostrados.
ncpus, importance
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 limite de CPU de 3,5 CPUs para uso pela zona lx-zone.
zonecfg:lx-zone> add capped-cpu zonecfg:lx-zone:capped-cpu> set ncpus=3.5 zonecfg:lx-zone:capped-cpu> end |
physical, swap, locked
Este recurso agrupa as propriedades usadas ao se limitar a memória para a região. O exemplo a seguir especifica os limites de memória para a região 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
As linhas no exemplo a seguir adicionam acesso somente leitura à mídia CD ou DVD em uma região não global. O sistema de arquivos tem uma montagem de auto-retorno com as opções ro,nodevices (somente leitura e sem dispositivos) na região não global.
zonecfg:lx-zone> add fs zonecfg:lx-zone:fs> set dir=/cdrom zonecfg:lx-zone:fs> set special=/cdrom zonecfg:lx-zone:fs> set type=lofs zonecfg:lx-zone:fs> add options [ro,nodevices] zonecfg:lx-zone:fs> end |
Observe 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 de manual têm a forma mount_filesystem.
address, physical
No exemplo a seguir, o endereço IP 192.168.0.1 é adicionado a uma região. Um placa bge0 é usada para a interface física e o roteador padrão está definido.
zonecfg:lx-zone> add net zonecfg:lx-zone:net> set address=192.168.0.1 zonecfg:lx-zone:net> set physical=bge0 zonecfg:lx-zone:net> set defrouter=10.0.0.1 zonecfg:lx-zone:net> end |
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.
name, value
Controles de recursos da região geral disponíveis são descritos em Controles de recursos gerais de região em uma região com marca lx.
zonecfg:lx-zone> add rctl zonecfg:lx-zone:rctl> set name=zone.cpu-shares zonecfg:lx-zone:rctl> add value (priv=privileged,limit=10,action=none) zonecfg:lx-zone:rctl> end |
zonecfg:lx-zone> add rctl zonecfg:lx-zone:rctl> set name=zone.max-lwps zonecfg:lx-zone:rctl> add value (priv=privileged,limit=100,action=deny) zonecfg:lx-zone:rctl> end |
name, type, value
No exemplo a seguir, é adicionado um comentário sobre uma região.
zonecfg:lx-zone> add attr zonecfg:lx-zone:attr> set name=comment zonecfg:lx-zone:attr> set type=string zonecfg:lx-zone:attr> set value="Production zone" zonecfg:lx-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.