È possibile utilizzare la proprietà di deduplicazione (dedup) per rimuovere i dati ridondanti dai file system ZFS. Se per un file system è stata abilitata la proprietà dedup, i blocchi di dati duplicati vengono rimossi in sincrono. Come risultato, vengono memorizzati solo i dati univoci e i componenti comuni vengono condivisi tra file. Ad esempio:
# zfs set dedup=on tank/home
Non abilitare la proprietà dedup sui file system che risiedono nei sistemi di produzione finché non si effettua la seguente operazione per determinare se il sistema può supportare la deduplicazione dei dati.
Determinare se i dati potranno trarre vantaggio dal risparmio di spazio ottenuto grazie alla deduplicazione. Se i dati non possono essere deduplicati, è inutile abilitare questa funzione. L'esecuzione del comando riportato di seguito utilizza una quantità elevata di memoria.
# zdb -S tank Simulated DDT histogram: bucket allocated referenced ______ ______________________________ ______________________________ refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE ------ ------ ----- ----- ----- ------ ----- ----- ----- 1 2.27M 239G 188G 194G 2.27M 239G 188G 194G 2 327K 34.3G 27.8G 28.1G 698K 73.3G 59.2G 59.9G 4 30.1K 2.91G 2.10G 2.11G 152K 14.9G 10.6G 10.6G 8 7.73K 691M 529M 529M 74.5K 6.25G 4.79G 4.80G 16 673 43.7M 25.8M 25.9M 13.1K 822M 492M 494M 32 197 12.3M 7.02M 7.03M 7.66K 480M 269M 270M 64 47 1.27M 626K 626K 3.86K 103M 51.2M 51.2M 128 22 908K 250K 251K 3.71K 150M 40.3M 40.3M 256 7 302K 48K 53.7K 2.27K 88.6M 17.3M 19.5M 512 4 131K 7.50K 7.75K 2.74K 102M 5.62M 5.79M 2K 1 2K 2K 2K 3.23K 6.47M 6.47M 6.47M 8K 1 128K 5K 5K 13.9K 1.74G 69.5M 69.5M Total 2.63M 277G 218G 225G 3.22M 337G 263G 270G dedup = 1.20, compress = 1.28, copies = 1.03, dedup * compress / copies = 1.50
Se il fattore di deduplicazione previsto è maggiore di 2, si potrebbe ottenere un risparmio di spazio rilevante.
In questo esempio il fattore di deduplicazione (dedup = 1.20) è inferiore a 2, pertanto l'abilitazione della deduplicazione non è consigliata.
Accertarsi che la quantità di memoria nel sistema sia sufficiente per il supporto della deduplicazione, come descritto di seguito.
Ciascuna voce nella tabella di deduplicazione di base è di circa 320 byte.
Moltiplicare il numero di blocchi allocati per 320. Ad esempio:
in-core DDT size = 2.63M x 320 = 841.60M
Le prestazioni della deduplicazione sono migliori quando la tabella di deduplicazione viene salvata in memoria. Se la tabella di deduplicazione non è stata scritta su disco, le prestazioni si riducono. Se si abilita la deduplicazione nei file system senza risorse di memoria sufficienti, le prestazioni del sistema potrebbero risultare compromesse durante le operazioni correlate al file system. La rimozione di un file system di grandi dimensioni con deduplicazione abilitata senza sufficienti risorse di sistema, ad esempio, potrebbe incidere negativamente sulle prestazioni del sistema.