Problema
Neste artigo, explicaremos como mover / migrar um servidor zimbra para outra máquina.
Pré-requisitos
Os servidores zimbra de origem e de destino devem estar executando a mesma versão. Por exemplo, se a origem está rodando 8.6, o zimbra instalado no destino também deve ser 8.6.
Resolução
Resumindo, a solução é: interromper o zimbra no servidor de origem, fazer um backup de / opt / zimbra, instalar um novo servidor, interromper o servidor antigo, configurar a rede do novo servidor e configurar hosts, instalar o software zcs na nova máquina , substitua / opt / zimbra na nova máquina pelo backup já feito da máquina antiga, corrija as permissões, execute uma instalação normal do zcs.
Abaixo estão as etapas exatas que precisam ser seguidas para concluir a migração:
No servidor antigo:
1 . # su – zimbra
2 . $ zmcontrol stop
3 . $ exit
4 . Certifique-se de que todos os serviços zimbra sejam interrompidos:
ps aux | grep zimbra
5 . Agora, você pode copiar o diretório / opt / zimbra para outro local de backup, e de lá para copiá-lo para o servidor de destino mais tarde, ou você pode montar um disco externo e copiá-lo lá, ou simplesmente copiá-lo para o servidor de destino (se já instalado com o sistema operacional correto).
Como usuário root, copie-o para a máquina remota (rsync pode demorar um pouco, portanto, antes de colocar qualquer prazo em um projeto, certifique-se de primeiro rsync todos os dados com antecedência):
rsync -e ssh -axvzKHS / opt / zimbra / 10.0.0.1:/tmp/zimbra
esse comando irá copiar o diretório / opt / zimbra para uma máquina remota com IP 10.0.0.1, no diretório / tmp (usando ssh). Ou você pode copiá-lo para um disco montado local:
rsync -axvzKHS / opt / zimbra / mnt / zimbra_backup
6 . Instale um novo servidor, com sistema operacional compatível com a versão zcs. O nível de bits (32 bits vs. 64 bits) ou a construção do sistema operacional (RHEL 5, RHEL 6, Ubuntu 12, etc.) pode ser diferente do servidor de origem.
7 . Desligue o servidor ZCS antigo
desligar -h agora
No novo servidor
1 . Configure o novo servidor ZCS:
- mude o nome do host como o servidor antigo
- alterar as configurações de rede como o servidor antigo
- verifique novamente se todas as outras configurações de rede também funcionam (por exemplo, DNS), firewall, SELinux parado.
2 . Baixe uma versão do ZCS no novo servidor. ( A versão zcs deve ser a mesma do servidor de origem ).
3 . Como root, execute o instalador com a opção -s:
./install.sh -s
Isso instalará apenas os pacotes de software.
4 . Quando o install.sh -s for concluído, você pode excluir o diretório / opt / zimbra.
rm -rf / opt / zimbra
5 . Agora, copie o backup do diretório / opt / zimbra que fizemos na etapa 5, para o novo servidor no diretório / opt, para que a estrutura seja a mesma
/ opt / zimbra /
Se você o copiou para um servidor diferente, apenas rsync para o novo servidor. Se você usou um disco externo, monte-o e rsync como root seu backup para o novo local:
6 . Após a conclusão da cópia, como execução de root:
/ opt / zimbra / libexec / zmfixperms -e -v
Há um bug aberto para ZCS 8.7 quando você executa o zmfixperms. ( O bug foi corrigido na versão 8.7.3 ou posterior. )
Se por engano você executá-lo na versão 8.7.2 ou inferior, os comandos abaixo devem corrigi-lo:
# chown root: postdrop / opt / zimbra / common / sbin / postqueue # chown root: postdrop / opt / zimbra / common / sbin / postdrop # chmod g + s / opt / zimbra / common / sbin / postqueue # chmod g + s / opt / zimbra / common / sbin / postdrop
# cd / opt / zimbra / common / # chown root.root * # chown root.zimbra conf / # chown -R root.root libexec / # chown -R root.root bin / # cd conf # chown root.zimbra * # chown zimbra.zimbra master.cf master.cf.in bysender bysender.lmdb tag_as_foreign.re tag_as_foreign.re.in tag_as_originating.re tag_as_originating.re.in # chown root.root snmp.conf main.cf
Execute o seguinte para verificar se há erros de postfix. Não deve haver saída:
verificação postfix
7 . Como root, execute novamente o instalador sem a opção -s:
./install.sh
O instalador detectará o ZCS já instalado e perguntará se você deseja atualizar. Selecione Sim.
Conteúdo adicional
De acordo com o Bug 102962 , se após a mudança, você estiver fazendo uma atualização para o ZCS 8.7, os seguintes comandos pós-atualização devem ser executados:
zmprov mcf zimbraMtaCommandDirectory / opt / zimbra / common / sbin zmprov mcf zimbraMtaDaemonDirectory / opt / zimbra / common / libexec zmprov mcf zimbraMtaMailqPath / opt / zimbra / common / sbin / mailq zmprov mcf zimbraMtaManpageDirectory / opt / zimbra / common / share / man zmprov mcf zimbraMtaNewaliasesPath / opt / zimbra / common / sbin / newaliases zmprov mcf zimbraMtaSendmailPath / opt / zimbra / common / sbin / sendmail
Um erro comum que pode ocorrer se você mover o servidor do Ubuntu 14 para o Ubuntu 16 é:
Validando a configuração do ldap / usr / bin / perl: erro de pesquisa de símbolo: /opt/zimbra/common/lib/perl5//x86_64-linux-gnu-thread-multi/auto/Socket/Socket.so: símbolo indefinido: Perl_xs_apiversion_bootcheck Erro desconhecido: deveria ser impossível chegar a esta declaração.
OU
A validação da licença existente não expirou e se qualifica para atualização Erro desconhecido. Deve ser impossível chegar a esta afirmação.
A solução:
para pacote em $ (dpkg -l | grep zimbra | grep perl | awk '{print $ 2}'); faça sudo apt-get install --reinstall $ pkg; feito
Se você estiver fazendo uma atualização local do sistema operacional do Ubuntu 14 para o Ubuntu 16 com o do-release-upgrade , pode clicar no Bug 107436 . O comentário nº 15 parece a solução mais fácil para isso.
Existem diferentes métodos de mover zcs para outro servidor (além deste). Alguns deles incluem: