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.