Reading Time: 4 minutes

Uno dei grandi annunci alla scorsa .NEXT Conference è stato l’introduzione della funzionalità di erasure coding tra i diversi nodi (quindi secondo il modello RAIN), funzione in tech preview all’interno del nuovo Nutanix Operating System (NOS) versione 4.1.3.

Nutanix Erasure Coding–X (EC-X) è un’implementazione proprietaria, nativa, patent pending, di una modalità di protezione dati basata su Erasure Coding, che permette di aumentare la capacità dello storage fino al 70%.

Come già scritto in un post precedente, l’Erasure Coding (EC) rappresenta una valida alternativa ad alcuni modelli di RAID: Erasure-Coding

In realtà Nutanix non ha mai utilizzato il RAID neppure prima dell’introduzione di EC-X. Ogni nodo ha dei dischi locali (senza alcuna ridondanza locale) e all’interno di un cluster Nutanix viene implementata una funzionalità di protezione dati chiamata Replication Factor (RF) che si preoccupa di creare più copie (2 o 3 a seconda della protezione richiesta) dei dati, rendendo il cluster stesso resiliente a guasti di singoli dischi o persino interi nodi.Questa tecnica è concettualmente simile da un RAID10 (o un RAID10 con doppia ridondanza), ma non lavora sui dischi, bensì sui singoli dati e ovviamente si assicura che le copie dei dati non siano sullo stesso nodo. Da qui la necessità di avere almeno 3 nodi per implementare un cluster con RF2, dato che in caso di un guasto servono almeno 2 nodi per garantire a protezione RF2.

D’altra parte, se lo guardiamo dal punto di vista capacitivo, l’uso della RF porta l’efficienza dello storage a 0.5 (50%) se si usa il RF2 oppure a 0.33 (33%) se si usa RF3!Quindi un grande spreco di spazio per avere resilienza del dato.

La funzionalità di EC-X risolve questo problema, mantenendo buona parte dei vantaggi del RF, ossia: ottimizzare la disponibilità e la resilienza, fornire funzionalità di fast rebuild (tutti i nodi partecipano al rebuild), sfruttare l’intera capacità del pool di dischi.

Nutanix EC-X però non è per tutti i casi d’uso, dato che RF garantisce prestazioni migliori. L’utilizzo tipico è quello di massimizzare la capacità disponibile, ma se il cluster presenta workload con pesanti scritture nella parte di I/O, allora è opportuno rimanere su RF. Tra l’altro, essendo attualmente EC-X una tech preview, come suggerito nel sito ufficiale, va utilizzata in ambienti non di produzione. L’utilizzo tipico sarà di applicardo ai cosidetti “cold data” (snapshot, file server, archivi, backup set).

Come scritto l’algoritmo di EC è proprietario e ottimizzato per incidere il meno possibile da un punto di vista computazione: si tratta di un algoritmo di tipo MapReduce implementato tramite un job distribuited tra i vari nodi del cluster.

A seconda del numero di nodi, l’efficienza (in termi di capacità) di EC-X varia da 1.5 to 1.25 partendo da un cluster con un minimo di 3 nodi (non consigliato perché in caso di guasto non si potrebbe garantire la protezione dei dati) fino ad arrivare ad un cluster di 6 nodi (da lì in poi l’efficienza non cambia più).

Nutanix-EC

Notare che Nutanix può avere cluster di dimensione arbritraria, limitati nella pratica solo dal limite dell’hypervisor. Ma EC è un sistema costoso dal punto di vista computazione, al crescere dei nodi (anche se ogni nodo Nutanix porta con se nuova potenza di calcolo). Al fine di non inficiare le prestazioni del cluster, EC-X distribuisce i dati su 5 dischi (4 per i dati e uno per la parità). Ovviamente set di dati diversi staranno su set di dischi diversi e quindi è possibile avere cluster più grandi, ma dopo i 6 nodi l’efficienza non migliora più.

Un aspetto molto importante, è che EC-X è perfettamente interoperabile e compatibile con tutte le altre funzionalità del NOS, come ad esempio la deduplica e/o la compressione.

Vedere anche (in inglese):

Share

Virtualization, Cloud and Storage Architect. Tech Field delegate. VMUG IT Co-Founder and board member. VMware VMTN Moderator and vExpert 2010-24. Dell TechCenter Rockstar 2014-15. Microsoft MVP 2014-16. Veeam Vanguard 2015-23. Nutanix NTC 2014-20. Several certifications including: VCDX-DCV, VCP-DCV/DT/Cloud, VCAP-DCA/DCD/CIA/CID/DTA/DTD, MCSA, MCSE, MCITP, CCA, NPP.