以前行ったNexentaでのDeDupe検証ではやり方がまずかったのかいまいち効果が見られなかった。これをSolaris11で再度試す。
参考>>
Nexenta で ZFS De-Dupeを試す(うまくいかない)
Table of Contents
=================
1 テスト内容
1.1 CIFS経由でのDeDepe効果の確認
1.2 iscsi経由でzvolへのDeDupe効果の確認
1.3 zfs send -D での転送量削減効果の確認
2 zpool で De-Dupe を有効にする。
3 共有設定
3.1 CIFS領域
3.2 iscsi領域
4 テスト結果
4.1 CIFS経由でのDeDepe効果
4.2 iscsi経由でzvolへのDeDupe効果
4.3 zfs send -D での転送量削減効果
5 まとめ
6 その他注意事項
1 テスト内容
^^^^^^^^^^^^^
1.1 CIFS経由でのDeDepe効果の確認
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WindowsからBMPファイルを複数回書きこみ、DeDupe効果を確認する。Windows上で確認したファイルサイズ 528 MB (554,420,358 バイト)
1.2 iscsi経由でzvolへのDeDupe効果の確認
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Windowsからiscsiで領域をマウントし、上記と同じデータを書き込み、DeDupe効果を確認する。
1.3 zfs send -D での転送量削減効果の確認
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CIFS領域に書きこんだデータをzfs send -D でファイルへダンプし、そのサイズを比較する。使うデータは上記と同じ。
2 zpool で De-Dupe を有効にする。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
dedpueの効果はzpool単位で表示されるのでテスト用のプールを作成しておく。
root@solaris11:~# zpool create dedupepl01 c7t2d0
root@solaris11:~# zpool create dedupepl02 c7t3d0
root@solaris11:~# zpool create dedupepl03 c7t4d0
root@solaris11:~# zpool create dedupepl04 c7t5d0
root@solaris11:~# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
dedupepl01 9.94G 116K 9.94G 0% 1.00x ONLINE -
dedupepl02 9.94G 77K 9.94G 0% 1.00x ONLINE -
dedupepl03 9.94G 83.5K 9.94G 0% 1.00x ONLINE -
dedupepl04 9.94G 83.5K 9.94G 0% 1.00x ONLINE -
dedupeをONにしてzfsを作成
root@solaris11:~# zfs create -o dedup=on dedupepl01/cifs01
root@solaris11:~# zfs create -o dedup=off dedupepl02/cifs02
root@solaris11:~# zfs create -V 9G -o dedup=on dedupepl03/iscsi01
root@solaris11:~# zfs create -V 9G -o dedup=off dedupepl04/iscsi02
root@solaris11:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
dedupepl01 124K 9.78G 32K /dedupepl01
dedupepl01/cifs01 31K 9.78G 31K /dedupepl01/cifs01
dedupepl02 124K 9.78G 32K /dedupepl02
dedupepl02/cifs02 31K 9.78G 31K /dedupepl02/cifs02
dedupepl03 9.28G 510M 31K /dedupepl03
dedupepl03/iscsi01 9.28G 9.78G 16K -
dedupepl04 9.28G 510M 31K /dedupepl04
dedupepl04/iscsi02 9.28G 9.78G 16K -
root@solaris11:~# zfs get dedup
NAME PROPERTY VALUE SOURCE
dedupepl01 dedup off default
dedupepl01/cifs01 dedup on local
dedupepl02 dedup off default
dedupepl02/cifs02 dedup off local
dedupepl03 dedup off default
dedupepl03/iscsi01 dedup on local
dedupepl04 dedup off default
dedupepl04/iscsi02 dedup off local
3 共有設定
^^^^^^^^^^^
3.1 CIFS領域
~~~~~~~~~~~~~
ファイル共有をするには以下の手順で準備をしてから、sharesmbをONすればOK
参考>> Nexenta で CIFSワークグループ共有を行う
root@solaris11:~# zfs set sharesmb=on dedupepl01/test01
root@solaris11:~# zfs set sharesmb=on dedupepl02/test02
3.2 iscsi領域
~~~~~~~~~~~~~~
こちらのエントリーを参照
参考>> Solaris11 + COMSTAR で iSCSIホストの構築
root@solaris11:~# stmfadm create-lu /dev/zvol/rdsk/dedupepl03/iscsi01
Logical unit created: 600144F061018A0000004D6076B10001
root@solaris11:~# stmfadm create-lu /dev/zvol/rdsk/dedupepl04/iscsi02
Logical unit created: 600144F061018A0000004D6076B60002
root@solaris11:~# stmfadm list-lu
LU Name: 600144F061018A0000004D6076B10001
LU Name: 600144F061018A0000004D6076B60002
root@solaris11:~# stmfadm add-view 600144F061018A0000004D6076B10001
root@solaris11:~# stmfadm add-view 600144F061018A0000004D6076B60002
root@solaris11:~# itadm create-target
Target iqn.1986-03.com.sun:02:e944f591-3fcd-cdc7-d442-daeedbda09d7 successfully created
4 テスト結果
^^^^^^^^^^^^^
4.1 CIFS経由でのDeDepe効果
~~~~~~~~~~~~~~~~~~~~~~~~~~~
# zpool list
| dedupepl01(dedup=on) | dedupepl02(dedup=off) |
COUNT | ALLOC | FREE | CAP | DEDUP | ALLOC | FREE | CAP | DEDUP |
0 | 116K | 9.94G | 0% | 1.00x | 77K | 9.94G | 0% | 1.00x |
1 | 245M | 9.70G | 2% | 2.18x | 532M | 9.42G | 5% | 1.00x |
2 | 246M | 9.70G | 2% | 4.37x | 1.04G | 8.90G | 10% | 1.00x |
3 | 247M | 9.70G | 2% | 6.55x | 1.56G | 8.38G | 15% | 1.00x |
4 | 249M | 9.69G | 2% | 8.74x | 2.08G | 7.86G | 20% | 1.00x |
5 | 249M | 9.69G | 2% | 10.92x | 2.60G | 7.34G | 26% | 1.00x |
6 | 252M | 9.69G | 2% | 13.11x | 3.12G | 6.82G | 31% | 1.00x |
7 | 252M | 9.69G | 2% | 15.30x | 3.63G | 6.30G | 36% | 1.00x |
8 | 253M | 9.69G | 2% | 17.48x | 4.15G | 5.78G | 41% | 1.00x |
9 | 254M | 9.69G | 2% | 19.67x | 4.67G | 5.26G | 47% | 1.00x |
10 | 256M | 9.69G | 2% | 21.85x | 5.19G | 4.75G | 52% | 1.00x |
11 | 258M | 9.69G | 2% | 24.04x | 5.71G | 4.23G | 57% | 1.00x |
12 | 260M | 9.68G | 2% | 26.23x | 6.23G | 3.71G | 62% | 1.00x |
# zfs list
| dedupepl01/cifs01 | dedupepl02/cifs02 |
COUNT | USED | AVAIL | REFER | USED | AVAIL | REFER |
0 | 31K | 9.78G | 31K | 31K | 9.78G | 31K |
1 | 532M | 9.54G | 532M | 532M | 9.26G | 532M |
2 | 1.04G | 9.53G | 1.04G | 1.04G | 8.74G | 1.04G |
3 | 1.56G | 9.52G | 1.56G | 1.56G | 8.22G | 1.56G |
4 | 2.08G | 9.51G | 2.08G | 2.08G | 7.71G | 2.08G |
5 | 2.60G | 9.50G | 2.60G | 2.60G | 7.19G | 2.60G |
6 | 3.11G | 9.49G | 3.11G | 3.11G | 6.67G | 3.11G |
7 | 3.63G | 9.48G | 3.63G | 3.63G | 6.15G | 3.63G |
8 | 4.15G | 9.47G | 4.15G | 4.15G | 5.63G | 4.15G |
9 | 4.67G | 9.46G | 4.67G | 4.67G | 5.11G | 4.67G |
10 | 5.19G | 9.46G | 5.19G | 5.19G | 4.59G | 5.19G |
11 | 5.71G | 9.45G | 5.71G | 5.71G | 4.07G | 5.71G |
12 | 6.23G | 9.44G | 6.23G | 6.23G | 3.55G | 6.23G |
4.2 iscsi経由でzvolへのDeDupe効果
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# zpool list
| dedupepl03(dedup=on) | dedupepl04(dedup=off) |
COUNT | ALLOC | FREE | CAP | DEDUP | ALLOC | FREE | CAP | DEDUP |
1 | 83.5K | 9.94G | 0% | 1.00x | 83.5K | 9.94G | 0% | 1.00x |
2 | 228M | 9.72G | 2% | 2.81x | 606M | 9.35G | 5% | 1.00x |
3 | 247M | 9.70G | 2% | 5.06x | 1.12G | 8.82G | 11% | 1.00x |
4 | 254M | 9.69G | 2% | 7.36x | 1.64G | 8.30G | 16% | 1.00x |
5 | 263M | 9.68G | 2% | 9.61x | 2.16G | 7.77G | 21% | 1.00x |
6 | 272M | 9.67G | 2% | 11.83x | 2.63G | 7.31G | 26% | 1.00x |
7 | 291M | 9.65G | 2% | 13.99x | 3.14G | 6.80G | 31% | 1.00x |
8 | 289M | 9.66G | 2% | 16.15x | 3.73G | 6.21G | 37% | 1.00x |
9 | 298M | 9.65G | 2% | 18.24x | 4.22G | 5.72G | 42% | 1.00x |
10 | 305M | 9.64G | 3% | 20.32x | 4.76G | 5.18G | 47% | 1.00x |
11 | 314M | 9.63G | 3% | 22.33x | 5.29G | 4.64G | 53% | 1.00x |
12 | 322M | 9.62G | 3% | 24.29x | 5.83G | 4.11G | 58% | 1.00x |
# zfs list
| dedupepl03/iscsi01 | dedupepl04/iscsi02 |
COUNT | USED | AVAIL | REFER | USED | AVAIL | REFER |
1 | 9.28G | 9.78G | 16K | 9.28G | 9.78G | 16K |
2 | 9.28G | 9.55G | 606M | 9.28G | 9.19G | 606M |
3 | 9.28G | 9.53G | 1.12G | 9.28G | 8.67G | 1.12G |
4 | 9.28G | 9.51G | 1.64G | 9.28G | 8.14G | 1.64G |
5 | 9.28G | 9.50G | 2.16G | 9.28G | 7.62G | 2.16G |
6 | 9.28G | 9.48G | 2.69G | 9.28G | 7.15G | 2.63G |
7 | 9.28G | 9.46G | 3.21G | 9.28G | 6.62G | 3.16G |
8 | 9.28G | 9.45G | 3.73G | 9.28G | 6.06G | 3.72G |
9 | 9.28G | 9.43G | 4.26G | 9.28G | 5.56G | 4.22G |
10 | 9.28G | 9.41G | 4.78G | 9.28G | 5.02G | 4.76G |
11 | 9.28G | 9.40G | 5.30G | 9.28G | 4.49G | 5.29G |
12 | 9.28G | 9.38G | 5.83G | 9.28G | 3.96G | 5.83G |
4.3 zfs send -D での転送量削減効果
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| dedup=on | dedup=off |
| zfs send | zfs send -D | zfs send | zfs send -D |
| gzip off | gzip on | gzip off | gzip on | gzip off | gzip on | gzip off | gzip on |
初回 | 532M | 305M | 244M | 141M | 532M | 305M | 244M | 141M |
差分1回目 | 532M | 305M | 244M | 141M | 532M | 305M | 244M | 141M |
差分2回目 | 532M | 305M | 244M | 141M | 532M | 305M | 244M | 141M |
5 まとめ
^^^^^^^^^
非常に良好な結果が得られた。
今回は試さなかったが、これに compression=on を設定すれば更に領域削減効果は大きくなりそう。
注意点としては、send -D の効き方くらい。あまり転送量が減らない。一回当たりの転送量はDオプション、圧縮で減らせるが、転送する元データは減っていない。
小規模で使うならDataDomainの置き換えが可能な気がする。正式リリースが待ち遠しい。
6 その他注意事項
^^^^^^^^^^^^^^^^^
1. すでにデータが入っているZFSでdedup=onにしても重複排除は行われない。この場合はいったんデータをmvして戻す、元ファイルの名前を変えて、コピーするなどの手順が必要になる。
2. 上とは逆にすでにdedup=on されているzfsで、dedup=offにしても元に戻らない。
3. 現時点でdedupeの効果はzpool単位でしか確認できない。
0 件のコメント:
コメントを投稿