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 Michael PERES)
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
|
|
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
|
|
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
|
|
4 nœuds
|
80 Tb
|
40 Tb
|
53 Tb
|
80/1,5 = 53
2+1 - Gain ~35%
|
|
5 nœuds
|
100 Tb
|
50 Tb
|
75 Tb
|
100/1,33 = 75
3+1 - Gain ~50%
|
|
6 nœuds
|
120 Tb
|
60 Tb
|
96 Tb
|
120/1,25 = 96
4+1 - Gain ~60%
|
|
7 nœuds
|
140 Tb
|
70 Tb
|
112 Tb
|
140/1,25 = 112
4+1 - Gain ~60%
|
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
|
|
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
|
|
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
|
|
4 nœuds
|
80 Tb
|
26 Tb
|
53 Tb
|
80/1,5 = 53
4+2 - Gain ~100%
|
|
5 nœuds
|
100 Tb
|
33 Tb
|
66 Tb
|
100/1,5 = 66
4+2 - Gain ~100%
|
|
6 nœuds
|
120 Tb
|
40 Tb
|
80 Tb
|
120/1,5 = 80
4+2 - Gain ~100%
|
|
7 nœuds
|
140 Tb
|
46 Tb
|
90 Tb
|
140/1,5 = 90
4+2 - Gain ~100%
|
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.