Sistema de alta disponibilidade

Um sistema de alta disponibilidade (HA:High-Availability) é um sistema informático resistente a falhas de hardware, software e energia, cujo objetivo é manter os serviços disponibilizados o máximo de tempo possível.[1]

Figura 1 - Arquitectura clássica de um sistema dual-node de alta disponibilidade

Cada vez mais é necessário garantir a disponibilidade de um serviço, mas sendo que muitos componentes dos sistemas de informação actuais contêm partes mecânicas, a fiabilidade destes é relativamente insuficiente se o serviço for crítico. Para garantir a ausência de interrupções de serviço é necessário, muitas vezes, dispôr de hardware redundante que entre em funcionamento automaticamente quando da falha de um dos componentes em utilização.[1]

Quanto mais redundância existir, menores serão os SPOF (Single Point Of Failure), e menor será a probabilidade de interrupções no serviço. Até há poucos anos tais sistemas eram muito dispendiosos, e tem-se vindo a intensificar uma procura em soluções alternativas. Surgem então os sistemas construídos com hardware acessível (clusters), altamente escaláveis e de custo mínimo. Cluster é um conceito que está diretamente relacionado aos sistemas de alta disponibilidade e que permite agregar vários computadores, ou servidores, como se fossem uma única máquina de grande porte. A Figura 1 ilustra a configuração típica de um sistema de alta disponibilidade dual-node:

Como se pode observar, não existe um único ponto nesta arquitetura que, ao falhar, implique a indisponibilidade de outro ponto qualquer (SPOF). O facto de ambos servidores se encontram em funcionamento e ligados à rede não implica, porém, que se encontrem a desempenhar as mesmas tarefas. Esse é uma decisão por parte do administrador e que tem o nome de balanceamento de carga.

A Tabela 1 ilustra um dos termos de comparação geralmente utilizado na avaliação de soluções HA: níveis de disponibilidade segundo tempos de indisponibilidade (downtime). Excluídos desta tabela, os tempos de downtime estimados (geralmente para manutenção ou reconfiguração dos sistemas) são alheios às soluções e muito variáveis.

Tabela 1 - Níveis de Alta Disponibilidade
Disponibilidade (%) Downtime/ano Downtime/mês
95% 18 dias 6:00:00 1 dias 12:00:00
96% 14 dias 14:24:00 1 dias 4:48:00
97% 10 dias 22:48:00 0 dias 21:36:00
98% 7 dias 7:12:00 0 dias 14:24:00
99% 3 dias 15:36:00 0 dias 7:12:00
99,9% 0 dias 8:45:35.99 0 dias 0:43:11.99
99,99% 0 dias 0:52:33.60 0 dias 0:04:19.20
99,999% 0 dias 0:05:15.36 0 dias 0:00:25.92

Geralmente, quanto maior a disponibilidade, maior a redundância e custo das soluções: tudo depende do tipo de serviço que se pretende disponibilizar. Por exemplo, um operador de telecomunicações quererá certamente o mais elevado a fim de poder garantir um elevado nível de disponibilidade, sob pena de perder os seus clientes caso o sistema sofra falhas constantemente. No entanto, uma empresa com horário de trabalho normal poderá considerar que 90% de disponibilidade serão suficientes. É de salientar que o nível de disponibilidade mensal não é o mesmo que o anual. Efectivamente, para se obter um nível de disponibilidade mensal de 97%, é necessário que o nível anual seja aproximadamente de 99,75%.

A tolerância a falhas consiste, basicamente, em ter hardware redundante que entra em funcionamento automaticamente após a detecção de falha do hardware principal. Independentemente da solução adoptada, existe sempre dois parâmetros que possibilitam mensurar o grau de tolerância a falhas que são o MTBF - Mean Time Between Failures - (tempo médio entre falhas) e o MTTR - Mean Time To Repair - (tempo médio de recuperação), que é o espaço de tempo (médio) que decorre entre a ocorrência da falha e a total recuperação do sistema ao seu estado operacional. A disponibilidade de um sistema pode ser calculada pela fórmula:

Disponibilidade = MTBF / (MTBF + MTTR)

Software editar

Notas e Referências

  1. a b «HA Storage Cluster» (PDF). open-e.com (em inglês). Consultado em 7 de novembro de 2015 

Hardware editar

Ver também editar