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

Como funcionam as regiões

Pode-se pensar em uma região não global como uma caixa. Um ou mais aplicativos podem ser executados nesta caixa sem interagirem com o resto do sistema. As regiões do Solaris isolam aplicativos de software ou serviços usando limites flexíveis e definidos pelo software. Aplicativos executados na mesma instância do Solaris Operating System podem então ser gerenciados independentemente um do outro. Assim, diferentes versões do mesmo aplicativo podem ser executados em diferentes regiões, para atender os requisitos de sua configuração.

Um processo atribuído a uma região pode manipular, monitorar e se comunicar diretamente com outros processos que estão atribuídos à mesma região. Os processos não podem executar essas funções com processos atribuídos a outras regiões no sistema ou com processos atribuídos à região. Os processos atribuídos a diferentes regiões podem se comunicar somente através de APIs de rede.

A partir do Solaris 10 8/07, a rede IP pode ser configurada de duas formas diferentes, dependendo de a região estar atribuída a uma instância de IP exclusivo ou de compartilhar o estado e a configuração da camada IP com a região global. Para obter mais informações sobre tipo de IP em regiões, consulte Interfaces de rede de região. Para obter informações sobre configuração, consulte Como configurar a região.

Todo sistema do Solaris contém uma região global. A região global tem uma função dupla. A região global é tanto a região padrão para o sistema como a região usada para o controle administrativo do sistema geral. Todos os processos executados na região global, se não regiões não globais, conhecidas simplesmente como regiões, são criados pelo administrador global.

A região global é a única região a partir da qual uma região não global pode ser configurada, instalada, gerenciada ou desinstalada. Somente a região global é inicializável a partir do hardware do sistema. A administração da infra-estrutura do sistema, como dispositivos físicos, roteamento em uma região de IP compartilhado ou reconfiguração dinâmica (DR), é somente possível na região global. Processos apropriadamente privilegiados executados na região global podem acessar objetos associados a outras regiões.

Processos não privilegiados na região global podem executar operações não permitidas a processos privilegiados em uma região não global. Por exemplo, usuários na região global podem visualizar informações sobre cada processo no sistema. Se esta capacidade apresentar um problema para seu site, você pode restringir acesso à região global.

A cada região, incluindo a região global, é atribuído um nome de região. A região global sempre tem o nome global. Cada região também recebe um identificador numérico exclusivo, que é atribuído pelo sistema quando a região é inicializada. A região global é sempre mapeada para o ID 0. Os nomes de região e os IDs numéricos são tratados em Uso do comando zonecfg .

Cada região também pode ter um nome de nó que é completamente independente do nome de região. O nome de nó é atribuído pelo administrador da região. Para obter mais informações, consulte Nome do nó em região não global.

Cada região tem um caminho para seu diretório raiz que é relacionado ao diretório raiz da região global. Para obter mais informações, consulte Uso do comando zonecfg .

A classe de agendamento para uma região não global é definida como a classe de agendamento para o sistema por padrão. Consulte Classe de agendamento em uma região para uma discussão dos métodos usados para definir a classe de agendamento em uma região.

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.

Resumo de recursos de região

A tabela abaixo resume as características de regiões globais e não globais.

Tipo de região 

Característica 

Global 

 

  • O sistema atribui o ID 0

  • Fornece uma instância única do kernel do Solaris que é inicializável e executada no sistema

  • Contém uma instalação completa dos pacotes de software de sistema do Solaris

  • Pode conter pacotes de software adicionais ou software, diretórios e arquivos adicionais ou outros dados não instalados através de pacotes

  • Oferece um banco de dados de produto completo e consistente que contém informações sobre todos os componentes de software instalados na região global

  • Armazena informações de configuração específicas somente da região global, como o nome do host da região global e a tabela do sistema de arquivos

  • É a única região que reconhece todos os dispositivos e todos os sistemas de arquivos

  • É a única região com conhecimento da existência e da configuração da região não global

  • É a única região a partir da qual uma região não global pode ser configurada, instalada, gerenciada ou desinstalada.

