Analyse d'incident

Depuis plusieurs semaines et de manière complètement aléatoire, deux serveurs de notre infrastructures Cloud sont touchés par un problème technique : pendant quelques secondes, le système d'exploitation perd la visibilité de son disque principal ce qui provoque pour l'un un légère indisponibilité mais pour l'autre (rlo), le disque étant sollicité en permanence, le service de messagerie plante tout simplement.

Constatant le problème, nous avons ouvert un incident auprès de notre fournisseur d'infrastructure (OVH) qui a mené son enquête.
Léger problème : rien du côté des instances ne permet de mettre en évidence un dysfonctionnement local à l'origine de la panne.

Il y a quelques semaines, nos deux serveurs on subit l'incident au même moment, à quelques secondes près et sur la même durée, il n'en fallait pas plus pour sortir de l'aléatoire et tomber sur une panne permettant de mettre en évidence l'origine du problème : le cluster de disques distribués.

Les disques virtuels que nous utilisons sont dans un cluster CEPH (système de stockage distribué avec réplication pour la tolérance de pannes).
Ce cluster est indépendant de nos infrastructures car il distribue les "disques durs virtuels" aux différents "serveurs virtuels" situés à Strasbourg.

graphe des clusters CEPH (source OVH)

En se penchant sur les latences des disques au moment des incidents, de légers pics ont été constatés, de l'ordre de 25 millisecondes.
Hors, aussi minime que ce soit, cette latence d'un quart de seconde se répercute sur toute les liaisons (fibre optique) qui permettent la connexion de nos serveurs aux disques : il n'en faut pas plus pour que système d'exploitation ne voit plus le disque au moment ou il est sollicité, d’où le plantage.

Actuellement, les clusters sont en cours d'optimisation et nous surveillons l'impact sur le fonctionnement de nos serveurs avec les équipes d'OVH.

A suivre...

NOTE : cet article est lié à l'incident du 8 novembre dernier : https://support.religo.net/news/56/incident-sur-religo-maj.aspx