Migrar VPS para a mesma máquina sem perder e-mails

1

Eu tenho um centos 6 VPS executando o ispconfig que não está em boa forma no momento. Yum é quebrado além do reparo e parece que minha melhor opção para consertar é reinstalar.

Estou planejando fazer backup, instalar o centos 7 e todo o meu software de servidor, recriar contas e restaurar arquivos na mesma máquina. Conseguir uma segunda máquina pode ser uma opção, uma vez que esta acaba no próximo mês, mas não tenho certeza se irei obter a mesma configuração, porque eu tenho um endereço IP extra no meu plano que eu preciso.

Meus problemas são as contas de e-mail postfix - usei o imapsync para migrar antes, mas isso não funcionará nesse caso, porque não terei dois servidores ao mesmo tempo. Parece que eu posso copiar arquivos maildir e arquivos do usuário do sistema, mas isso parece frágil para mim.

Também estou pensando em migrar do ispconfig para o vestacp. (Edit: Eu estou furando com o ispconfig)

Qualquer sugestão que facilite isso seria apreciada. Se eu estou fazendo tudo errado, por favor me avise.

Editar: esclarecimentos

  • Tenho 32 contas de e-mail com menos de 12 domínios
  • Meu servidor IMAP é dovecot
  • Meu Painel de Controle do Servidor é o ispconfig (estou aderindo a ele)
  • Os arquivos do Maildir não estão em / home / em /var/mail/exampledomain.com/exampleuser/Maildir /
por Syntax Error 29.07.2015 / 18:23

3 respostas

4

A primeira resposta da jornada está correta até o momento, mas eu não acredito que ela aborda o que o OP realmente está tentando atingir - qual é a melhor forma de lidar com a migração de e-mail e contas, ao invés de como lidar DNS.

Normalmente, há muitas maneiras de lidar com essa tarefa, mas porque estamos lidando com apenas um servidor que passará por uma reinstalação do sistema operacional. Vou tomar como certa a afirmação de OP de que, de alguma forma, o yum se tornou irreparável, ou tão danificado, que o reparo seria mais complexo ou demorado do que reinstalar o sistema operacional. Eu também vou tomar como certo que este é seu único servidor disponível, e que você está familiarizado com o imapsync. Eu também vou assumir que você está usando o dovecot-imapd como seu servidor IMAP, porque o postfix é um servidor SMTP e não um servidor IMAP (mas o dovecot que eu acho é um dos sistemas IMAP mais amplamente utilizados com o postfix).

Uma opção neste cenário é usar o imapsync para fazer backup de suas contas em uma série de contas gratuitas do Gmail. Backup de cada conta para gmail (você poderia fazer vários simultaneamente, dependendo de quanto músculo seu servidor atual tem e que tipo de táticas anti-spam que o Google está usando para o IMAP ultimamente). Você pode usar este script:

imapsync \
   --host1 your.oldserver.ext --port1 993 --user1 [email protected] \
   --passfile1 /path/to/gmail_mirror.passfile1 --ssl1 \
   --host2 imap.gmail.com --port2 993 --user2 [email protected] \
   --passfile2 /path/to/gmail_mirror.passfile2 --ssl2 \
   --useheader 'Message-Id' --skipsize \
   --syncinternaldates --noauthmd5 -nofoldersizes \
   --split1 100 --split2 100 \

Observe que isso depende da porta TCP 993 do IMAPS padrão. Se você estiver usando o IMAP de texto simples em seu servidor, considere não fazer isso o mais rápido possível e, no momento, pode alterar sua porta para 143 ou qualquer outra você está usando. Você provavelmente também pode usar localhost para host1 no primeiro script e host2 no segundo script, novamente dependendo das configurações. Você também precisará usar um passfile. Mais informações sobre os sinalizadores corretos a serem usados e como usá-los estão disponíveis aqui: link

Para enviar os e-mails do Google para o novo servidor, você pode fazer isso, o que funcionará para as pastas Todos os e-mails e E-mails enviados:

 imapsync \
      --host1 imap.gmail.com --port1 993 --user1 [email protected]
      --passfile1 /path/to/gmail_mirror.passfile1 --ssl1 \
      --host2 your.newserver.ext --port2 993 --user2 [email protected]
      --passfile2 /path/to/gmail_mirror.passfile2 --ssl2 \
      --useheader 'Message-Id' --skipsize --allowsizemismatch \
      --syncinternaldates --noauthmd5 -nofoldersizes\
      --split1 100 --split2 100 \
      --regextrans2 's/\[Gmail\]/username\@somedomain/' \
      --include "All Mail|Sent Mail" --delete2 --expunge2

As vantagens dessa abordagem é que a probabilidade de quebrar algo é muito pequena. Como estou trabalhando partindo do pressuposto de que yum está irreparavelmente danificado e porque não estou familiarizado com esse servidor, é muito possível que outros componentes também estejam corrompidos ou corrompidos. Este método é muito simples e deixa pouco espaço para falhas sutis.

