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.
A tabela abaixo resume as características de regiões globais e não globais.
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.
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).
Uma região não global pode estar em um dos seis estados seguintes:
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.
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.
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.
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.
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.
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. |
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.
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.
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.