Migrando para o Zimbra com o imapsync

Além dos recursos há muito esperados, como o Catálogo de Endereços Hierárquico e o suporte oficial ao Ubuntu 18.10 LTS, o lançamento do Zimbra 8.8.12 nos trouxe notícias sobre a futura remoção do suporte de vários utilitários necessários para a migração de outros sistemas de correio para o Zimbra Collaboration Suite. Em particular, o suporte ao Assistente de Migração do ZCS para Domino foi completamente descontinuado, e o Assistente de Migração do ZCS para Exchange agora suporta apenas a importação de arquivos PST do Outlook. Para implementar uma migração completa, os desenvolvedores do Zimbra Collaboration Suite oferecem o uso de serviços online pagos, mas nem toda empresa está pronta para fornecer seus dados da caixa de correio a terceiros por razões de segurança, e nem toda empresa pode arcar com os custos adicionais associados à migração para o Zimbra. Especialmente para esses usuários, existe o programa imapsync, capaz de fornecer migração incremental confiável de qualquer sistema de correio para o Zimbra.

imagem

O Imapsync é um utilitário gratuito e gratuito disponível nos repositórios de qualquer distribuição Zimbra Linux oficialmente suportada. O objetivo deste programa é transferir email entre diferentes servidores de email e ele lida perfeitamente com ele. Graças à flexibilidade das configurações, o correio pode ser transferido de forma incremental e em modo totalmente automático. Vamos ver como você pode usar o imapsync para migrar do Lotus Domino e MS Exchange para o Zimbra Collaboration Suite.

Migrando do MS Exchange para Zimbra


Para que a migração de email seja bem-sucedida, você precisa concluir uma série de preparativos. Antes de tudo, precisamos criar os mesmos usuários no servidor Zimbra e no servidor MS Exchange com as mesmas senhas. Ao executar esta tarefa, é muito útil configurar automaticamente os usuários do Zimbra usando o AD. O processo desse ajuste automático é descrito em um de nossos artigos anteriores.

Depois que todas as contas do AD ou Exchange forem migradas, você precisará instalar o pacote imapsync no servidor com Zimbra. Se você usa o Ubuntu como sistema operacional para Zimbra, pode instalar o programa usando o comando sudo apt-get install imapsync -y , no CentOS e RHEL, a instalação será realizada usando o comando sudo yum install imapsync -y .

Quando a instalação do pacote e todas as dependências estiverem concluídas, vamos para a configuração do servidor Exchange. Nele, precisaremos ativar o serviço IMAP4. Isso é feito executando o arquivo services.msc , após o qual você precisa ir para Ferramentas> Serviços -> IMAP4 Microsoft Exchange -> Iniciar. Depois disso, você precisará conceder ao administrador acesso às caixas de correio do usuário para evitar o uso de senhas de usuário durante a migração e também desabilitar ou configurar políticas de limite de velocidade para que elas não se tornem um obstáculo à migração. Agora você pode começar a transferir e-mails de servidor para servidor.

Em nossa infraestrutura, o MS Exchange estará localizado no host exchange.company.ru e o Zimbra no host zimbra.company.ru . Os usuários serão transferidos um a um usando a linha de comando, na qual executaremos o utilitário imapsync com vários parâmetros necessários para a migração. Antes de tudo, note-se que no Zimbra, como no MS Exchange, as contas de administrador têm acesso ao conteúdo de todas as caixas de correio dos usuários, o que significa que, para migrar para um novo servidor de email, o administrador do sistema não precisa saber as senhas das contas de usuário comuns. É por isso que a migração de cada usuário do MS Exchange para Zimbra será realizada usando um comando do seguinte formato:

imapsync --host1 exchange.company.ru --user1 "xxxxx" --authuser1 "yyyyy" --password1 "zzzzz" --nosslcheck --host2 zimbra.company.ru --user2 "XXXXX" --authuser1 "YYYYY" --password2 "ZZZZZ" 

Nesse comando, especificamos o host de origem ( --host1 ) do qual o imapsync coletará os dados da conta, bem como o host ( --host2 ) no qual esses dados serão gravados. Também especificamos o nome de usuário ( --user1 ) no primeiro host e o nome de usuário correspondente ( --user2 ) no segundo host. Para acessar seus dados, especificamos o nome da conta de administrador ( --authuser1 ) e a senha de administrador ( --password1 ) do primeiro host e, para registrar os dados transmitidos, o nome da conta de administrador ( --authuser2 ) e a senha administrador ( --password2 ) do segundo host.