Existem outras opções que têm benefícios adicionais: mais notavelmente, outras opções de backup e restauração seriam muito mais rápidas, já que não dependeriam de conexões com a Internet. No entanto, explorar essas opções exigiria informações mais detalhadas sobre o seu ambiente, por exemplo: o servidor usa o Dovecot para fornecer IMAP ou outro programa? O seu servidor usa algum CMS como o cpanel ou o Plesk? Seu daemon IMAP tem um backend do MySQL? Você usa usuários do sistema ou virtuais?

Tenha em mente que há várias maneiras de complicar a migração do servidor de e-mail. Há uma variedade de esquemas de autenticação diferentes, por exemplo, que podem complicar a migração de usuários e suas caixas de correio, em vez de simplesmente transferir seus e-mails como descrevi aqui. Se você quiser recriar usuários que podem enviar usando SMTP usando a mesma arquitetura do seu servidor anterior, precisaríamos dar uma olhada nas partes relevantes dos seus arquivos de configuração main.cf e IMAP (para dovecot, esses seriam dovecot.conf) .

    
por 29.07.2015 / 19:45
6

Existem outras boas respostas para isso, mas são bastante teóricas. Eu pensei que poderia ser útil para você saber que eu fiz isso, em várias ocasiões, e está tudo bem, mas em servidores CentOS usando dovecot e sendmail, e eu uso o mbox como armazenamento formato. Eu sei que você está usando o postfix e o Maildir, e me desculpe por não poder esclarecer isso; Espero que isso ainda seja útil.

Os e-mails armazenados estarão sob os diretórios pessoais das pessoas, geralmente em ~/mail , mas eles podem ter configurado as coisas de outra forma. Enquanto você estiver pegando todos os diretórios home e restaurando-os com matching UID / GIDs, o email armazenado deve ser bom.

O email não lido / não arquivado está em /var/spool/mail . Novamente, pegue todo esse diretório, restaure como descrito acima e tudo funcionará.

Se eu tiver algum conselho concreto, é

  1. Descarregue tudo. Não seja seletivo. Faça um backup de tudo , verifique se é legível e mantenha-o seguro. Os VPSs são pequenos, portanto, mantenha várias cópias (ou seja, não tente restaurar a partir de um único arquivo tar, de modo que, quando acidentalmente digitar tar c em vez de tar t e sobrescrever o backup, é um desastre). Você nunca sabe qual arquivo estranho você encontrará para restaurar, para que as coisas funcionem após a mudança.

  2. Agora não é hora de começar a mudar as coisas . Você pode ter sonhado em racionalizar seus UIDs ou alterar o formato de armazenamento de mensagens (ou alterar seu painel de controle, mas não falaremos sobre isso, porque faria sua pergunta off-topic para SF ), mas isso não é um bom momento para mudar qualquer coisa . Porque você está fazendo isso in situ , você não tem rede de segurança. Esse não é um bom momento para ser inteligente.

  3. A prática perfeita torna-se perfeita . É um VPS. Eles custam quase nada. Amazon vai literalmente deixar você ter um de graça. Tente um teste para migrar, aprimore suas habilidades quando as balas não estiverem voando. É bom que as pessoas na internet digam que isso é óbvio, mas são os arquivos , seus usuários, seus dados. É ótimo ter certeza!

por 30.07.2015 / 09:30
2

TL; DR Os servidores de e-mail manterão as mensagens em sua fila alguns dias se não puderem ser entregues. Normalmente, durante uma migração, você teria que alterar os registros DNS, mas como você está hospedado no mesmo servidor (o mesmo IP), não há necessidade disso. Você pode simplesmente desligar o servidor, instalar o novo e pronto. A única coisa importante é que você não deve aceitar emails recebidos durante a migração.

Isso é o que você deve fazer:

  1. Desativar o acesso do cliente ao servidor antigo (desligamento do Postfix / Dovecot / o que você tem).
  2. Faça um backup. Você pode simplesmente copiar o Maildir e pastas de usuários como você propôs, nada frágil sobre isso.
  3. Formate o servidor e reinstale.
  4. Configure o servidor de email novamente, NÃO configure o firewall ainda! Mantenha as portas de email bloqueadas.
  5. Restaurar todos os e-mails. Lembre-se de criar contas e executar chown de acordo. Lembre-se de que alguns servidores de e-mail exigem que o Maildir seja de propriedade do grupo mail (use chgrp ).
  6. Agora tudo está no lugar. Abra as portas e faça o novo servidor receber mensagens recebidas.

Quando alguém tenta entregar e-mail enquanto você está trabalhando, ele será parado pelo firewall e tente novamente mais tarde. Por causa disso, levará algum tempo até que todos os e-mails atrasados sejam entregues, em até dois dias. Portanto, avise seus clientes que o e-mail deles pode estar atrasado.

    
por 29.07.2015 / 18:54