Tech OnTap di NetApp Logo NetApp
Tech OnTap di NetApp
     
Panoramica sulla inline data compaction di NetApp
Skip Shapiro
Skip Shapiro
Technical Marketing Engineer, All Flash FAS e ONTAP Flash
NetApp

In NetApp® ONTAP® 9, abbiamo aggiunto una nuova funzione di efficienza dello storage chiamata inline data compaction. Dato che questo concetto è nuovo per la maggior parte delle persone, pensavo valesse la pena dedicare spazio in questo articolo per spiegare il funzionamento della compaction e la sua interazione con le altre funzionalità di efficienza dello storage.

La inline data compaction agisce cronologicamente sui dati, ovvero man mano che i dati arrivano allo storage controller. Mentre i dati sono ancora nella memoria del controller, prendiamo pacchetti di dati che normalmente consumerebbero un intero blocco di 4 KB ciascuno sullo storage fisico e compattiamo i pacchetti. Grazie alla compaction, in un singolo blocco fisico da 4 KB rientrano più pacchetti. Possiamo paragonare il problema alla preparazione di una valigia, un baule o uno zaino. Siamo in grado di prendere I/O probabilmente riempiti con molti zeri o spazi vuoti, rimuovere lo spazio vuoto e sfruttarlo. Questo è il processo di compaction.

La inline data compaction si verifica durante il processo di creazione della scrittura del consistency point (CP) di ONTAP. È come smontare qualcosa, come nel Tetris: ho questi piccoli I/O. Posso combinare rapidamente due o più di questi I/O in un contenitore fisico prima di collocarlo sul supporto storage? Per la nostra inline data compaction sono stati registrati molti brevetti. Il metodo che utilizziamo è innovativo. La compaction è abilitata per impostazione predefinita su tutti i sistemi NetApp All Flash FAS ed è una funzione opzionale attivabile per i sistemi FAS, con aggregati solo HDD o aggregati NetApp Flash Pool. In entrambi i casi, non sono previsti costi supplementari per la compaction: è al centro di ONTAP, proprio come compressione e deduplica.

La compaction è un componente di efficienza dello storage supplementare. È ortogonale alla deduplica e complementare alla compressione adattiva inline. Con la compressione adattiva inline, si creano gruppi di compressione qualora i dati siano per più del 50% comprimibili. Una volta compressi i dati, si cercano altre possibilità di compattare ulteriormente i dati compressi, associando vari pacchetti piccoli o mettendo insieme pacchetti grandi e piccoli, tutto in un singolo blocco fisico. Facendo parte del processo CP, la compaction da sola richiede un overhead veramente ridotto di CPU, 1%-2% al massimo. Non dovresti nemmeno trovarti in una situazione in cui un controller con utilizzo di CPU supplementare dall'1% al 2% ti metta in difficoltà. In caso contrario, il sistema è già sovraccarico.

Sebbene le operazioni di compressione e compaction operino alla perfezione tra di loro, non devono per forza funzionare congiuntamente. Un volume con molti piccoli file, ad esempio, potrebbe essere un ottimo candidato per la compaction, ma non trarrebbe beneficio dalla compressione.

Logicamente, quando i dati entrano nello storage controller, il processo di efficienza dello storage funziona nel seguente modo (supponendo che siano abilitate tutte le efficienze):

  1. Il primo evento è il rilevamento di blocchi che non contengono altro che zero. Per quei blocchi, non scriviamo niente, aggiorniamo solo i metadati. Fondamentalmente tali blocchi non sono altro che un numero di riferimento.
  2. Successivamente, applichiamo la compressione adattiva inline. Il processo è molto efficiente nel determinare se il blocco è comprimibile almeno per il 50%. Non sprechiamo cicli di CPU tentando di comprimere elementi a meno del 49% (punto in cui non otterremmo risparmi dalla compaction).
  3. A questo punto si verifica la deduplica inline. Questa funzione è stata introdotta in ONTAP 8.3.2, dove solo i dati in memoria venivano confrontati e deduplicati inline. Con ONTAP 9.0, abbiamo ampliato la dimensione dell'archivio hash di ingombro, includendo i dati recentemente scritti sul supporto di storage. Per massimizzare i risparmi derivanti dalla deduplica, la nostra best practice è svolgere la deduplica in background (postprocessing) secondo una pianificazione.
  4. L'ultima operazione è la data compaction. Ogni dato compresso con la compressione adattiva o non esaminato per la compressione, è idoneo alla compaction. Quindi, i piccoli file non compressi o i dati compressi per all'incirca il 75% o più dalla compressione adattiva inline sono idonei al processo. Il processo di compaction abbina e adatta due o più di tali pacchetti in un singolo blocco fisico da 4 KB, prima di inviare il blocco sullo storage. Maggiore è la percentuale di compressione e più piccoli sono i file, maggiore è la percentuale di compaction. Quindi, possiamo ottenere un enorme effetto moltiplicativo quando combiniamo piccoli blocchi, compressione e compaction.