Em um mundo ideal, esse comando seria suficiente para transferir dados do usuário entre servidores com MS Exchange e Zimbra, mas, como costuma acontecer, as diferenças entre as soluções fazem suas próprias correções e, portanto, uma simples transferência de dados do MS Exchange levará a um caos terrível nas caixas de correio do Zimbra . O obstáculo nesse caso são os diferentes nomes das pastas nas caixas de correio. Para evitar confusão durante a transferência de dados, é necessário aproximar nossa equipe da seguinte forma:

 imapsync --subscribe_all --maxmessagespersecond 4 --addheader --f1f2 "Inbox=INBOX" \ --f1f2 "Sent Items=Sent" --f1f2 "Sent items=Sent" --exclude "^Journal|^Tasks|^Trash|Contacts|Calendar|RSS Feeds" \ --useheader "Message-ID" --buffersize 8192000 --nosyncacls --allowsizemismatch --usecache --syncinternaldates --skipsize --nofoldersizes \ --tls1 --port1 143 --user1 "xxxxxxxxxx" --authuser1 "besadmin" --password1 "XXXXXXX" \ --host2 'xxxxxxx' --user2 "xxxxxx" --authuser2 "XXXXXX" --password2 "XXXX" --tls2 --port2 7143 \ --regextrans2 "s/Inbox1/INBOX/i" --regextrans2 "s/Sent Items/Sent/i" --regextrans2 "s/sent-mail/Sent/i" --regextrans2 "s/Deleted Items/Trash/i" --regextrans2 "s/Deleted Messages/Trash/" \ --delete2duplicates --timeout 600 --pidfile "impasync.local.pid" --logfile "imapsync.log" --sep1 "/" --errorsmax "100" 

Observe que esse não é um script universal que funcionará perfeitamente em qualquer infraestrutura. Muitas coisas podem depender de vários recursos da sua infraestrutura. É por isso que, antes de iniciar uma migração em grande escala, certifique-se de testar a transferência de dados entre sistemas em várias contas comerciais não críticas.

Deixe a abundância de parâmetros com os quais o imapsync é iniciado não o assusta. a maioria deles é necessária precisamente para que, ao transferir pastas da caixa de correio, não haja confusão e todos os elementos do MS Exchange sejam transferidos para o Zimbra. Por exemplo, o parâmetro --subscribe_all permite ao imapsync obter todas as pastas da sua conta para que você possa trabalhar com elas mais tarde. A opção --f1f2 permite alterar o nome da pasta durante a sincronização. Ou seja, ao sincronizar, por exemplo. a pasta Itens enviados muda seu nome para Enviado, o que permite ajustar perfeitamente seu conteúdo na estrutura de pastas do Zimbra Collaboration Suite. O parâmetro --regextrans2 também permite alterar os nomes das pastas e baseia-se no mecanismo de expressão regular da linguagem de programação Perl, para que aqueles que estão familiarizados com essa linguagem aprendam facilmente esse parâmetro.

Para explicar o que as opções --addheader e --useheader fazem , será necessário investigar exatamente como ocorre a sincronização de letras no imapsync. O fato é que, para sincronizar o imapsync, é necessário identificar letras nos dois servidores para decidir se deseja sincronizá-las ou não. Para verificá-los, este utilitário usa parâmetros como "ID da mensagem:" e "Recebido:" (número de identificação e hora do recebimento), ausentes nos emails, como rascunhos. Para sincronizá-los normalmente, precisamos do comando --addheader. Permite adicionar um número de identificação a eles para identificar e comparar essas letras durante a sincronização. O parâmetro --useheader permite comparar letras usando apenas um dos dois parâmetros durante a sincronização.

Depois de escrever o script perfeito que nos permitirá transferir a transferência perfeita de contas do MS Exchange para Zimbra, permanece um problema significativo, que está relacionado ao fato de ainda termos que transferir usuários entre servidores, um de cada vez. Isso não é o ideal, especialmente nas empresas em que há muitos funcionários e o número de caixas de correio é medido em milhares. No entanto, esse processo pode ser otimizado significativamente criando uma lista de contas e, em seguida, escreva um pequeno script que transfira automaticamente os emails com base nos nomes das contas. Para fazer isso, criaremos o arquivo imap_users e adicionaremos todos os dados necessários no seguinte formato:

 domains=( domain1\ domain2) users=( user1@domain1\ user2@domain1\ user3@domain1\ user1@domain2\ user2@domain2\ user3@domain2) 

