HAProxy e Exchange Server

Por Colaborador externo | 25 de Abril de 2014 às 08h57
photo_camera Divulgação

por Marcus Vinicius Aguiar*

As novas versões do Exchange Server, necessitam utilizar técnicas de load balancing (balanceamento de carga) para equilibrar e distribuir todas as conexões TCP recebidas, para os servidores com função de CAS (Client Access Server).

Estes servidores são responsáveis pelo acesso dos usuários aos serviços de e-mail e mensageria no Exchange e são normalmente criados em múltiplos, escalados de acordo com a quantidade simultânea de usuários.

As requisições feitas devem ser alocadas de forma uniforme entre os todos os servidores da farm CAS, que podem ser originadas por vários protocolos como HTTP, MAPI/RPC ou IMAP. Os servidores CAS, por sua vez, fazem o acesso aos servidores de caixas postais dos usuários.

Esta arquitetura torna o Exchange mais robusto, escalável e capaz de suportar vários usuários simultâneos. As técnicas de balanceamento de carga não são particulares ao Exchange, mas para o Exchange Server, deve ser tratada de acordo com as especificações da Microsoft.

Existem pré-requisitos de balanceamento para cada tipo de protocolo, incluindo diferentes algoritmos e afinidade de servidores para as sessões TCP, para que a experiência do usuário seja transparente e que o produto entregue todas as funcionalidades às quais foi desenvolvido.

Para o projeto de atualização de versão do ambiente de correio eletrônico na CSN, foi preciso escolher um software de load balancing, que aplicasse tais técnicas e que aumentasse a quantidade de conexões tratadas pelos servidores Exchange. O software definido pela CSN para o projeto é o open source HAProxy, que é usado, inclusive, por várias soluções de load balancing em hardware.

O HAProxy também é utilizado em muitos sites e serviços de Internet conhecidos, como GitHub, Instagram, Stack Overflow, Twitter, entre outros.

“Ao iniciarmos este estudo, a primeira questão que surgiu foi: como este software pode ajudar-nos suportar a demanda de mensageria de todo o grupo CSN, tornando-se transparente e possibilitando que usemos tudo que o Exchange pode nos oferecer?”, explica Marcus.

O software na CSN, está sendo executado em servidores Linux modificados para suportarem milhares de conexões TCP simultâneas, e tratar todas as particularidades exigidas para o funcionamento do Exchange, como a afinidade de usuários a servidores de frontend, detecção de falha nos serviços e servidores e enfileiramento de conexões, caso haja sobrecarga de servidores.

“A solução conta atualmente com mais de 4 mil sessões simultâneas para os serviços de OWA, Outlook Anywhere, ActiveSync e SMTP. Com o desenvolvimento do projeto, esperamos suportar mais de 14 mil conexões.”, comenta Marcus.

Os servidores que hospedam o HAProxy tiveram parâmetros de kernel ajustados para a maior carga possível de conexões. Essas conexões são recebidas pelo kernel e entregues ao daemon do HAproxy, e baseado nas suas configurações, define o destino aos servidores frontend do Exchange.

Para maior disponibilidade, um cluster de servidores HAProxy foi criado com o software open source Keepalived, que utiliza o protocolo VRRP para redundância de IP. O IP virtual em uso pelo HAProxy pode ser atribuído a outros servidores, caso haja falha no servidor que está hospedando o serviço.

Uma outra vantagem da solução é a possibilidade de parada programada de servidores da farm CAS sem impacto para o usuário, pois é possível solicitar ao HAProxy que impeça que novas conexões sejam direcionadas ao servidor e encaminhando-as aos demais.

Toda a arquitetura desenhada pela CSN para suportar o fluxo de e-mails foi feita pensando-se em transparência, robustez e desempenho.

A integração entre softwares open source e soluções comerciais de grande porte como o Microsoft Exchange, tornam as empresas capazes de suportar a demanda de crescimento de negócios, e demonstra que a interoperabilidade dos produtos é essencial para a TI.

“Este é mais um caso de sucesso que tivemos com as soluções open source e produtos Microsoft. Toda a integração demonstrada pela solução é fruto de muito estudo técnico das funcionalidades do Exchange e do HAProxy. Conhecendo-se as partes podemos integrá-los e complementá-los.”, explica Marcus.

* Marcus Vinicius Aguiar Ferreira é Analista de TI na Companhia Siderúrgica Nacional, com mais de sete anos de experiência na administração de sistemas operacionais Windows, Linux, Unix e VMware, dispositivos de redes e storages. Está sempre em busca de novos desafios na área e é também um apaixonado por tecnologia.

Fique por dentro do mundo da tecnologia!

Inscreva-se em nossa newsletter e receba diariamente as notícias por e-mail.