UPDATE : quelques précisions et corrections dans le chapitre sur la tolérance aux pannes matérielles hors disques : les données en RAM sont régulièrement écrites sur disque pour être sécurisées, en plus d’être flusher à chaque arrêt à froid. Ma première tournure de phrase était plus que floue à ce sujet ;)
Un des aspects important de ce PoC était également de tester les différents mécanismes de tolérance aux pannes d’une X-Brick et constater le comportement de la baie en condition réelle. Avant de procéder à ces tests, nous avons fait un point avec EMC sur “la théorie” ;) . Voici la synthèse des informations que j’ai pu recueillir à cette occasion.
Redondance des disques :
EMC utilise un mécanisme un peu particulier pour assurer la tolérance aux pannes de disques sur son AFA (All-Flash-Array, pour les intimes ;) ). L’algorithme XDP, c’est son nom, présente un comportement “vu de l’administrateur” assez atypique pour en détailler ses spécificités par rapport aux RAIDs classiques :
– Tout d’abord, contrairement au RAID5/6 classique, le “spare” n’est pas localisé sur un disque (ou plus) particulier, mais la redondance globale est “étalée” sur l’ensemble des disques. Un mécanisme matriciel assez complexe est à l’oeuvre pour assurer la cohérence et la reconstruction en cas de panne d’un disque au sein du groupe de 25 volumes dont dispose une X-Brick. Vous trouverez un powerpoint très bien réalisé en fin d’article qui en décrit le fonctionnement.
– Même si officiellement, le niveau de tolérance affiché (la taille réservée par la brique pour assurer sa redondance) est présenté comme étant équivalent à du 23+2, XtremIO est capable de perdre, les uns après les autres, plus de 2 disques. En effet, moyennant une reconstruction complète de chaque disque (pas plus d’un disque cassé et non reconstruit simultanément par contre) et en fonction de l’espace disponible restant dans le volume global, la baie peut se permettre de perdre 3, 4 voir plus de disques. Au fur et à mesure que les disques tombent et son reconstruits, l’espace libre diminue d’autant.
– La reconstruction d’un disque en erreur est optimisée pour limiter celle-ci aux données actives réellement en péril, et uniquement celles-ci.
– En conséquence, XtremIO assume un overhead d’I/O pour la tolérance aux pannes disques particulièrement bas (entre 1,2 et 1,5 read/writes pour une IO d’écriture logique), mais variable en fonction du niveau de remplissage de la baie. Vous trouverez les chiffres et comparaisons par rapport aux RAIDs classiques dans le powerpoint.
Nous allons tester dans les jours qui viennent ces mécanismes sur notre X-Brick de prêt.
Tolérances aux pannes matérielles hors disques :
Pour assurer de tels performances, XtremIO, vous le savez sans doute, travaille principalement en RAM (notamment pour sa table de metadata). Or, la RAM classique est par définition volatile et donc à la merci d’une défaillance électrique. De ce fait, la brique dispose de mécanismes de protection contre les coupures de courant sans compromis. Les deux onduleurs présents dans l’appliance sont là pour le prouver. En effet, une telle panne peut potentiellement être catastrophique pour les données écrites. Toutes proportions gardées, XtremIO se comporte un peu comme si, pour un filesystem donné, toute la table d’allocation résidait en permanence en mémoire et n’était écrite sur disque qu’à intervalles réguliers et lors des arrêts à froid programmés.
Autant dire que les prochains tests de redondance sur cette partie seront particulièrement importants (et tendus, car notre PoC supporte désormais une partie de notre infrastructure virtualisée de test en ce moment).
Tolérances aux pannes logicielles et aux contrôleurs :
Enfin, et plus important que tout sans doute, la brique dispose de 2 contrôleurs, qui sont sensés assurer une parfaite redondance en cas de défaillance logicielle ou matériel de l’un d’entre eux. Nous procéderons également à un test de coupure à chaud dans les jours qui viennent.
D’une manière générale, il est important d’avoir confiance dans tous ses mécanismes avant une mise en production (et donc de les tester), notamment pour confirmer qu’au quotidien, la réaction de la baie à divers incidents “classiques” se comporte de manière prévisible et continue à assurer le service.
Le powerpoint d’EMC décrivant le fonctionnement du protocole XDP : 201308 XtremIO Data Protection Explained v1
Le fichier PDF associé : XtremIO Data Protection White Paper