O resultado que você deseja alcançar e a maneira como decidiu fazê-lo são coisas muito diferentes. Para ser franco, o que você deseja implementar é uma péssima idéia, e se você conseguir de alguma forma fazê-lo funcionar, não funcionará por muito tempo (ou muito bem).
O que torna essa pergunta difícil de responder é que você foi direto à implementação e não descreveu nada útil sobre o seu ambiente ou o que está tentando realmente alcançar. Por favor, não faça isso, você obterá resultados muito melhores aqui se "mostrar seu trabalho".
Permitam-me apresentar alguns cenários, porém, para dar uma amostra do que é possível, prático e útil:
- Garantir que nenhum e-mail seja perdido: (Acho que não é disso que você precisa, pois a documentação a que se refere o cobre adequadamente) Tudo o que você deseja ter aqui é a garantia de que, independentemente de quanto tempo sua infraestrutura de entrega e gerenciamento de mensagens estiver inativa, você não devolver qualquer correspondência e você poderá controlar quando a entrega será feita. Para isso, um MX simples de backup externo "simples" funcionará adequadamente. Eu digo "simples" porque você precisa replicar muitos dados para o backup (toda a lógica anti-spam, informações válidas de usuário / alias para que você possa devolver corretamente mensagens inválidas no horário SMTP, esse tipo de coisa), mas tudo é programável , automatizável e bastante trivialmente implementável com um pouco de cuidado. Contanto que você tenha disco suficiente para enfileirar todo o correio,
- Garantir a disponibilidade total do sistema de correio : Parece que é isso que você deseja, mas não é simples ou bonito. Basicamente, você deseja poder fornecer um serviço de correio "completo" à sua base de usuários no caso de uma falha completa do site. Em princípio, isso é realmente impossível, porque a replicação não é instantânea, mas você pode obter pelo menos um nível razoável de confiabilidade. A parte difícil não é o MTA; é a própria loja de correio. Você precisará descobrir uma maneira de replicar todas as operações de armazenamento de mensagens (entrega de novas mensagens, alterações no estado da mensagem, exclusão) para o segundo site quase em tempo real - e fazê-lo nos dois sentidos, dependendo de qual site estiver ativo . Você pode optar pela opção mais barata, de um rsync periódico (com o risco de que qualquer coisa feita desde o último rsync se acabe para semprese você precisar realizar o failover) ou optar por várias técnicas de replicação em nível de arquivo ou bloco para tentar manter as coisas sincronizadas em tempo quase real (reduzindo a quantidade de perda de dados em troca de configuração e operação significativamente mais complicadas) . Alguns sistemas de correio têm suporte para algum tipo de replicação embutida, o que pode facilitar a vida. Depois, há toda a questão do failover, e como você faz isso e depois o retorno , o que é mais difícil novamente e, finalmente, você precisa testá-lo periodicamente, para garantir que a atualização do sistema operacional que você fez um tempo atrás não quebrar qualquer coisa ...
Basicamente, a última opção é dolorosa e irritante. Minha preferência pessoal, se você conseguir se safar (e você ficará surpreso com a frequência com que pode), é colocar todos os seus ovos em uma cesta, depois de garantir que você tenha uma cesta realmente boa e resistente (engenharia de sistemas adequada ), mantendo um estoque de remendos de cesta e ferramentas à mão (com foco na alta recuperabilidade ) e garantindo que as pessoas saibam que de vez em quando alguns ovos podem se quebrar e você sente muito, mas a vida não é perfeita (não faça garantias de SLA que não sejam razoáveis).
Há momentos em que você precisa de disponibilidade ultra alta, e eu desenvolvi sistemas que garantem isso, mas eles não são simples e, em muitos casos, não são econômicos, e é para isso que estamos aqui. Sim, o HA é legal e sexy, e você recebe créditos nerds por criar uma monstruosidade de complexidade imponente, mas não estamos aqui para acariciar nossos egos. Estamos aqui para agregar valor aos negócios, e sinto muito, mas é provável que um cluster de correio multi-sites altamente disponível da Rube Goldberg não forneça tanto valor quanto um serviço de correio simples e robusto e o ocasional "nós" desculpe-nos pela falta de correio, teremos os sistemas de volta em uma hora, sinta-se à vontade para tomar um café e um bolinho em nós ".
Você pode conseguir isso com o failover do MX DNS + um sistema de replicação de dados.
Para failover MX: Dois servidores de correio, precisam de ajuda com a configuração de DNS do backup
Para replicação de dados: http://www.drbd.org/docs/install/
- $
fonte
Eu usei o dbmail para obter uma solução semelhante. O dbmail armazena todo o email em um banco de dados. Você pode configurar a replicação do banco de dados para garantir que seus emails também sejam armazenados no local remoto. Isso torna o gerenciamento do sistema de correio mais complicado, pois você precisa gerenciar o banco de dados e o email.
fonte
O que você deseja é a replicação do Postfix, que não acho que o Postfix suporte nativamente. A solução que eu já vi outras pessoas usando é replicar os arquivos de dados do Postfix entre servidores usando um sistema de arquivos distribuído.
fonte