Systèmes à tolérance de pannes

Qu'est-ce que la tolérance aux fautes ?

La tolérance aux pannes décrit un niveau supérieur de disponibilité caractérisé par un temps de fonctionnement de 5 neuf (99,999 %) ou plus. Les systèmes à tolérance de pannes sont capables de fournir ces niveaux de disponibilité, car ils peuvent "tolérer" ou supporter à la fois les "défauts" ou les pannes matérielles et logicielles. Ils y parviennent généralement soit en surveillant de manière proactive et en empêchant les systèmes critiques de tomber en panne, soit en atténuant complètement le risque de défaillance d'un composant ou d'un système catastrophique.

Tolérance de panne basée sur le logiciel ou le matériel

La tolérance aux pannes peut être obtenue en utilisant des approches logicielles et matérielles.

Dans une approche logicielle, toutes les données stockées sur le disque sont mises en miroir sur des systèmes redondants. Des approches logicielles plus sophistiquées reproduisent également les données non engagées, ou les données en mémoire, dans un système redondant. En cas de défaillance du système primaire, un système de sauvegarde secondaire reprend le fonctionnement, prenant le relais au moment exact où le système primaire tombe en panne, de sorte qu'aucune transaction ou donnée ne soit dupliquée ou perdue.

Dans une approche basée sur le matériel, les systèmes redondants fonctionnent simultanément. Les serveurs parallèles exécutent des tâches identiques, de sorte que si un serveur tombe en panne, l'autre serveur continue à traiter les transactions ou à fournir des services. Cette approche repose sur le fait que la probabilité statistique de défaillance simultanée des deux systèmes est extrêmement faible. Un seul serveur est en fait nécessaire pour fournir des applications, mais le fait d'avoir deux serveurs permet de garantir qu'au moins un d'entre eux fonctionnera toujours.

Comment everRun® Enterprise et ztC™ Edge fournissent des charges de travail tolérantes aux pannes

Stratus everRun Les logiciels d'entreprise et les Stratus ztC Edge Les plateformes informatiques utilisent toutes deux des approches logicielles pour fournir des applications tolérantes aux pannes et protéger les données.

Le principal défi des approches logicielles est de reproduire efficacement les données tout en réduisant au minimum les frais généraux du système. Si les données ne sont pas suffisamment répliquées, les délais de récupération augmentent. Si vous les répliquez trop souvent, vous utilisez une trop grande partie des ressources de votre système pour en assurer la disponibilité.

everRun Enterprise et Stratus Redundant Linux, la plate-forme d'exploitation qui alimente la solution Stratus'ztC Edge , répliquent toutes les données écrites sur le disque (pour les charges de travail hautement disponibles) et utilisent un moteur de pointage de contrôle unique pour répliquer en permanence les données en mémoire et les états du processeur (pour les charges de travail tolérantes aux pannes). Toutes les opérations d'entrée/sortie sont mises en attente jusqu'à ce que les points de contrôle soient terminés et vérifiés. Des algorithmes propriétaires ajustent dynamiquement la fréquence des points de contrôle, en fonction du type et de la quantité de changements de données et du débit d'E/S. Si/quand un nœud tombe en panne, une pause de deux secondes est utilisée pour éviter les scénarios de "split brain", ce qui donne un temps de récupération inférieur à cinq secondes - en dessous du seuil TCP/IP pour la mise en file d'attente et la resoumission des demandes.

En plus de son moteur de contrôle unique et très efficace, les solutions de Stratus se distinguent par leur simplicité opérationnelle. Aucune modification de l'application ou du système d'exploitation invité n'est nécessaire pour les rendre compatibles avec les clusters. Aucun script de basculement supplémentaire n'est nécessaire pour garantir la disponibilité des applications et l'intégrité des données. Il suffit d'installer les applications dans une machine virtuelle et de les lancer pour les rendre tolérantes aux pannes.

Comment ftServer® fournit des charges de travail tolérantes aux pannes

Stratus ftServer utilise une approche matérielle pour fournir des applications et des données tolérantes aux pannes.

Le principal défi des approches basées sur le matériel est d'assurer la synchronisation précise des processus et des threads - en s'assurant que les mêmes choses se produisent exactement au même moment sur les deux nœuds d'un système redondant.

Stratus ftServer utilise des réseaux de portes programmables par l'utilisateur (FPGA) pour assurer un traitement par étapes de verrouillage sur deux moitiés identiques d'un système ftServer . Les deux unités remplaçables par le client (CRU) identiques fonctionnent en parallèle. Chacune fait office de serveur primaire ou secondaire selon les besoins. Chacune exécute le même processus en même temps. Avec ftServer, il n'y a pas de temps de récupération en cas de défaillance d'un seul composant ou d'une CRU. Le CRU disponible prend simplement la relève en tant que serveur primaire jusqu'à ce que le CRU indisponible soit remplacé. Pour les organisations qui ne peuvent tolérer ne serait-ce qu'une seconde de temps d'arrêt non planifié, Stratus ftServer est une option viable.

Outre son utilisation des FPGA et son approche par étapes, Stratus ftServer se distingue par sa simplicité opérationnelle. Les applications, les plates-formes de virtualisation ou les systèmes d'exploitation invités qui sont installés sur ftServer ne nécessitent aucune modification ou configuration particulière pour les rendre tolérants aux pannes.