いろいろリベンジ気味にOpenSolarisでdedupの効くNASを組んでみる。但しめどいのでVMで。
これまでいくつか試してきたが、些細にゃミスで不安定ににゃったりとか切り分けが難しかったので、原点に戻ってvm上で単純にゃ構成で実験。
OpenSolaris 2009.06をISOからinst。
pfexec pkg image-update
pkg set-publisher -P -O http://pkg.opensolaris.org/dev/ opensolaris.org
pfexec pkg image-update
zpool upgrade
zfs upgrade
非RAIDにゃzpool作成
zfs create -o atime=off -o casesensitivity=mixed -o compression=on -o snapdir=visible -o aclmode=passthrough -o aclinherit=passthrough
zfs set dedup=on
zfs set sharesmb=on
zfs set sharenfs=on
echo set zfs:zfs_nocacheflush = 1 >> /etc/system
この状態で50gほどのvmイメージ類をsmbで順次書き込み。
vmdkの容量が50gほどで、内部ファイル数が2tほどに。おお、これはべんりである。
尚、どういうアルゴリズムにゃのかわからんが、自動的に共通ブロックを探してくれるらしいんだが、.vmdk類を放り込むといまいちdedup効果が薄い。たぶん.vmdkがthin的に内部で詰めちゃってるんで、共通した連続領域が少にゃいんじゃにゃいかにゃーとか推測。全然確かめてにゃいけど。
ほかのSolaris系はまだuptimeが浅くて分からにゃいんだけど、少にゃくともNexentaStorで30日ほどzfs+nfs+smbで動かしてたPCがswapし始めて、確認してみたらidmapdが2G近くメモリ食ってた。
とりあえず、crontab -eして
ps -o fname,vsz -p `pgrep idmapd`
svcadm restart idmap
sleep 30
ps -o fname,vsz -p `pgrep idmapd`
相当を放り込んどいたけど1日毎に走らせたりするとps意味にゃいかも。
ほかのNexentaCoreやOpenSolarisも怖いので後日確認が必要だねぇ。
尚、uptime 40日のLinuxにゃnfs+samba鯖はとってもクリーンにゃメモリ状況であった。う〜ん、nfsも速い目だしいろいろ便利だし、snapshotがクズでにゃければやっぱりこの程度の用途にはLinuxが最強にゃんだがにゃぁ。
/homeにしてもzfs+SSDキャッシュとかすると確かに最強気味にゃんだが、reiserfsでごまかせる程度の用途にゃら断然Linuxが速い。というかNTFS+DFSR的にreiserfs+rsync大量発行の方が枯れてて良いようにゃ気はするんだよね。