私はTank1プールとfs Tank / homeを作りました。
[root@zfs]# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank1 3.22G 381G 32.0K /tank1
tank1/home 3.22G 16.8G 1.95G /tank1/home
私はTank1 / homeに2つの1Gファイルを作成しました/dev/zero
。重複排除がオンになり、圧縮がオフになっています。
# zfs get all | egrep 'dedup|compression'
tank1 compression off default
tank1 dedup on local
tank1/home compression off default
tank1/home dedup on inherited from tank1
# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank1 596G 4.84G 591G - 0% 0% 1.00x ONLINE -
# zdb -D tank1
All DDTs are empty
# zdb -S tank1
Simulated DDT histogram:
bucket allocated referenced
______ ______________________________ ______________________________
refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE
------ ------ ----- ----- ----- ------ ----- ----- -----
16K 1 128K 128K 128K 25.8K 3.22G 3.22G 3.22G
Total 1 128K 128K 128K 25.8K 3.22G 3.22G 3.22G
dedup = 26400.00, compress = 1.00, copies = 1.00, dedup * compress / copies = 26425.81
シミュレーションでは26400が表示されますが、zdb
出力に重複排除が表示されないのはなぜですか?データ重複排除を有効にする方法は?私も試してみましたが、問題は残ります。 menasの結果は何ですか?zpool list
zdb -S tank1
zfs set dedup=verify tank1
zdb -DD tank1/home
# zdb -DD tank1/home
Dataset tank1/home [ZPL], ID 165, cr_txg 963, 1.95G, 8 objects
ベストアンサー1
ZFS重複排除は、展開されたファイルでのみ機能します。後ろに重複排除を有効にします。
古いファイルには影響しません今後重複排除が有効になりました。
重複排除でどのくらい節約されるかをzpool status -D poolname
確認するには、このコマンドを使用します。Total allocated blocks
Total referenced blocks