Depois disso, escreveremos o próprio script. Temos algo parecido com isto:

 . imap_users src_srv = exchange.company.ru dest_srv = zimbra.company.ru for ((i = 0; i < ${#users[@]}; i++ )) do /usr/bin/imapsync --subscribe_all --maxmessagespersecond 4 --addheader --f1f2 "Inbox=INBOX" \ --f1f2 "Sent Items=Sent" --f1f2 "Sent items=Sent" --exclude "^Journal|^Tasks|^Trash|Contacts|Calendar|RSS Feeds" \ --useheader "Message-ID" --buffersize 8192000 --nosyncacls --allowsizemismatch --usecache --syncinternaldates --skipsize --nofoldersizes \ --tls1 --port1 143 --host1 $src_srv --user1 ${users[$i]} --authuser1 "besadmin" --password1 "XXXXXXX" --nosslcheck \ --host2 $dest_srv --user2 ${users[$i]} --authuser2 "XXXXXX" --password2 "XXXX" --tls2 --port2 7143 \ --regextrans2 "s/Inbox1/INBOX/i" --regextrans2 "s/Sent Items/Sent/i" --regextrans2 "s/sent-mail/Sent/i" --regextrans2 "s/Deleted Items/Trash/i" --regextrans2 "s/Deleted Messages/Trash/" \ --delete2duplicates --timeout 600 --pidfile "impasync.local.pid" --logfile "imapsync.log" --sep1 "/" --errorsmax "100" done 

Como a transferência de dados é incremental, você pode primeiro transferir a maior parte dos dados entre os servidores e, em uma breve interrupção técnica, transferir a pequena quantidade de dados acumulada desde a última sincronização, transferir todas as mensagens recebidas para o Zimbra e torná-lo o principal sistema de mensagens. Lembramos que, antes de migrar para o novo sistema de e-mail, você precisa notificar os funcionários sobre a transição futura, realizar treinamento com eles e também preparar memorandos sobre onde estão localizadas suas funções habituais em Zimbra. Graças a isso, a migração ocorrerá sem problemas e não criará problemas para os negócios.

Migrando do Lotus / Domino para Zimbra


De várias maneiras, o processo de migração do sistema de correio IBM usando o imapsync repete o processo de migração do MS Exchange e de qualquer outro sistema de correio. No entanto, no processo de migração direta, muitos administradores encontram um erro com a desconexão via IMAP e, consequentemente, o término da sincronização. Ao mesmo tempo, nenhuma mensagem de erro aparece nos logs. Se durante a migração do Lotus / Domino você encontrou esse problema, as seguintes ações ajudarão a resolver esse problema:

  • Inicie o Lotus Notes com privilégios de administrador e vá para o Catálogo de endereços.
  • Nas configurações do Catálogo de endereços, altere o formato padrão da mensagem para "MIME preferido"
  • No mesmo Lotus Notes em execução com privilégios de administrador, altere o formato do banco de dados do usuário para Mail (R6), que é retirado do servidor e não do cliente de email
  • Desligue o Lotus Domino Router no console de administração do Domino usando o comando tell router quit
  • Empacote o banco de dados do usuário no console de administração do Domino usando o comando “load compact userdb.nsf”
  • Verifique se há erros no banco de dados executando o comando fixup userdb.nsf no console do Domino (não no console do administrador)
  • No console de administração do Domino, execute o comando “convert -e userdb.nsf” para preparar o banco de dados para a transferência do imap
  • No console de administração do Domino, execute o comando “convert -h userdb.nsf” para adicionar cabeçalhos imap a todas as mensagens.

Após concluir todas essas etapas, a transferência de mensagens do Lotus / Domino para Zimbra usando o imapsync deve passar sem problemas.

Além dos utilitários para migração, os clientes Zimbra para computadores desktop e dispositivos móveis ficaram sem suporte. Além disso, o cliente da web em HTML foi removido do suporte, que foi usado para garantir a compatibilidade com navegadores mais antigos e dispositivos de baixo consumo de energia. Todos eles podem ser facilmente substituídos por clientes de terceiros, devido ao fato de o Zimbra suportar quase todos os padrões e protocolos abertos.

Lembre-se de que a migração entre servidores Zimbra pode ser feita usando a Ferramenta de Migração Zextras gratuita, que você pode baixar no site oficial da Zextras .

Para todas as perguntas relacionadas ao Zextras Suite, você pode entrar em contato com o representante da Zextras Katerina Triandafilidi pelo e-mail katerina@zextras.com

Source: https://habr.com/ru/post/pt458912/


All Articles