virtu-desk VIRTU-DESK - Technologies de virtualisation et sécurisation de l'environnement utilisateurs.

Erasure Coding-X, le RAID de Nutanix à l’échelle du cluster

Par Le samedi, 12 décembre 2015 0

Dans Infrastructures (hyper) convergentes

Pour garantir la protection et la disponibilité de ses données de stockage, Nutanix utilise un concept baptisé « Replication Factor » ou encore « Facteur de réplication » (voir cet article : La gestion du stockage chez Nutanix) en lieu et place des technologies RAID telles que nous les connaissons pour les solutions de stockage traditionnelles.

Cette technologie offre une disponibilité de haut niveau mais reste très consommatrice en ressources de stockage. En effet, lorsque l’on utilise un facteur de réplication RF2, la capacité utile du stockage est de 50% (on la divise par deux). Pire encore, si l’on utilise un facteur de réplication RF3, la capacité utile du stockage est de 33% (on la divise cette fois-ci par trois). Conséquence directe, un coût au Go élevé et une utilisation non optimisée des capacités disques dans les Appliances.

Pour remédier à cette contrainte, Nutanix a développé une nouvelle fonctionnalité appelée Erasure Coding-X (EC-X), actuellement en instance de brevet. Cette dernière est nativement présente depuis la version 4.1.3 du Nutanix Operating System (NOS). Elle permet, en plus des optimisations existantes, telles que la déduplication et la compression, d’accroitre la capacité de stockage jusqu’à 70%, sans pour autant rogner sur la résilience du cluster qui reste inchangée.

Un « RAID » à l’échelle du cluster

La fonctionnalité de protection de données de la fonctionnalité Erasure Coding-X s’appuie sur des mécanismes qui sont très similaires à ceux  utilisés par les technologies RAID dans les environnements de stockage dits « classiques  ».

Ec x raid

(À retrouver sur ce lien)

Mais contrairement à ces derniers, où les données sont réparties sur plusieurs disques, EC-X segmente les données sur plusieurs nœuds du cluster Nutanix. Les méthodes classiques qui s’appuient sur la technologie « Erasure coding » utilisent généralement des RAID groupes sur les disques, ce qui présente l’inconvénient, de par la géométrie des disques et  l’espace associé au hot spare, de former rapidement un goulot d’étranglement sur les disques. Comme je le mentionnais juste avant, EC-X segmente les données sur un ensemble de nœuds du cluster et non sur un ensemble de disques. Cette méthode va optimiser la disponibilité, avec des reconstructions rapides en cas de panne, car on utilise l'ensemble du cluster au travers de processus « Map-reduce » pour calculer les parités de blocs.

 

Petit exemple pour comprendre les avantages de la fonctionnalité EC-X.

Avec un facteur de réplication RF2 seul, l’ensemble de données « a, b, c, d » seraient réparties de la manière suivante (2 copies de chaque donnée) sur les 6 nœuds du cluster.

Ec x rf2 data

 

En fait, combiné à RF2, EC-X va créer, via son algorithme, un ensemble de données « a, b, c, d » avec une parité « p », réparties sur 5 nœuds du cluster. Si un des nœuds (ou disque) qui intègre des données (« c » dans notre cas) de cet ensemble de données « a, b, c, d » est perdu, ces dernières pourront être très facilement récupérées par tous les autres nœuds qui font partis de ce même ensemble.

Ec x rf2 ec x data

Les apports d’EC-X pour la volumétrie de stockage

