zfsonlinuxの重複排除で1.8Tのディスクに80Tを書き込む
いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
今回は「zfsonlinuxの重複排除で1.8Tのディスクに80Tを書き込む」
zfsonlinuxのテストのためにpostmarkで沢山のファイルを作り、書き込んでみました。
ディスクはZFS mirror + dedupです。
テストを始めたときは、何度か100,000ファイルを作っては消すことを繰り返し、不具合が発生しないことを確認。
その後、軽い気持ちで作成するファイルの大きさを、大きくしてみました。
黙々とファイルは作られ、以下に示すとおり、約1.8Tのディスクに約80Tを書き込んで使用領域がとうとう100%になりました。
長かったのですが、単純に80Tものディスクを作るには10日間ほどかかるという「体験」をすることができました。
このような大容量を作ることもたいへんだし、バックアップして、戻すのはもっとたいへんです。
ZFSonLinuxは今のところパニックも起こさずに書きつづけています。これだけでは仕事にならないので、今日で止めてしまいます。
システム構成上の留意点はOS部分はext4、データ部分はZFSと使い分けていること程度で、シンプルなシステム構成です。
物理メモリーが8Gと小さいので、実運用の際には12G程度に増設します。
root@storage:~# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sdd1 52414 27713 22016 56% /
none 1 0 1 0% /sys/fs/cgroup
udev 3697 1 3697 1% /dev
tmpfs 748 2 747 1% /run
none 5 0 5 0% /run/lock
none 3740 1 3740 1% /run/shm
none 100 1 100 1% /run/user
spool 460794 1 460794 1% /spool
spool/data 80496235 80035442 460794 100% /mnt/data
spool/data20g 20480 15818 4663 78% /mnt/data20g
spool/shares 460794 1 460794 1% /mnt/shares
root@storage:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
spool 76.3T 450G 96K /spool
spool/data 76.3T 450G 76.3T /mnt/data
spool/data20g 15.4G 4.55G 15.4G /mnt/data20g
spool/shares 100K 450G 100K /mnt/shares
root@storage:~# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
spool 1.81T 158G 1.66T 16.0E 11% 8% 1878.07x ONLINE -
root@storage:~# zpool status
pool: spool
state: ONLINE
scan: scrub repaired 0 in 0h14m with 0 errors on Tue May 12 05:58:47 2015
config:
NAME STATE READ WRITE CKSUM
spool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
spares
sda AVAIL
errors: No known data errors
root@storage:~#
root@storage:~# free
total used free shared buffers cached
Mem: 7658140 7220080 438060 11524 103156 527252
-/+ buffers/cache: 6589672 1068468
Swap: 7860220 331476 7528744
root@storage:~#