Alta disponibilidade

Todos gostaríamos, mesmo quando não temos a necessidade real, de ter nossos servidores e sistemas disponíveis 100% do tempo.

No entanto, sabemos que isso é algo impossível na prática. Podemos chegar a uma porcentagem próxima de 100% e, na verdade, quanto mais próximo dos míticos 100% chegamos, mais cara e mais complexa a tecnologia que utilizamos para atingir tal disponibilidade se torna.

Porém, com software livre, podemos chegar bem próximo da tão desejada disponibilidade constante a um custo não proibitivo. Já há alguns anos existem ferramentas e softwares livres que nos permitem implementar soluções bastante confiáveis e que, somadas a uma boa infraestrutura, nos permitem ter sistemas com janelas de indisponibilidade quase imperceptíveis.

Recentemente, nos deparamos com a necessidade de um cliente que necessitava da disponibilidade mais alta possível para seus sistemas a um custo que não fosse altamente proibitivo. Estudos sobre qual estrutura seria a mais adequada foram feitos, bem como quais as soluções de software seriam utilizadas.

Após reuniões, decidimos por hardware IBM, uma vez que tratam-se de servidores que atenderiam com excelência a necessidade do cliente. O servidor de banco de dados anteriormente utilizado pelo cliente, Informix, foi mantido, mas teve sua versão atualizada para Informix IDS 10.

O sistema operacional escolhido, logicamente, foi GNU/Linux, mais especificamente Red Hat AS 4 em plataforma EM64T. São servidores multiprocessados e com tecnologia de 64 bits, discos SCSI internos com tecnologia RAID via hardware e os dados críticos armazenados em um storage IBM externo, acessado via fibra óptica.

O cliente possuía um sistema ERP sendo executado sob GNU/Linux. Para esse projeto, colocamos todo o sistema ERP, incluíndo o backend (Informix), funcionando sob um ambiente de alta disponibilidade.

A solução funcionou muito bem e, atualmente, temos o serguinte cenário :

  • Servidor primário : possui os serviços em execução e dados críticos sendo acessados do storage;
  • Servidor secundário : em standby, aguardando por qualquer problema com o servidor primário para entrar em ação e assumir o controle das operações;

Caso, por algum motivo (falha de hardware, falha de comunicação em rede, falha na execução de algum dos serviços, como o sistema ERP, banco de dados, etc), os serviços fiquem indisponíveis, o servidor secundário passa a fornecer a mesma funcionalidade anteriormente fornecida pelo servidor primário, inclusive utilizando os mesmos endereços IP do servidor primário, fornecendo os mesmos serviços e disponibilizado aos usuários exatamente os mesmos dados.

Dessa forma, fica imperceptível aos usuários se os serviços estão sendo fornecidos por um ou outro servidor específico. O fato é que os mesmos sempre terão os serviços que necessitam para trabalhar disponíveis.

2 Responses to “Alta disponibilidade”

  1. Alvaro Motta Says:

    Oi Jardel, fiquei curioso para saber se na solução de cluster em questão, foi utilizado o Cluster Suite da própria RH. Em caso positivo, qual o device configurado como fence? Caso negativo, qual foi a solução adotada; a do linux-ha?

    Abraços,

    Alvaro Motta

  2. Jardel Says:

    Olá Alvaro,

    Antes de mais nada, muito obrigado por ler o Blog da AW2NET e mais ainda de você ter comentado.

    Sobre a sua pergunta, não utilizamos o Cluster Suite da RH, utilizamos alguns softwares que em conjunto, atendem a necessidade de Alta Disponibilidade.

    Alguns dos softwares que utilizamos foram:

    - Heartbeat;
    - Mon;

    Que fazem parte do linux-ha de alguma forma.

    Nessa solução que eu postei, poderíamos utilizar o DRBD, mas como tínhamos Storage, não foi necessário.

    Estarei em breve postando mais sobre DRBD.

    Abraços,

    Jardel.

Leave a Reply