Capitoli
- Introduzione
- Terminologia e Concetti Fondamentali
- Tecnologie e Strumenti nell’Iperconvergenza
- Funzionamento del Cluster nell’iperconvergenza
- Creazione di un Cluster Distribuito Geograficamente Requisiti e Considerazioni
- Come si espande un sistema iperconvergente
- Esempio di Calcolo del TCO
- Casi pratici, esempi e curiosità sui temi dell’iperconvergenza
- Note finali
3. Tecnologie e Strumenti nell’Iperconvergenza
Ci concentreremo ora sulle tecnologie e gli strumenti specifici utilizzati all’interno dell’iperconvergenza. Esploreremo le principali componenti e le loro funzioni, offrendo una visione più dettagliata del funzionamento dell’iperconvergenza.
5.1 Software-Defined Storage
Uno degli aspetti chiave dell’iperconvergenza è il concetto di software-defined storage (SDS), che consente la virtualizzazione e la gestione centralizzata delle risorse di storage. Attraverso il software-defined storage, i dispositivi di storage fisici vengono aggregati in un pool condiviso e gestiti in modo software. Ciò consente di semplificare la gestione dello storage, fornire un’allocazione efficiente delle risorse e offrire funzionalità avanzate come la replica dei dati, la deduplicazione e la compressione.
5.2 Replica, Deduplicazione e Compressione
La replica dei dati, la deduplicazione e la compressione sono tecniche chiave utilizzate all’interno di un sistema iperconvergente per ottimizzare l’utilizzo dello storage, garantire l’affidabilità e l’alta disponibilità dei dati e migliorare le prestazioni dell’infrastruttura nel complesso.
Vediamole nel dettaglio:
5.3 Replica dei dati
La replica dei dati nel contesto di un sistema iperconvergente implica la creazione di copie dei dati e la loro distribuzione su più nodi del cluster. Questo processo può avvenire in modo sincrono o asincrono.
La replica sincrona richiede che tutti i nodi confermino l’avvenuta scrittura prima di restituire una conferma al client. Questo assicura che i dati siano coerenti tra tutti i nodi, ma potrebbe introdurre una lieve latenza poiché l’operazione di scrittura deve essere riprodotta su tutti i nodi. E’ a causa della replica sincrona che i nodi devono essere connessi tra di loro con una velocità pari se non superiore rispetto alla velocità dello storage. In questo scenario si otterrà un RTO ed un RPO = 0. Questo è il caso tipico dei Cluster situati nello stesso sito geografico (o stesso datacenter) con la possibilità quindi di poter connettere i nodi con link molto veloci (almeno 25, 40, 100, 200, 400 Gbit/s).
Nella replica asincrona, i dati vengono copiati su nodi di destinazione in modo asincrono rispetto all’operazione di scrittura. Questo può ridurre la latenza delle scritture, ma potrebbe comportare una minor coerenza dei dati in caso di guasti. La replica dei dati garantisce che essi siano disponibili su più nodi, aumentando l’affidabilità del sistema e consentendo il failover in caso di guasti dei nodi. Questo è il tipico caso in cui i nodi non sono situati nello stesso luogo geografico e per sincronizzarsi utilizzeranno una connessione tipicamente più lenta. In questo caso avremo un RPO dipendente dalla velocità della connettività, tipicamente e statisticamente maggiore di 5 minuti.
5.4 Deduplicazione
La deduplicazione nei sistemi iperconvergenti mira ad eliminare dati duplicati all’interno dello storage. Viene effettuata a livello di blocco o file e può essere implementata sia a livello locale (all’interno di ciascun nodo) che a livello globale (su tutto il cluster).
A livello di blocco, i dati vengono suddivisi in blocchi di dimensioni fisse. La deduplicazione identifica blocchi di dati duplicati e mantiene una sola copia di ciascun blocco, riducendo lo spazio di storage richiesto per memorizzare dati ridondanti.
A livello di file, la deduplicazione si applica all’interno dei file stessi. I segmenti duplicati all’interno di un file vengono identificati e sostituiti con riferimenti ai segmenti unici, riducendo ulteriormente la quantità di dati memorizzati.
La deduplicazione aiuta a risparmiare spazio di storage e a ottimizzare l’utilizzo delle risorse dello storage, soprattutto in ambienti con molti dati replicati o con dati simili tra i nodi del cluster.
5.5 Compressione
La compressione nell’iperconvergenza è una tecnica di ottimizzazione dello storage che riduce la dimensione dei dati utilizzando algoritmi di compressione che agiscono su blocchi di file.
La compressione a livello di blocco è una tecnica in cui i dati vengono suddivisi in blocchi di dimensioni fisse e ciascun blocco viene compresso singolarmente.
L’algoritmo di compressione analizza i dati all’interno di ciascun blocco e identifica i pattern e le ridondanze presenti. Utilizzando tecniche come la codifica di lunghezza fissa, la codifica di lunghezza variabile o la codifica di Huffman, l’algoritmo riduce la dimensione dei dati, eliminando le ridondanze e ottimizzando la rappresentazione dei dati.
I dati possono essere compressi inline mentre vengono scritti nel sistema, oppure post-process dopo che sono stati scritti. Per consentire prestazioni ottimali, la compressione inline e post-process viene determinata in modo intelligente in base a modelli di accesso sequenziale o casuale.