Não global 

 

  • O sistema atribui um ID de região quando a região é inicializada

  • Compartilha operação no kernel do Solaris inicializado a partir da região global

  • Contém instalado um subconjunto dos pacotes de software completos do Solaris Operating System

  • Contém pacotes de software do Solaris compartilhados a partir da região global

  • Pode conter pacotes de software adicionais instalados não compartilhados a partir da região global

  • Pode conter software, diretórios e arquivos adicionais, e outros dados criados na região não global que não são instalados através de pacotes ou compartilhados a partir da região global

  • Tem um banco de dados de produto completo e consistente que contém informações sobre todos os componentes de software instalados na região, presentes na região não global ou somente leitura compartilhados a partir da região global

  • Não reconhece a existência de quaisquer outras regiões

  • Não pode instalar, gerenciar ou desinstalar outras regiões, inclusive ela mesma

  • Tem informações de configuração específicas somente dessa região não global, como o nome do host da região não global e a tabela do sistema de arquivos

  • Pode ter sua própria configuração de fuso horário

Como regiões não globais são administradas

Um administrador global tem privilégios de superusuário ou a função de administrador principal. Quando conectado à região global, o administrador global pode monitorar e controlar o sistema como um todo.

Uma região não global pode ser administrada por um administrador de região. O administrador global atribuir o perfil de gerenciamento de região ao administrador de região. Os privilégios de um administrador de regiões limitam-se a uma região não global.

Como regiões não globais são criadas

O administrador global usa o comando zonecfg para configurar uma região especificando vários parâmetros para a plataforma virtual da região e o ambiente de aplicativo. A região é em seguida instalada pelo administrador global, que usa o comando de administração de região zoneadm para instalar software no nível de pacotes na hierarquia do sistema de arquivos estabelecida para a região. O administrador global pode efetuar login na região instalada usando o comando zlogin. No primeiro login, a configuração interna para a região é completada. O comando zoneadm é então usado para inicializar a região.

Para obter informações configuração de região, consulte o Capítulo 17Configuração de região não global (visão geral). Para obter informações sobre instalação de região, consulte o Capítulo 19Sobre instalação, parada, clonagem e desinstalação de regiões não globais (visão geral). Para obter informações sobre login em região, consulte o Capítulo 21Login na região não global (visão geral).

Modelo de estado da região global

Uma região não global pode estar em um dos seis estados seguintes:

Configurado

A configuração da região está completa e comprometida no armazenamento. No entanto, esses elementos do ambiente de aplicativo da região que devem ser especificados após a inicialização inicial ainda não estão presentes.

Incompleto

Durante uma operação de instalação ou desinstalação, zoneadm define o estado da região de destino como incompleto. Após a conclusão bem-sucedida da operação, o estado ß definido para o estado correto.

Instalado

A configuração da região é instanciada no sistema. O comando zoneadm é usado para verificar se a configuração pode ser usada com êxito no sistema do Solaris designado. Pacotes são instalados sob o caminho raiz da região. Neste estado, a região não tem plataforma virtual associada.

Preparado

A plataforma virtual para a região é estabelecida. O kernel cria o processo zsched, interfaces de rede são configuradas disponibilizadas para a rede, sistemas de arquivos são montados e dispositivos são configurados. Um ID de região exclusivo é atribuído pelo sistema. Neste estágio, nenhum processo associado à região foi iniciado.

Execução

Processos de usuário associados ao ambiente de aplicativo da região estão em execução. A região entra no estado de execução assim que o primeiro processo de usuário associado ao ambiente de aplicativo (init) é criado.

Desligamento e inoperante

Estes estados são estados de transição que são visíveis enquanto a região está sendo parada. No entanto, a região que não pode desligar por alguma razão irá parar em um destes estados.

