Eu não consigo pensar em um jeito fácil de fazer isso. Você quer ser muito cuidadoso, porque as zonas locais diferem das regiões globais. Você não quer apenas restaurar toda a estrutura de diretórios da região local sobre a região global. Isso poderia ter consequências não intencionais.
Algumas perguntas para guiá-lo:
1. A zona local é uma zona de raiz completa ou é uma zona de raiz esparsa?
Se a zona é uma zona de raiz esparsa, então ela está herdando diretórios como / usr e / sbin, etc. Você pode dizer isso procurando em /etc/zones/<zonename>.xml
.
2. Existem motivos especiais pelos quais você deseja transformar a região local na região global?
Você tem aplicativos específicos instalados? configurações de usuário? Existe uma razão pela qual manter a zona local como zona local não é uma opção?
3. Seu servidor é um sistema raiz ZFS ou raiz UFS?
Se o UFS, houver espaço livre em disco suficiente para permitir que você use o Live Upgrade?
Se é uma zona de raiz esparsa, você pode estar com sorte. Como uma zona de raiz esparsa herda todos os sistemas de arquivos "específicos do Solaris" do global, todos os bancos de dados de pacotes e patches estarão sincronizados e, em seguida, você está apenas observando as diferenças entre os dados personalizados da zona local para o zona global. Coisas como diretórios home, / etc / passwd, / etc / shadow, etc.
Veja como eu faria isso. Meus exemplos não serão muito detalhados, devido ao fato de que existem considerações demais sobre sistemas individuais, opções e variáveis encontradas na natureza. Em vez disso, eles são baseados apenas na minha própria experiência com sistemas que usam a raiz do ZFS. Você deve ser capaz de traduzir esses exemplos para a sintaxe específica para suas próprias necessidades com alguma leitura de página de manual leve.
1 - Crie um novo ambiente de inicialização.
por exemplo: lucreate -n s10-2011-11-23
- YMMV, dependendo se o seu sistema é UFS ou ZFS e se suas regiões estão instaladas como parte do sistema de arquivos local ou em seu próprio zpool individual.
2 - Monte o novo ambiente de inicialização
por exemplo: lumount s10-2011-11-23
- isso montará o novo ambiente de inicialização em
/.alt.s10-2011-11-23
3 - Sincronize os sistemas de arquivos desejados
por exemplo, se você só precisa / opt e / export / home da zona local:
rsync -avHP /<zonepath>/root/opt/ /.alt.s10-2011-11-23/opt/
rsync -avHP /<zonepath>/root/export/home/ /.alt.s10-2011-11-23/export/home/
- * esta é sua chance de copiar quaisquer dados do caminho da zona para os sistemas de arquivos da região global.
4 - Desmontar o novo ambiente de inicialização
por exemplo: luumount s10-2011-11-23
-
- isso desmonta o diretório
/.alt.s10-2011-11-23
. Você precisa fazer isso para ativar o novo ambiente de inicialização na próxima etapa.
- isso desmonta o diretório
5 - Ativar o novo ambiente de inicialização
por exemplo: luactivate s10-2011-11-23
- Copie e salve os avisos impressos aqui. Você pode precisar deles para recuperar
6 - Reinicie no novo ambiente de inicialização
por exemplo: init 6
- * agora o novo ambiente de inicialização é criado, sincronizado com o conteúdo desejado e ativo. Agora você só precisa reiniciar nele. Você não pode usar o comando
reboot
para fazer isso. Você DEVE usar os comandosinit
oushutdown
. Eu recomendo usar apenasinit 6
.
O bom de usar a atualização ao vivo é que você sempre pode inicializar de volta no ambiente de inicialização anterior seguindo as etapas copiadas e salvas na etapa 5.
Isso significa que, se algo não funcionar ou der errado, você poderá recuperar pelo menos o estado do sistema antes de fazer qualquer alteração.
Sempre usamos atualização ao vivo ao corrigir ou fazer alterações nos sistemas, simplesmente pela facilidade de reversão.