Avant de commencer, il faut savoir que dans un système qui utilise Erasure Coding, les données sources sont divisées en blocs (plus volumineux que les blocs d'un RAID, jusqu'à plusieurs Mo). Chaque bloc passe par un processus de transformation qui le "découpe" en tranches ou morceaux de données. (plus d'informations, lire cet article sur le blog de

Alors comment tout cela fonctionne-t-il ?

Dans l’exemple ci-dessous, on utilise un facteur de réplication RF2 où l’on a six blocs qui stockent trois morceaux de données de manière redondante. Avec cette configuration, un seul SSD/HDD ou nœud peut être perdu sans impact sur la disponibilité des données.

Nutanix Distributed Storage Fabric

RF2

Rf2 data

 

En activant Erasure Coding-X (EC-X), voici comment les mêmes 6 blocs seront utilisés. On a désormais la possibilité de stocker non plus trois, mais cinq morceaux de données (A, B, C, D, E) avec parité unique pour garantir une reconstruction des données en cas de défaillance d'un disque ou d'un nœud. On a donc le même niveau de résilience qu’une configuration avec un RF2 standard, « RF2 + EC-X » peut aussi tolérer la perte d’un seul SSD/HDD ou nœud sans impact sur la disponibilité des données, tout en offrant une plus grande capacité utile.

Nutanix Distributed Storage Fabric

RF2 + EC-X

Rf2 ec x data

 

Conséquence directe, la capacité utile augmente d'environ 50%, elle peut atteindre jusqu'à 75% pour des groupes de six nœuds ou plus.

Imaginons un cluster Nutanix composé de 7 nœuds NX-8150, chacun implémenté d’un stockage de 20 Tb RAW. Pour la définition, la capacité « RAW » est la capacité de disque totale absolue (ou brut), sans les impacts RAID ou RF. Dans cet exemple, 7 nœuds de 20 Tb donnent une volumétrie de 140 Tb RAW pour l’ensemble du stockage du cluster.

Avec une configuration du facteur de réplication RF2, on divise par deux la capacité RAW, soit une capacité utilisable de 70 Tb pour l’ensemble du cluster. En activant EC-X, la capacité serait d’environ 60% plus importante qu’avec RF2, soit une capacité utilisable du cluster de 112 Tb.

Voici un état des capacités avec un facteur de réplication RF2 fonction du nombre de nœuds d’un cluster Nutanix :

La configuration minimum supportée commence à 4 nœuds

Taille du cluster

Capacité RAW

Capacité utile RF2

Capacité après EC-X

Calculs

Ec x rf2 4nodes

4 nœuds

80 Tb

40 Tb

53 Tb

80/1,5 = 53

2+1 - Gain ~35%

Ec x rf2 5nodes

5 nœuds

100 Tb

50 Tb

75 Tb

100/1,33 = 75

3+1 - Gain ~50%

Ec x rf2 6nodes

6 nœuds

120 Tb

60 Tb

96 Tb

120/1,25 = 96

4+1 - Gain ~60%

Ec x rf2 7nodes

7 nœuds

140 Tb

70 Tb

112 Tb

140/1,25 = 112

4+1 - Gain ~60%

 Ec x definition

Avec un facteur de réplication RF3, en comparaison au RF2, les six blocs stockent deux morceaux de données de manière redondante. Avec cette configuration, deux SSD/HDD ou nœud peuvent être perdus sans impact sur la disponibilité des données.

Nutanix Distributed Storage Fabric

RF3

Rf3 data

 

En activant Erasure Coding-X (EC-X), voici comment les mêmes 6 blocs seront utilisés. On a désormais la possibilité de stocker non plus deux, mais quatre morceaux de données (A, B, C, D) avec une double parité pour garantir une reconstruction des données en cas de défaillance d'un disque ou d'un nœud. On a donc le même niveau de résilience qu’une configuration avec un RF3 standard, « RF3 + EC-X » peut aussi tolérer la perte de deux SSD/HDD ou nœuds sans impact sur la disponibilité des données, tout en offrant une plus grande capacité utile.

Nutanix Distributed Storage Fabric

RF3 + EC-X

Rf3 ec x data

 

Même gymnastique que précédemment, imaginons le même cluster Nutanix composé de 7 nœuds NX-8150, chacun implémenté d’un stockage de 20 Tb RAW, soit 140 Tb RAW pour l’ensemble du stockage du cluster.

Avec une configuration du facteur de réplication RF3, on divise par trois la capacité RAW, soit une capacité utilisable d’environ 46 Tb pour l’ensemble du cluster. En activant EC-X, la capacité serait d’environ 100% plus importante qu’avec RF3, soit une capacité utilisable du cluster de 90 Tb.

Voici un état des capacités avec un facteur de réplication RF3 fonction du nombre de nœuds d’un cluster Nutanix :

La configuration minimum supportée commence à 4 nœuds

Taille du cluster

Capacité RAW

Capacité utile RF3

Capacité après EC-X

Calculs

Ec x rf3 4nodes

4 nœuds

80 Tb

26 Tb

53 Tb

80/1,5 = 53

4+2 - Gain ~100%

Ec x rf3 5nodes

5 nœuds

100 Tb

33 Tb

66 Tb

100/1,5 = 66

4+2 - Gain ~100%

Ec x rf3 6nodes

6 nœuds

120 Tb

40 Tb

80 Tb

120/1,5 = 80

4+2 - Gain ~100%

Ec x rf3 7nodes

7 nœuds

140 Tb

46 Tb

90 Tb

140/1,5 = 90

4+2 - Gain ~100%

 Ec x definition

Un autre élément important à prendre en compte avec l’apport de la fonctionnalité EC-X.

Avec RF3, les 6 blocs de stockage qui contiennent les 2 morceaux de données (A, B) sont stockés dans le tiers SSD. Avec RF3 + EC-X, seuls les 4 blocs qui contiennent les 4 morceaux de données (A, B, C, D) sont stockés dans le tiers SSD, les deux blocs qui contiennent les parités sont placées dans le tiers magnétique. De cette manière on libère 33% de la capacité au niveau des SSD.   

Un grand merci à Josh ODGERS pour son travail, vous pouvez consulter cet article sur son blog pour en savoir plus.

Mais qu'en est t'il des performances ?

On pourrait aisément penser que ce nouvel algorithme de gestion de la donnée va interférer sur les performances des traitements. Josh ODGERS sur son blog explique comment s’y prend la fonctionnalité Erasure Coding-X pour ne pas affecter les workloads (charges de travail) intensives en écriture. D’après lui, la complémentarité « RF3 + Erasure coding-X » peut se révéler être une excellente configuration par défaut du conteneur lorsque que l’on parle de la résilience et de l'optimisation des capacités.

Il explique le chemin d’écriture de la donnée dans un environnement Nutanix XCP avec EC-X activé (pour plus de détails, consultez cet article sur le blog de Josh ODGERS).

Ec x chemindata

 

Comme le chemin d’une donnée en écriture n’est pas impacté par EC-X, la donnée sera stockée sur un SSD local, une copie sera écrite sur le nœud local où se trouve la VM en cours d’exécution, et selon la configuration du RF (facteur de réplication), la ou les autres seront copiées sur d’autres nœuds du cluster. En fait, pour une donnée fraichement écrite ainsi que pour une donnée qui serait effacée dans un intervalle inférieur à 60 minutes, la donnée sera toujours maintenue en local.

Pour une donnée qui répond aux critères EC-X, telle qu’un Hot en lecture ou une donnée froide en écriture, la donnée n’est que partiellement maintenue, ce qui implique une forte probabilité pour qu’un I/O en lecture soit effectué sur le réseau.

Présentation en vidéo

Pour bien comprendre le fonctionnement de la fonctionnlité Erasure Coding-X, regardez cette vidéo de la Nutanix School (nu.school), présentée par Chris Brown.

Erasure Coding-X est encore en « Tech Preview » sur les éditions Pro et Ultimate, pour cette raison, Nutanix recommande à ses clients de ne pas la déployer dans un environnement de production pour l'instant.

 

Voir aussi l’article d’Andre LEIBOVICI sur son blog.

  • 7 votes. Moyenne 5 sur 5.
Vous devez être connecté pour poster un commentaire