Chapitre 218 minIntermédiaire
Points uniques de défaillance (SPOF) et calcul en série et en parallèle
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- repérer les SPOF en suivant le chemin d'une requête ;
- calculer la disponibilité de composants en série et en parallèle ;
- citer les conditions qui faussent ce calcul : mode commun, bascule, capacité ;
- décider quoi doubler en premier, chiffres à l'appui.
5 exercices corrigés2 schémas
Un SPOF (single point of failure, point unique de défaillance) est un composant dont la panne suffit à arrêter tout un service, parce que rien ne peut le remplacer. Ce chapitre montre comment trouver les SPOF d'une infrastructure en suivant le chemin d'une requête, comment calculer la disponibilité d'une chaîne de composants (en série) et d'un groupe redondant (en parallèle), et comment décider de ce qu'il faut doubler en premier.
C'est quoi un SPOF ?
Un SPOF, c'est le maillon unique d'une chaîne. Dans la vie courante : l'unique multiprise sur laquelle sont branchés la box et le serveur, l'unique ligne Internet d'une agence, la seule personne qui connaît le mot de passe du pare-feu. Dans une infrastructure, ce sont le plus souvent :
- un équipement réseau par lequel tout passe : le commutateur de cœur, le pare-feu qui route entre les VLAN, la box de l'opérateur ;
- un serveur qui porte seul un service dont tout dépend : l'unique serveur DNS, l'unique contrôleur de domaine, l'unique base de données ;
- l'hyperviseur unique sur lequel tournent toutes les machines virtuelles ;
- l'alimentation électrique, la climatisation de la salle, le stockage partagé.
Un SPOF n'est pas forcément fragile. Un commutateur de qualité tombe rarement en panne. Mais le jour où il tombe, tout s'arrête, et la réparation se compte en heures. Supprimer un SPOF, c'est faire en sorte que sa panne ne coupe plus le service, ou seulement quelques secondes.
Trouver les SPOF : suivre le chemin d'une requête
La méthode tient en quatre étapes. Elle s'applique à un service tel que l'utilisateur le voit, pas à une machine.
- Nommer le service et son utilisateur. « Un collaborateur du siège consulte l'intranet depuis son poste. »
- Dessiner le chemin complet d'une requête, de bout en bout : le poste, la prise, le commutateur, le pare-feu qui route entre les VLAN, l'hyperviseur, la VM du répartiteur, la VM du serveur web, la base de données. Ajoute ensuite les dépendances que la requête ne traverse pas, mais sans lesquelles elle échoue : la résolution DNS du nom
intranet.ravelle.lan, l'authentification par l'annuaire, le certificat TLS, l'électricité. - Pour chaque élément, poser la question : « S'il tombe, le service tombe-t-il ? » Si oui et qu'il est seul, c'est un SPOF.
- Classer les SPOF par probabilité de panne et par durée de réparation, pour décider dans quel ordre les traiter.
Appliquée à l'intranet de Ravelle Conseil, la méthode donne ce tableau :
| Élément du chemin | En double ? | S'il tombe | SPOF ? |
|---|---|---|---|
| Poste de l'utilisateur | Non, mais n'importe quel autre poste fait l'affaire | Un seul utilisateur gêné | Non (pour le service) |
| Commutateur de cœur SW-CORE | Non | Plus aucun échange entre les postes, les serveurs et le pare-feu | Oui |
| Pare-feu PF-SIEGE | Non | Plus de routage entre le VLAN 10 et le VLAN 20 : les postes ne joignent plus les serveurs | Oui |
| Hyperviseur unique | Non | Toutes les VM s'arrêtent : répartiteur, serveurs web, base, contrôleurs de domaine | Oui, le plus grave |
| Disques de l'hyperviseur | RAID 1 | Le serveur continue sur le disque restant | Non |
| Alimentation électrique | Une seule arrivée, pas d'onduleur | Tout s'éteint, sans arrêt propre | Oui (la coupure du dernier trimestre) |
| Répartiteur SRV-LB | Non | Plus personne ne reçoit les pages, même avec deux serveurs web en état de marche | Oui |
| Serveurs web WEB1 et WEB2 | Oui | Le répartiteur envoie tout à l'autre | Non |
| Base de données SRV-DB | Non | L'application affiche une erreur sur chaque page | Oui |
| DNS (SRV-AD1 et SRV-AD2) | Oui, si les postes connaissent les deux serveurs | Le poste interroge le second serveur | Non |
| Administrateur unique | Non, et rien n'est documenté | Personne ne sait réparer pendant ses congés | Oui (humain) |
Disponibilité de composants en série
Des composants sont en série quand le service a besoin de tous pour fonctionner : la requête traverse le commutateur, puis le pare-feu, puis l'hyperviseur, puis le service. Si l'un tombe, tout tombe. La disponibilité de la chaîne est le produit des disponibilités :
A(série) = A1 × A2 × … × An
Exemple. Le commutateur est disponible à 99,9 %, le pare-feu à 99,8 %, l'hyperviseur à 99,5 % et le service lui-même (la VM et son application) à 99,7 %. La chaîne :
0,999 × 0,998 × 0,995 × 0,997 ≈ 0,98904, soit 98,90 %.
Sur une année de 8 760 heures, l'indisponibilité de 1,096 % représente environ 96 heures d'arrêt, quatre jours. Aucun des quatre composants n'est mauvais pris seul, mais la chaîne est moins disponible que son maillon le plus faible.
Disponibilité de composants en parallèle
Des composants sont en parallèle quand un seul suffit : le répartiteur peut envoyer la requête à WEB1 ou à WEB2. Le groupe ne tombe que si tous tombent en même temps. On calcule donc la probabilité que tous soient indisponibles, puis son complément :
A(parallèle) = 1 − (1 − A1) × (1 − A2) × … × (1 − An)
Exemple. Deux serveurs disponibles chacun à 99,5 % : l'indisponibilité de chacun vaut 0,005. Les deux sont en panne en même temps avec une probabilité de 0,005 × 0,005 = 0,000025. Le groupe est disponible à 1 − 0,000025 = 99,9975 %, soit environ 13 minutes d'arrêt par an au lieu de près de deux jours pour un serveur seul.
| Composants en parallèle | Disponibilité de chacun | Disponibilité du groupe | Arrêt par an |
|---|---|---|---|
| 1 | 99 % | 99 % | 3 j 15 h 36 min |
| 2 | 99 % | 99,99 % | 52 min 34 s |
| 3 | 99 % | 99,9999 % | 32 s |
| 2 | 99,5 % | 99,9975 % | 13 min 8 s |
Ces chiffres supposent trois conditions, que tu dois savoir citer :
- Les pannes sont indépendantes. Deux serveurs branchés sur la même multiprise, installés sur le même hôte ou mis à jour au même moment avec le même correctif défectueux tombent ensemble : c'est une panne de mode commun, et le calcul en parallèle ne s'applique plus.
- Le basculement fonctionne. Quelque chose doit détecter la panne et envoyer le trafic vers le survivant : un répartiteur avec ses contrôles de santé, un protocole de redondance, un cluster. Ce mécanisme ajoute lui-même un maillon.
- Le survivant tient la charge. Deux serveurs chargés à 70 % chacun ne sont pas redondants : le survivant devrait absorber 140 %.
Combiner série et parallèle : l'intranet de Ravelle Conseil
Une infrastructure réelle mélange les deux : des blocs redondants (en parallèle) placés les uns derrière les autres (en série). On calcule d'abord chaque bloc parallèle, puis on multiplie les blocs.
Prenons des disponibilités annuelles réalistes pour chaque élément de l'intranet : pare-feu 99,8 %, commutateur 99,9 %, hyperviseur 99,5 %, répartiteur 99,7 %, chaque serveur web 99,7 %. On laisse de côté la base de données pour garder le calcul lisible.
- Bloc web (deux serveurs en parallèle) : 1 − 0,003 × 0,003 = 1 − 0,000009 = 99,9991 %.
- Chaîne complète : 0,998 × 0,999 × 0,995 × 0,997 × 0,999991 ≈ 98,90 %, soit environ 96 heures d'arrêt par an.
Sans le second serveur web, la chaîne vaudrait 0,998 × 0,999 × 0,995 × 0,997 × 0,997 ≈ 98,61 %. Le deuxième serveur web n'a fait gagner que 0,3 point : la disponibilité reste dictée par les SPOF. Pour savoir lequel coûte le plus cher, convertis l'indisponibilité de chaque bloc en heures par an :
| Bloc | Disponibilité | Indisponibilité par an |
|---|---|---|
| Hyperviseur unique | 99,5 % | 43,8 h |
| Répartiteur unique | 99,7 % | 26,3 h |
| Pare-feu unique | 99,8 % | 17,5 h |
| Commutateur unique | 99,9 % | 8,8 h |
| Bloc web (2 serveurs) | 99,9991 % | moins de 5 min |
La priorité saute aux yeux : l'hyperviseur, puis le répartiteur, puis le pare-feu. Doubler seulement le répartiteur (deux répartiteurs à 99,7 %, en parallèle) ferait passer la chaîne à environ 99,20 %, soit encore 70 heures d'arrêt par an : utile, mais insuffisant tant que l'hyperviseur reste seul. Si chaque bloc est doublé, la chaîne monte à environ 99,995 %, soit 25 minutes d'arrêt par an.
Les SPOF qu'on oublie
Les SPOF les plus coûteux sont ceux qui n'apparaissent pas sur le schéma réseau.
- L'énergie et le froid. Deux serveurs sur la même arrivée électrique, ou dans une salle dont l'unique climatiseur tombe en panne en juillet, tombent ensemble. On y répond par des alimentations doubles, un onduleur, deux circuits électriques (chapitre 3).
- Les dépendances de service. Un serveur web parfaitement redondant reste inutilisable si le DNS ne résout plus son nom, si l'annuaire ne répond plus aux authentifications, si son certificat TLS a expiré ou si sa base de données est seule. Une horloge qui dérive de plus de cinq minutes suffit à faire échouer les authentifications Kerberos d'Active Directory : NTP est une dépendance aussi.
- Le même hôte, la même baie, la même salle. Deux VM redondantes doivent tourner sur deux hôtes différents. Deux hôtes redondants dans la même baie partagent ses deux bandeaux électriques. Deux salles dans le même bâtiment partagent le même risque d'inondation.
- Le stockage partagé. Un cluster de trois hyperviseurs qui lisent tous leurs disques sur un unique NAS a déplacé son SPOF sur le NAS (chapitre 9).
- Le logiciel identique. Deux nœuds qui exécutent le même logiciel ont les mêmes bugs. Une mise à jour défectueuse appliquée aux deux en même temps les arrête ensemble : on met à jour un nœud, on vérifie, puis l'autre.
- L'arbitre lui-même. Le répartiteur de charge, le témoin d'un cluster, le contrôleur RAID : le composant qui décide du basculement peut devenir le nouveau SPOF.
- L'humain. Un seul administrateur, des mots de passe dans sa tête, aucune procédure écrite : pendant ses congés, le MTTR explose. La documentation et un coffre-fort de mots de passe partagé suppriment ce SPOF-là.
Décider quoi doubler en premier
Tout doubler coûte cher, et tout n'a pas besoin de l'être. Pour chaque SPOF, croise quatre critères :
| Critère | Question | Exemple chez Ravelle Conseil |
|---|---|---|
| Part d'indisponibilité | Combien d'heures d'arrêt par an ce SPOF coûte-t-il ? | L'hyperviseur : 43,8 h estimées |
| Impact | Quels services tombent avec lui ? | L'hyperviseur emporte tout ; le répartiteur, l'intranet seul |
| Coût de la redondance | Matériel, licences, temps de mise en place | Un second hôte : quelques milliers d'euros ; un second répartiteur : une VM et une demi-journée |
| Difficulté | Compétences, temps, risque de casser l'existant | Le répartiteur est simple ; un cluster de pare-feu demande une coupure planifiée |
La démarche rejoint celle de l'analyse de risques : on traite d'abord ce qui est à la fois probable et grave, puis ce qui est peu coûteux à corriger. Chez Ravelle Conseil, un ordre raisonnable serait :
- un onduleur pour l'hyperviseur, le commutateur et le pare-feu (peu coûteux, et c'est la cause d'une panne réelle) ;
- un second répartiteur avec une adresse virtuelle partagée (chapitre 5), sur un hôte différent ;
- un second hyperviseur, puis un troisième pour un vrai cluster avec quorum (chapitres 7 et 8) ;
- la réplication de la base de données (chapitre 9) ;
- un second pare-feu en cluster et un second commutateur (chapitres 4 et 5) ;
- une procédure écrite et un second administrateur formé, dès maintenant, puisque cela ne coûte que du temps.
Exercices
Exercice 1 sur 5 Une chaîne de cinq maillons Réussi À revoir
Un service traverse cinq équipements en série, chacun disponible à 99,9 %.
- Calcule la disponibilité du service.
- Combien d'heures d'arrêt cela représente-t-il sur une année de 8 760 heures ?
- Quelle phrase de bon sens ce résultat contredit-il ?
Voir la réponseMasquer la réponse de l'exercice 1
- 0,999⁵ ≈ 0,99501, soit 99,50 %.
- Indisponibilité : 1 − 0,99501 = 0,00499. 0,00499 × 8 760 ≈ 43,7 heures par an, presque deux jours.
- « Si chaque équipement est à trois neuf, le service l'est aussi. » C'est faux : en série, les indisponibilités s'additionnent à peu près (5 × 0,1 % ≈ 0,5 %). Le service est cinq fois moins disponible que chacun de ses maillons.
Tu avais trouvé ?
Exercice 2 sur 5 Combien de serveurs ? Réussi À revoir
Un serveur d'application est disponible à 98 %. Tu dois atteindre 99,99 % pour ce service, avec un répartiteur que l'on supposera parfait.
- Calcule la disponibilité de 2 puis de 3 serveurs en parallèle.
- Combien de serveurs faut-il au minimum ?
- Pourquoi le répartiteur « parfait » est-il une hypothèse dangereuse ?
Voir la réponseMasquer la réponse de l'exercice 2
- Deux serveurs : 1 − 0,02² = 1 − 0,0004 = 99,96 %. Trois serveurs : 1 − 0,02³ = 1 − 0,000008 = 99,9992 %.
- Trois : deux ne suffisent pas (99,96 % < 99,99 %), trois dépassent l'objectif.
- Le répartiteur est en série avec le groupe de serveurs. S'il est seul et disponible à 99,7 %, le service ne peut pas dépasser 99,7 %, quel que soit le nombre de serveurs. Il faut le doubler lui aussi, ou viser une disponibilité très élevée pour lui.
Tu avais trouvé ?
Exercice 3 sur 5 Deux lignes Internet Réussi À revoir
L'agence de Ravelle Conseil dépend d'une ligne Internet (disponible à 99,5 %) et d'un pare-feu (99,8 %) pour joindre le siège par VPN.
- Calcule la disponibilité de l'accès au siège.
- On ajoute une seconde ligne, d'un autre opérateur, également à 99,5 %, sur le même pare-feu. Nouvelle disponibilité ?
- On ajoute enfin un second pare-feu en cluster. Nouvelle disponibilité ?
- Convertis les trois résultats en arrêt par an (525 600 minutes) et commente.
Voir la réponseMasquer la réponse de l'exercice 3
- Série : 0,995 × 0,998 = 0,99301, soit 99,30 %.
- Les deux lignes sont en parallèle : 1 − 0,005² = 0,999975. Puis en série avec le pare-feu : 0,999975 × 0,998 ≈ 99,80 % (99,7975 %).
- Deux pare-feu en parallèle : 1 − 0,002² = 0,999996. Chaîne : 0,999975 × 0,999996 ≈ 99,997 %.
- 1 : 0,00699 × 525 600 ≈ 3 674 minutes, soit environ 61 heures. 2 : 0,0020250 × 525 600 ≈ 1 064 minutes, soit environ 17,7 heures. 3 : environ 15 minutes. La seconde ligne fait gagner beaucoup, mais tant que le pare-feu est seul, c'est lui qui dicte le résultat. L'opérateur différent compte : deux lignes du même opérateur, dans la même gaine, tombent ensemble (mode commun).
Tu avais trouvé ?
Exercice 4 sur 5 Trouver les SPOF Réussi À revoir
Une agence immobilière de 12 personnes : une box opérateur, un commutateur non administrable de 24 ports, un NAS Synology avec deux disques en RAID 1 qui héberge les fichiers et les sauvegardes des postes, une imprimante réseau, un serveur Windows Server qui fait contrôleur de domaine, DNS et DHCP, branché sur la même multiprise que le NAS. Le gérant est le seul à connaître les mots de passe.
Liste les SPOF pour le service « ouvrir sa session et accéder aux fichiers », et propose une solution réaliste pour les trois plus graves.
Voir la réponseMasquer la réponse de l'exercice 4
SPOF : le commutateur ; le serveur Windows (annuaire, DNS et DHCP sur une seule machine) ; le NAS en tant qu'appareil (le RAID 1 protège des pannes de disque, pas de la panne du boîtier ou de son alimentation) ; la multiprise et l'absence d'onduleur ; le gérant, seul détenteur des mots de passe. La box n'est pas sur le chemin du service interne (sauf si elle fait le DHCP), mais elle l'est pour Internet.
Trois solutions réalistes pour une petite structure :
- Un onduleur pour le serveur, le NAS, le commutateur et la box, avec arrêt propre automatique : peu coûteux, il supprime un mode commun.
- Un second contrôleur de domaine (une petite machine ou une VM sur un autre hôte), avec DNS intégré à l'annuaire et basculement DHCP (chapitre 10).
- Un coffre-fort de mots de passe partagé et une procédure écrite : gratuit, et il supprime le SPOF humain.
Et une remarque importante : les sauvegardes des postes sur le NAS qui héberge aussi les fichiers ne sont pas une vraie sauvegarde. Il faut une copie externe, hors ligne ou hors site.
Tu avais trouvé ?
Exercice 5 sur 5 « C'est redondant » Réussi À revoir
Un stagiaire présente sa réalisation : « J'ai rendu le site web hautement disponible : deux VM Debian avec Nginx et une troisième VM HAProxy qui répartit entre les deux, le tout sur mon Proxmox. » Formule trois questions qu'un jury lui poserait, et la réponse qu'il devrait préparer.
Voir la réponseMasquer la réponse de l'exercice 5
- « Que se passe-t-il si votre hôte Proxmox tombe ? » Tout s'arrête : les trois VM sont sur le même hôte, l'hôte est un SPOF. Réponse à préparer : c'est une limite assumée du laboratoire ; en production, les VM seraient réparties sur au moins deux hôtes, avec une règle d'anti-affinité, ou dans un cluster Proxmox HA de trois nœuds.
- « Et si la VM HAProxy tombe ? » Le site tombe alors que les deux serveurs web fonctionnent : le répartiteur est un SPOF. Réponse : un second HAProxy et keepalived, qui partagent une adresse virtuelle par VRRP (chapitres 5 et 6).
- « Où sont les données du site, et sont-elles les mêmes sur les deux serveurs ? » Si chaque serveur a ses propres fichiers ou sa propre base, ils divergent dès la première modification. Réponse : une base unique répliquée, un stockage partagé ou une synchronisation, avec ses limites (chapitre 9).
Autre question probable : « Comment avez-vous testé ? » Il faut montrer une panne provoquée, mesurée, et documentée (chapitre 11).
Tu avais trouvé ?