Este capítulo é novo para a versão Solaris 10 11/06. Recursos adicionais foram adicionados em versões subseqüentes.
Este capítulo descreve como:
Mover uma região não global existente para um novo local na mesma máquina
Validar o que acontecerá em uma migração de região não global antes de a migração real ser executada.
Migrar uma região não global existente para uma nova máquina.
Utilize os comandos zoneadm detach e zoneadm attach para atualizar uma região que tenha um nível menor de correção para o nível da região global em um nível maior de correção.
Iniciar com o Solaris 10 10/08, se o novo host possuir a mesma versão ou versões posteriores dos pacotes de região dependente em patches associados, utilizando zoneadm attach com a opção -u atualiza o conjunto mínimo de pacotes para transformar a região não global usável no novo host. Se o novo host tiver uma mistura de correções de versões superiores e inferiores comparado ao host de origem, a atualização durante a operação de anexação não é permitida.
O comando zoneadm attach utilizado com a opção - u também ativa a migração entre classes de máquinas, como de sun4u a sun4v.
Começando com a versão Solaris 10 9/10, utilizar zoneadm attach com a opção -U atualiza todos os pacotes para a região, de modo que estes pacotes correspondam ao que seria visto com uma região não global recém-instalada nesse host. Todos os pacotes instalados no interior da região, mas não instalados na região global são ignorados e deixados como estão. Esta opção também ativa a migração automática entre classes de máquinas, como de sun4u a sun4v.
Como alternativa à atualização normal, as regiões podem ser destacadas enquanto a região global é atualizada e depois recolocado com a opção -U para coincidir com o nível do patch da região global.
Para obter informações sobre o movimento e a migração de regiões com marca lx, consulte o Capítulo 37Movimento e migração de regiões com marcas lx (tarefas).
Este procedimento é usado para mover uma região para um novo local no mesmo sistema alterando o zonepath. A região deve estar parada. O novo zonepath deve estar em um sistema de arquivos local. Os critérios normais do zonepath descritos em Tipos de recurso e propriedade aplicam-se.
É necessário ser administrador global na região global para executar este procedimento.
Torne-se superusuário ou assuma a função de administrador principal.
Para criar a função e atribuí-la a um usuário, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Pare a região a ser movida, db-zone neste procedimento.
global# zoneadm -z db-zone halt |
Use o comando zoneadm com o subcomando move para mover a região [ara um novo zonepath, /export/zones/db-zone .
global# zoneadm -z db-zone move /export/zones/db-zone |
Verifique o caminho.
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared - db-zone installed /export/zones/db-zone native shared |
Observe que com o Solaris 10 versão 5/08, você pode fazer uma execução de avaliação da migração antes de realmente mover a região para uma máquina diferente. Para obter mais informações, consulte Solaris 10 5/08: Sobre a validação de uma migração de região antes que a migração seja realizada.
Novas informações foram adicionadas a esta seção a partir da versão Solaris 10 11/06.
Os comandos zonecfg e zoneadm podem ser usados para migrar uma região não global existente de um sistema para outro. A região é parada e desanexada do host atual. O zonepath é movido para o host de destino, onde é conectado.
As seguintes restrições se aplicam à migração de região:
A região global no sistema de destino deve estar executando a mesma versão do Solaris que o host original.
Para assegurar que a região seja executada adequadamente, o sistema de destino deve ter versões dos seguintes pacotes e correções necessários do sistema operacional que foram instalados no host original.
Pacotes que entregam arquivos sob o recurso inherit-pkg-dir
Pacotes em que SUNW_PKG_ALLZONES=true
Outros pacotes e correções, como os para produtos de terceiros, podem ser diferentes.
Solaris 10 10/08: se o novo host possuir versões posteriores dos pacotes da região dependente e seus patches associados, utilizar zoneadm attach com a opção -u atualiza esses pacotes dentro da região para coincidir com o novo host. O software de atualização em anexo procura a região que está sendo migrada e determina quais pacotes devem ser atualizados para que correspondam ao novo host. Somente estes pacotes são atualizados. O restante dos pacotes e as correções associadas podem variar de uma região a outra. Esta opção também ativa a migração automática entre classes de máquinas, como de sun4u a sun4v.
Solaris 10 9/10: se o novo host possuir versões posteriores dos pacotes e seus patches associados, utilizar zoneadm attach com a opção -U atualiza esses pacotes dentro da região para corresponder ao que seria visto com a região não global recém instalada nesse host. Todos os pacotes instalados no interior da região, mas não instalados na região global são ignorados e deixados como estão. Esta opção também ativa a migração automática entre classes de máquinas, como de sun4u a sun4v.
Solaris 10 5/09: a opção -b pode ser usada para especificar as correções que serão retiradas da região antes da atualização.
O host e os sistemas de destino devem ter a mesma arquitetura de máquina, a menos que a opção -u seja usada, a qual pode ser usada para realizar migrações entre as classes de máquina sun4u e sun4v.
Solaris 10 5/09:a opção -b pode ser usada para especificar as correções, tanto oficial quanto Interim Diagnostics/Relief (IDR), que serão retiradas da região durante a anexação. Podem ser especificadas várias opções -b. Se por alguma razão nenhum das correções puderem ser retiradas, então o attach falhará e nenhum das correções será retirada.
Esta opção se aplica somente a marcas de região que usam empacotamento SVr4.
Para verificar a arquitetura da versão Solaris e da máquina, digite:
#uname -m |
O processo zoneadm detach cria as informações necessárias para anexar a região a um sistema diferente. O processo zoneadm attach verifica se a máquina de destino tem a configuração correta para hospedar a região.
Uma vez que existem várias maneiras de tornar o zonepath disponível no novo host, o movimento real do zonepath de um sistema para outro é um processo manual executado pelo administrador global.
Quando anexada ao novo sistema, a região está no estado de instalada.
É necessário ser administrador global na região global para executar este procedimento.
Torne-se superusuário ou assuma a função de Administrador principal.
Para criar a função e atribuí-la a um usuário, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Pare a região a ser migrada, my-zone neste procedimento.
host1# zoneadm -z my-zone halt |
Desanexe a região.
host1# zoneadm -z my-zone detach |
A região desanexada está agora no estado de configurada.
Mova o zonepath de my-zone para o novo host.
Para mais informações, consulte Como mover o zonepath para um novo host.
No novo host, configure a região.
host2# zonecfg -z my-zone |
Você verá a seguinte mensagem do sistema:
my-zone: No such zone configured Use 'create' to begin configuring a new zone. |
Para criar a região my-zone no novo host, use o comando zonecfg com a opção -a e o zonepath no novo host.
zonecfg:my-zone> create -a /export/zones/my-zone |
(Opcional) Visualize a configuração.
zonecfg:my-zone> info zonename: my-zone zonepath: /export/zones/my-zone autoboot: false pool: inherit-pkg-dir: dir: /lib inherit-pkg-dir: dir: /platform inherit-pkg-dir: dir: /sbin inherit-pkg-dir: dir: /usr net: address: 192.168.0.90 physical: bge0 |
Faça ajustes na configuração conforme necessário.
Por exemplo, o dispositivo físico de rede pode ser diferente no novo host, ou os dispositivos que fazem parte da configuração podem ter nomes diferentes no no0
zonecfg:my-zone> select net physical=bge0 zonecfg:my-zone:net> set physical=e1000g0 zonecfg:my-zone:net> end |
Comprometa a configuração e saia.
zonecfg:my-zone> commit zonecfg:my-zone> exit |
Anexe a região ao novo host usando um dos seguintes métodos.
Anexe a região com uma verificação de validação.
host2# zoneadm -z my-zone attach |
O administrador de sistema é notificado de ações necessárias a serem tomadas se uma ou ambas das seguintes condições estiverem presentes:
Pacotes e correções necessários estão ausentes na nova máquina.
Os níveis de software são diferentes entre as máquinas.
Solaris 10 10/08: anexe a região com uma verificação de validação e atualize a região para que corresponda a um host que executa versões mais recentes dos pacotes dependentes ou que possuem outra classe de máquina no anexo.
host2# zoneadm -z my-zone attach -u |
Solaris 10 10/08: Se o sistema de origem estiver executando um versão mais antiga do sistema Solaris, ele pode não gerar uma lista correta de pacotes quando a região for desanexada. Para garantir que seja gerada a lista correta de pacotes no destino, você pode remover o arquivo SUNWdetached.xml de zonepath . A remoção deste arquivo fará com que uma nova lista de pacotes seja gerada pelo sistema de destino.
Isso não é necessário no Solaris 10 5/09 e versões posteriores.
Solaris 10 9/10: anexe a região com uma verificação de validação e atualize todos os pacotes para a região para corresponder ao que seria visto com a região não global recém instalada nesse host. Todos os pacotes instalados no interior da região, mas não instalados na região global são ignorados e deixados como estão.
host2# zoneadm -z my-zone attach -U |
Solaris 10 5/09 e posterior: também usa a opção -b para retirar correções específicas, tanto oficial quanto IDR, durante a anexação.
host2# zoneadm -z my-zone attach -u -b IDR246802-01 -b 123456-08 |
Note que você pode utilizar a opção -b independente das opção -u ou - U.
Force a operação de anexação sem executar a validação.
host2# zoneadm -z my-zone attach -F |
A opção -F permite que você force attach sem a execução de validação. Isto é útil em determinados casos, como em um ambiente agrupado ou para operações de backup e restauração, mas requer que o sistema seja adequadamente configurado para hospedar a região. Uma configuração incorreta pode resultar em um comportamento indefinido posteriormente.
Existem várias maneiras de criar um arquivo do zonepath. Por exemplo, você pode usar os comando cpio ou pax descritos nas páginas do manual cpio(1)) e pax(1).
Existem também várias maneiras de transferir o arquivo para o novo host. O mecanismo usado para transferir o zonepath do host de origem para o destino depende da configuração local. Em alguns casos, como um SAN, os dados do zonepath podem na verdade não ser movidos. SAN pode simplesmente se reconfigurado, de modo que zonepath seja visível para o novo host. Em outros casos, o zonepath poderia ser gravado em fita, e a fita enviada para um novo site.
Por este motivos, esta etapa não é automatizada. O administrador de sistema deve escolher a técnica mais apropriada para mover o zonepath para o novo host.
Torne-se superusuário ou assuma a função de administrador principal.
Para criar a função e atribuí-la a um usuário, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Mova o zonepath para o novo host. Você pode usar o método descrito neste procedimento ou usar outro método de sua escolha.
Crie um arquivo tar do zonepath no host1 e transfira-o para o host2 usando o comando sftp.
host1# cd /export/zones host1# tar cf my-zone.tar my-zone host1# sftp host2 Connecting to host2... Password: sftp> cd /export/zones sftp> put my-zone.tar Uploading my-zone.tar to /export/zones/my-zone.tar sftp> quit |
No host2, desempacote o arquivo tar.
host2# cd /export/zones host2# tar xf my-zone.tar |
Para obter mais informações, consulte sftp(1) e tar(1).
Consulte Resolução de problemas com uma operação zoneadm attach para obter informações sobre resolução de problemas relacionados ao que se segue:
Correções e pacotes estão fora de sincronia.
As versões do sistema operacional não coincidem.
Se você tiver copiado os dados em vez de reconfigurar um SAN, os dados do zonepath ainda estarão visíveis no host de origem mesmo que a região agora esteja no estado configurado. Você pode remover manualmente o zonepath do host de origem após terminar de mover os dados para o novo host, ou pode reanexar a região ao host de origem e usar o comando zoneadm uninstall para remover o zonepath.
Você pode realizar uma execução de avaliação antes que a região seja movida para a nova máquina, usando a opção “no execute”,-n.
O subcomando zoneadm detach é usado com a opção -n para gerar um manifesto em uma região em execução sem realmente desanexar a região. O estado da região no sistema de origem não é alterado. O manifesto da região é enviado para stdout. O administrador global pode direcionar essa saída para um arquivo ou inseri-lo em um comando remoto para que seja imediatamente validado no host de destino. O subcomando zoneadm attach é usado com a opção -n para ler esse manifesto e verificar se a máquina de destino tem a configuração correta para hospedar a região sem realmente fazer uma anexação.
A zona no sistema de destino não precisa ser configurada no novo host antes de uma anexação de execução de teste.
É necessário ser administrador global na região global para executar este procedimento.
Torne-se superusuário ou assuma a função de administrador principal.
Para criar a função e atribuí-la a um usuário, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Use um dos métodos seguintes.
Gere o manifesto em um host de origem para my-zone e insira a saída em um comando remoto que validará imediatamente o host de destino:
global# zoneadm -z my-zone detach -n | ssh remotehost zoneadm attach -n - |
O hífen (—) no fim da linha especifica stdin para o caminho.
A validação é a saída da tela do host de origem, que é stdout.
Gere o manifesto em um host de origem para my-zone e direcione a saída para um arquivo:
global# zoneadm -z my-zone detach -n > filename |
Copie o manifesto para o sistema do novo host como descrito em Como mover o zonepath para um novo host, e realize a validação:
global# zoneadm attach -n path_to_manifest |
O caminho pode ser — para especificar stdin.
Uma máquina que hospeda uma região nativa do Solaris pode se tornar inutilizável. No entanto, se o armazenamento em que a região reside, como SAN, ainda é utilizável, pode ser possível migrar com êxito a região para um novo host. Você pode mover o zonepath para a região para o novo host. Em alguns casos, como um SAN, os dados do zonepath podem na verdade não ser movidos. SAN pode simplesmente se reconfigurado, de modo que zonepath seja visível para o novo host. Uma vez que a região não foi adequadamente desanexada, você primeiro terá que criar a região no novo host usando o comando zonecfg . Uma vez feito isto, anexe a região ao novo host. Embora o novo host informe que a região não foi adequadamente desanexada, o sistema tentará anexá-la de qualquer forma.
O procedimento para esta tarefa está descrito nas etapas 4 a 8 de Como migrar uma região não global. Consulte também Como mover o zonepath para um novo host.
A atualização em anexo processo desenvolvido para migrar regiões a um sistema diferente também pode ser utilizada para as regiões de patch. Esse método permite que a região global esteja disponível mais rapidamente. O administrador do sistema pode, então, controlar quais regiões são atualizadas em primeiro lugar e obter essas regiões em execução antes que as regiões menos críticas sejam atualizadas e inicializadas.
O seguinte processo atualiza todas os patches para que a região se pareça com uma região recém-instalada no sistema:
Antes de aplicar um pacote de patch para a região global, remova todas as regiões não globais.
Aplique o pacote de patch a todas as regiões globais.
Após do pacote ter sido aplicado e o sistema tiver sido reinicializado, utilize o comando zoneadm attach com a opção -U para trazer as regiões não globais de volta para o mesmo nível de patch que a região global.
Todos os pacotes instalados no interior da região, mas não instalados na região global são ignorados e não afetados.
Consulte Solaris 10 10/09: Correção de regiões paralelas para reduzir o tempo de correção para obter uma solução de correção rápida que utilize o utilitário patchadd.