É possível usar a propriedade de deduplicação (dedup) para remover dados redundantes dos sistemas de arquivo ZFS. Se um sistema de arquivos possuir a propriedade dedup ativada, blocos de dados duplicados são removidos sincronicamente. O resultado é que somente dados exclusivos são armazenados, e componentes comuns são compartilhados entre arquivos. Por exemplo:
# zfs set dedup=on tank/home
Não ative a propriedade dedup em sistemas de arquivos que residem em sistemas de produção até você realizar as etapas a seguir para determinar se o seu sistema pode suportar deduplicação de dados.
Determine se os seus dados se beneficiariam da economia de espaço da deduplicação. Se seus dados não forem passíveis de deduplicação, não fará sentido ativar a deduplicação. Executar o seguinte comando consome bastante memória:
# 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 a taxa de deduplicação estimada for maior do que 2, provavelmente você terá economia de espaço de deduplicação.
Neste exemplo, a taxa de deduplicação (dedup = 1.20) é menor do que 2, portanto ativar a deduplicação não é recomendado.
Verifique se o sistema tem memória suficiente para suportar a deduplicação da seguinte maneira:
Cada entrada da tabela de deduplicação in-core tem aproximadamente 320 bytes.
Multiplique o número de blocos alocados por 320. Por exemplo:
in-core DDT size = 2.63M x 320 = 841.60M
O desempenho de deduplicação é melhor quando a tabela de deduplicação cabe na memória. Se a tabela de deduplicação tiver que ser gravada em disco, o desempenho diminuirá. Se você ativar a deduplicação nos sistemas de arquivos sem recursos de memória suficiente, o desempenho de sistema pode diminuir durante operações relacionadas ao sistema de arquivos. Por exemplo, a remoção de um grande sistema de arquivos ativado por deduplicação sem recursos de memória suficiente pode ter impacto no desempenho do sistema.