Sistema de alta disponibilidade

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

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.

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.

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 | editar código-fonte]

Hardware[editar | editar código-fonte]

Ver também[editar | editar código-fonte]