Solaris 11では、Iという名前のプールでmypool
重複排除を有効にします。
zfs set dedup=on mypool
その後、2つの100MBファイルを作成しました。file1
そしてそのコピーfile1copy
は名前だけが異なり、内容は同じです。
マウントポイントmypool
はです/mypool
。合計を出力file1
にコピーするとfile1copy
/mypool
zpool list mypool
DEDUP
比率がほとんどないことを示します1.34x
。なぜ? ?
それからこれガイドファイルシステムを作成しました。
zfs create -o dedup=on -o mypool/archive
次に、親ファイルシステムの重複排除機能を継承した2人用ファイルシステムがありますmypool/archive/a
。mypool/archive/b
file1
今はにコピーし、mypool/archive/a
まだfile1copy
割合をmypool/archive/b
維持します。入れた時のみDEDUP
1.34x
2
同じファイル、馬file1
、入力両方 mypool/archive/a
そしてmypool/archive/b
。なぜ? ?
単純な名前の違いで重複排除が効果的に破壊される可能性はありますか?重複排除はブロックレベルで機能しませんか?
1) 出力zdb -S mypool
Simulated DDT histogram:
bucket allocated referenced
______ ______________________________ ______________________________
refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE
------ ------ ----- ----- ----- ------ ----- ----- -----
1 1.48K 189M 189M 189M 1.48K 189M 189M 189M
2 800 100M 100M 99.9M 1.56K 200M 200M 200M
Total 2.26K 289M 289M 288M 3.04K 389M 389M 388M
dedup = 1.35, compress = 1.00, copies = 1.00, dedup * compress / copies = 1.35
2) 出力zdb -b mypool
Traversing all blocks to verify nothing leaked ...
No leaks (block sum matches space maps exactly)
bp count: 3679
bp logical: 410970112 avg: 111707
bp physical: 408433664 avg: 111017 compression: 1.01
bp allocated: 615948288 avg: 167422 compression: 0.67
bp deduped: 157286400 ref>1: 800 deduplication: 1.26
SPA allocated: 458661888 used: 76.47%
mypool/archive/a
とフォルダに別のファイルがありますmypool/archive/b
。
ベストアンサー1
すべてのデータが「重複排除可能」というわけではありません。説明する記事があります。これ