zfs的dedup对cpu及内存要求高,一般不开。
读写效率比硬盘空间重要多了。
zdb -S -U /data/zfs/zpool.cache tank
如果数据多运行时间很长。
bucket allocated referenced
______ ______________________________ ______________________________
refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE
------ ------ ----- ----- ----- ------ ----- ----- -----
1 70.1M 2.19T 1.20T 1.71T 70.1M 2.19T 1.20T 1.71T
2 25.9M 827G 513G 681G 61.1M 1.91T 1.13T 1.53T
4 4.67M 150G 74.1G 107G 21.5M 687G 345G 495G
8 1013K 31.6G 17.0G 23.6G 10.6M 340G 178G 250G
16 773K 24.1G 13.4G 18.1G 16.2M 517G 293G 394G
32 97.9K 3.06G 1.72G 2.27G 4.06M 130G 72.9G 96.3G
64 10.6K 340M 190M 257M 877K 27.5G 15.3G 20.7G
128 1.64K 53.1M 20.9M 34.6M 280K 8.83G 3.49G 5.77G
256 1.17K 37.6M 26.1M 33.0M 412K 12.9G 8.99G 11.3G
512 387 12.1M 7.80M 9.98M 247K 7.71G 4.89G 6.32G
1K 184 5.75M 3.46M 4.68M 268K 8.38G 5.32G 7.00G
2K 43 1.34M 704K 932K 111K 3.48G 1.81G 2.38G
4K 11 352K 191K 247K 54.9K 1.72G 905M 1.17G
8K 8 256K 4K 73.1K 108K 3.37G 53.9M 986M
16K 33 1.03M 1.02M 1.17M 728K 22.7G 22.5G 25.7G
64K 2 64K 1K 18.3K 205K 6.40G 102M 1.83G
Total 102M 3.20T 1.81T 2.52T 187M 5.83T 3.26T 4.52T
dedup = 1.80, compress = 1.79, copies = 1.39, dedup * compress / copies = 2.32
1.如果输出结果中的dedup值大于2,则可以考虑开启去重,小于2的话,说明数据重复率不高,没有必要开启。
2.内存需求:
每个核内重复数据删除表 (DDT) 项约为 320 字节。
将分配的块的数量乘以 320。
下面的示例使用清单中 zdb 信息中的数据:
核内 DDT 大小 (102M) x 320 = 需要 32G 内存
【 在 ttaudi (ttaudi) 的大作中提到: 】
: 受教了,请问我开启lz4压缩,开了dedup,其他默认。用rsync将数据拷贝到zfs的同时,打开zfs系统里面的文件会卡顿很久,这种怎么解决呀。
--
FROM 27.8.136.*