H.A. para SMTP: Haproxy + Postfix

imagesmysza

 

Olá ! Nesse artigo eu gostaria de falar sobre uma arquitetura de alta disponibilidade para o serviço SMTP, com o software HAPROXY. Embora seja viável o balanceamento de carga com a inclusão de múltiplos servidores MX, muitas vezes é necessário ter alta disponibilidade de fato, sem depender de alterações de DNS, bem como a necessidade de se utilizar um único IP para apresentação.

Desta forma, iremos utilizar o HAPROXY como camada de apresentação para o serviço SMTP. Se a distribuição utilizada para implementação do HAPROXY for o Debian 7, a instalação do software é efetuada através do repositório Backports. Para o Debian 8, a instalação é efetuada através do repositório padrão.

Para instalar o HAPROXY, instale o pacote do mesmo:

aptitude install haproxy

O arquivo /etc/haproxy/haproxy.cfg pode ser configurado da seguinte maneira:

haproxy-cfg

 

Destacando as diretivas Frontend e Backend, que, respectivamente, correspondem ao serviço e porta que será iniciada no servidor Haproxy e os servidores SMTP que farão parte do pool. Como a porta utilizada no proxy também será a padrão SMTP [25], é necessário desinstalar outros servidores SMTP que por ventura tenham sido instalados por padrão pela distribuição.

No backend SMTP, estamos definindo qual o nome que será utilizado pelo servidor proxy para os backends ao efetuar testes de conectividade. A disponibilidade dos servidor é verificada a cada 30 segundos, podendo ser alterada conforme o cenário.

Após a configuração do HAPROXY para efetuar o balanceamento de carga do serviço SMTP, o Postfix deve ser instalado com versão superior a 2.10, uma vez que o protocolo é suportado somente a partir desta versão.

Nos servidores Postfix que irão integrar o balanceamento, a seguinte configuração deve ser aplicada no arquivo main.cf, e somente será possível conectar nestes servidores através do HAPROXY:

smtpd_upstream_proxy_protocol = haproxy
smtpd_upstream_proxy_timeout = 50s

Anúncios

2 comentários sobre “H.A. para SMTP: Haproxy + Postfix

  1. Boa, Fabio.
    Vou testar para futura implementação do expressoV3.
    To testando com o apache no V3. Agora falta fazer um Cyrus rs.
    Qual a melhor implantação de HA para o Cyrus? Replicar as caixas ou ter uma única unidade de disco compartilhado entre os servidores?

    Abraços

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s