O Capítulo 20Instalação, inicialização, parada, desinstalação e clonagem de regiões não globais (tarefas) e a página do manual zoneadm(1M) descrevem como usar o comando zoneadm para iniciar transições entre estes estados.

Tabela 16–1 Comandos que afetam o estado da região

Estado atual da região 

Comandos aplicáveis 

Configurado 

zonecfg -z zonename verify

zonecfg -z zonename commit

zonecfg -z zonename delete

zoneadm -z zonename attach

zoneadm -z zonename verify

zoneadm -z zonename install

zoneadm -z zonename clone

Você pode também usar zonecfg para renomear uma região no estado de configurado ou instalado.

Incompleto 

zoneadm -z zonename uninstall

Instalado 

zoneadm -z zonename ready (opcional)

zoneadm -z zonename boot

zoneadm -z zonename uninstall desinstala do sistema a configuração da região especificada.

zoneadm -z zonename move path

zoneadm -z zonename detach

zonecfg -z zonename podem ser usados para adicionar ou remover uma propriedade de attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl,ou scheduling-class . Você pode também renomear uma região no estado de instalado. Os recursos inherit-pkg-dir não podem ser alterados.

Preparado 

zoneadm -z zonename boot

zoneadm halt e reinicialização do sistema retornam uma região no estado de preparado para o estado de instalado.

zonecfg -z zonename podem ser usados para adicionar ou remover uma propriedade de attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl,ou scheduling-class . Os recursos inherit-pkg-dir não podem ser alterados.

Execução 

zlogin options zonename

zoneadm -z zonename reboot

zoneadm -z zonename halt retorna uma região preparada para o estado de instalada.

zoneadm halt e a reinicialização do sistema retorna uma região no estado de execução para o estado de instalada.

zonecfg -z zonename podem ser usados para adicionar ou remover uma propriedade de attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl,ou scheduling-class . Os recursos zonepath e inherit-pkg-dir não podem ser alterados.


Observação –

Parâmetros alterados através de zonecfg não afetam uma região em execução. A região deve ser reinicializada para as alterações entrarem em vigor.


Características da região não global

Uma região fornece isolamento em quase qualquer nível de granularidade de que você necessita. Uma região não precisa de uma CPU dedicada, de um dispositivo físico ou de uma parte da memória física. Esses recursos podem ser multiplexados entre diversas regiões executadas dentro de um único domínio ou sistema, ou alocados em uma base por região usando as facilidades de gerenciamento de recurso disponíveis no sistema operacional.

Cada região pode oferecer um conjunto personalizado de serviços. Para aplicar isolamento básico de processo, um processo pode ver ou sinalizar somente os processos que existem na mesma região. A comunicação básica entre regiões é realizada dando-se a cada região conectividade de rede IIP. Um aplicativo executado em uma região não pode observar o tráfego de rede de outra região. Este isolamento é mantido mesmo através de fluxos respectivos de percursos de pacotes através da mesma interface física.

Cada região recebe uma parte da hierarquia do sistema de arquivos. Uma vez que cada região é confinada a sua sub-árvore da hierarquia do sistema de arquivos, uma carga de trabalho em execução em uma determinada região não pode acessar os dados em disco de outra carga de trabalho em execução em uma região diferente.

Arquivos usados por serviços de identificação residem dentro de uma vista do sistema de arquivos raiz da região. Assim, serviços de identificação em regiões diferentes são isolados uns dos outros e os serviços podem ser configurados diferentemente.

Uso das facilidade do gerenciamento de recurso com regiões não globais

Se usar as facilidades do gerenciamento de recurso, você deve alinhar os limites dos controles de gerenciamento de recurso com os das regiões. Esse alinhamento cria um modelo mais completo de uma máquina virtual, onde acesso a espaço de nome, isolamento de segurança e uso de recursos são controlados.

Quaisquer requisitos especiais para o uso de várias facilidades de gerenciamento de recurso com regiões são tratados em capítulos individuais deste manual que documentam essas facilidades.