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.