Probabilmente, non riuscirai a capire l'impatto della compaction finché non inizierai a utilizzarla. La inline compaction è un processo euristico all'interno di un CP. Campiona i primi 100 I/O in arrivo per valutare la percentuale di compaction, quindi applica tale percentuale ai successivi 100. Se la percentuale di compaction aumenta, il processo dice "OK, considererò una percentuale maggiore da qui in poi". Se ottiene una percentuale di compaction minore, diminuisce la percentuale. Al prossimo CP, il processo ricomincia dall'inizio. Si tratta di un processo iterativo che ricerca il minimo utilizzo della CPU, seppure alla massima percentuale di compaction.

Figura 1) Le efficienze dello storage inline NetApp sono applicate mentre i dati si spostano attraverso lo stack di ONTAP.

Fonte: NetApp, 2016

Se necessario, si può utilizzare la inline data compaction da sola (senza compressione o deduplica). Supponiamo di disporre di un ambiente dotato solo di piccoli file, ovvero file dell'ordine dei 2 KB o meno. Questi piccoli file non sono comprimibili ed è improbabile ottenere molti risparmi dalla deduplica. Tuttavia, la inline data compaction comporta risparmi di spazio quando due o più file possono essere memorizzati in un blocco fisico da 4 KB.

In termini di replica dei dati logica, se i volumi di origine e di destinazione dispongono delle stesse policy di efficienza abilitate, i risparmi di spazio vengono mantenuti, senza annullare l'operazione. Un esempio è un sistema All Flash FAS con tutte le efficienze dello storage abilitate (la configurazione predefinita), in replica su un sistema FAS utilizzato come destinazione NetApp SnapVault®. Per mantenere i risparmi di spazio dalla deduplica, dalla compressione adattiva e dalla inline data compaction, bisogna avere tutte le suddette policy abilitate anche sul sistema di destinazione.

Al contrario, se il sistema FAS di destinazione non ha nessuna di queste policy di risparmi di spazio abilitate e si replica da un sistema All Flash FAS ONTAP 9, i dati vengono gonfiati quando scritti sulla destinazione. Non si avranno blocchi complessi, blocchi deduplicati e dati compattati. Quindi, per mantenere gli stessi risparmi di spazio, i volumi di origine e di destinazione devono disporre delle stesse policy di efficienza dello storage. Tuttavia, la nostra best practice è abilitare tutte le efficienze sui volumi di destinazione quando si replica da un sistema All Flash FAS di origine. In questo modo, si mantengono i risparmi di spazio sulla destinazione.

Riepilogando, la inline data compaction non altera in alcun modo i dati logici: cerca solo di capire come comprimere i dati in modo più efficiente. A meno che non ti trovi in un ambiente composto esclusivamente da file di piccole dimensioni, il modo migliore per considerare la compaction è come un moltiplicatore ulteriore alla compressione adattiva inline. Se hai I/O parzialmente riempiti, la compaction ti sarà di grande aiuto. Grazie a un overhead di CPU ridotto e più spazio libero per memorizzare i dati, la inline data compaction diventa scontata per tutti i sistemi All Flash FAS.

Skip Shapiro è un Technical Marketing Engineer NetApp, responsabile della tecnologia NetApp All Flash FAS, Flash Pool e Flash Cache. Skip presenterà due sessioni tecniche alla conferenza NetApp Insight® di Las Vegas e Berlino. Per ulteriori informazioni, consulta i seguenti link:

NetApp Insight Las Vegas (26-29 settembre):
NetApp ONTAP 9: Predictable Performance in SLA-Driven Business Environments
Approfondimenti tecnici su All Flash FAS

NetApp Insight Berlino (14-17 novembre):
NetApp ONTAP 9: Predictable Performance in SLA-Driven Business Environments
Approfondimenti tecnici su All Flash FAS

ottobre 2016

 
Come contattarci   |   Come acquistare   |   Feedback   |   Offerte di lavoro  |   Sottoscrizioni   |   Direttiva sulla privacy   |   © 2016 NetApp