O que é tolerância a falhas?
A tolerância a falhas descreve um nível superior de disponibilidade caracterizado por 5 noves horas de atividade (99,999%) ou melhor. Os sistemas tolerantes a falhas são capazes de fornecer esses níveis de disponibilidade, porque podem "tolerar" ou suportar tanto "falhas" ou falhas de hardware como de software. Normalmente, eles fazem isso monitorando proativamente e evitando que sistemas críticos falhem em primeiro lugar, ou mitigando completamente o risco de um componente ou falha de sistema catastrófico.
Tolerância a falhas com base em software versus tolerância a falhas com base em hardware
A tolerância a falhas pode ser alcançada utilizando tanto abordagens baseadas em software quanto em hardware.
Em uma abordagem baseada em software, todos os dados comprometidos com o disco são espelhados através de sistemas redundantes. Abordagens mais sofisticadas baseadas em software também replicam dados não comprometidos, ou dados em memória, para um sistema redundante. No caso de uma falha do sistema primário, um sistema secundário de backup retoma a operação, assumindo o controle a partir do exato momento em que o sistema primário falha, de modo que nenhuma transação ou dado seja duplicado ou perdido.
Em uma abordagem baseada em hardware, os sistemas redundantes funcionam simultaneamente. Servidores paralelos executam tarefas idênticas, de modo que se um servidor falhar, o outro servidor continua a processar transações ou entregar serviços. Esta abordagem se baseia na probabilidade estatística de falha simultânea de ambos os sistemas ser extremamente baixa. Apenas um servidor é realmente necessário para entregar aplicações, mas ter dois servidores ajuda a garantir que pelo menos um estará sempre em execução.
How everRun® Enterprise e ztC™ Edge fornecem cargas de trabalho tolerantes a falhas
O software Stratus everRun Enterprise e o Stratus ztC Edge utilizam ambas plataformas de computação baseadas em software para fornecer aplicações tolerantes a falhas e proteger os dados.
O principal desafio com abordagens baseadas em software é a replicação eficiente dos dados enquanto minimiza a sobrecarga do sistema. Não se replique o suficiente e seus tempos de recuperação aumentam. Replique com muita freqüência e use muito dos recursos de seu sistema apenas para garantir a disponibilidade.
everRun Enterprise e Stratus Redundant Linux, a plataforma operacional que alimenta a solução ztC Edge da Stratus, replica todos os dados gravados em disco (para cargas de trabalho altamente disponíveis) e usa um mecanismo de verificação único para replicar continuamente os dados na memória e estados de CPU (para cargas de trabalho tolerantes a falhas). Todas as operações de E/S são enfileiradas até que os pontos de verificação sejam completados e verificados. Algoritmos proprietários ajustam dinamicamente a freqüência dos pontos de verificação, com base no tipo e na quantidade de mudanças de dados e na taxa de transferência de E/S. Se/quando um nó falhar, uma pausa de dois segundos é usada para evitar cenários de cérebro dividido, resultando em um tempo de recuperação de sub cinco segundos - abaixo do limite TCP/IP para enfileiramento e reapresentação de solicitações.
Além de seu exclusivo e altamente eficiente motor de checkpointing, as soluções Stratus se diferenciam por sua simplicidade operacional. Nenhuma aplicação ou modificação do sistema operacional convidado é necessária para torná-las sensíveis ao cluster. Não são necessários scripts adicionais de failover para garantir a disponibilidade da aplicação e a integridade dos dados. Tudo o que é necessário é que as aplicações sejam instaladas em uma máquina virtual e lançadas para torná-las tolerantes a falhas.
![alta disponibilidade, sistemas tolerantes a falhas, tolerância a falhas](https://www.stratus.com/wp-content/uploads/Checkpointing-High-Availability.jpg)
![sistemas tolerantes a falhas, tolerância a falhas](https://www.stratus.com/wp-content/uploads/Checkpointing-Fault-Tolerance.jpg)
![sistemas tolerantes a falhas, tolerância a falhas, alta disponibilidade](https://www.stratus.com/wp-content/uploads/Lockstep-Processing.jpg)
Como o ftServer® proporciona uma carga de trabalho tolerante a falhas
O Stratus ftServer utiliza uma abordagem baseada em hardware para fornecer aplicações e dados tolerantes a falhas.
O principal desafio com abordagens baseadas em hardware é assegurar a sincronização precisa dos processos e dos fios - assegurando que as mesmas coisas estejam acontecendo exatamente ao mesmo tempo em ambos os nós de um sistema redundante.
O Stratus ftServer usa matrizes de portões programáveis de campo (FPGA) próprias para garantir o processamento em duas metades idênticas de um sistema ftServer. As duas unidades idênticas substituíveis pelo cliente (CRU) funcionam em paralelo. Cada uma atua como servidor primário ou secundário, conforme a necessidade. Cada uma executa o mesmo processo ao mesmo tempo. Com o ftServer, não há tempo de recuperação quando há uma falha em um único componente ou CRU. A CRU disponível simplesmente assume como servidor primário até que a CRU indisponível seja substituída. Para organizações que não podem tolerar nem mesmo um segundo de tempo de inatividade não planejado, o Stratus ftServer é uma opção viável.
Além de seu uso de FPGAs e de abordagem de trava-passo, o Stratus ftServer se diferencia por sua simplicidade operacional. Aplicações, plataformas de virtualização ou sistemas operacionais convidados que são instalados no ftServer não requerem modificação ou configuração especial para torná-los tolerantes a falhas.