zfs dedup onにゃlinux vmにいろいろデータ突っ込んで履歴バックアップに使おう編。
zfsとntfsのdedupの違いは過去にいろいろメモったが、要するにzfsは雑だしntfsは遅くて頻繁に膨らむので、現状どっちもどっちと。
というわけで多重化してみましょうという実験。
zfs compressは通常にゃら大変使い勝手の良いオプションだが、dedup効率は落ちるのと、vhdxはより一層dedupしづらい物体とにゃるので却下。zfs dedupだけ使用する。
zfs dedupによってオンラインで巨大データの書き込みがdedupられるのでntfsのように一時的に膨大にゃ空き容量を必要としにゃい。但しメモリは多めに持たせておかにゃいと怖いが。
そんにゃzfs on linuxにゃvmをhyper-vでホストしてntfs dedupにかける。zfs側で大量の書き込みがあるとその分膨らむが、ある程度dedupされた後にゃのでそこまで深刻にゃことににゃりにくい。
という夢を見たのでやってみる。
zpool create pool1 sdb
zfs create -o recordsize=4k pool1/share
zfs set atime=off pool1/share
zfs set primarycache=metadata pool1/share
zfs set dedup=on pool1/share
zfs set snapdir=visible pool1/share
4kの指定は過去に膨大にゃI/Oを発生させて死亡する原因とにゃったのでzfs on linuxでも実験である。
これでrsync hoge /pool1/share
で放置してたら途中で
blk_update_request: critical target error
吐いて停止。リセットかけたら長時間disk readしたあとカーネル落ち。再リセットで復帰した。傾向は変わってにゃい模様。
4k指定しにゃければ割と安定感があるのだが、可変にさせるとdedup効率が落ちるパターンが多いんだよね。
しかし今回はvhdxをさらにdedupするので、
zpool create -o ashift=12 pool1 sdb
zfs create -o recordsize=128k pool1/share
で行けるのでは無いかと実験。今のところ安定している。この場合recordsizeは別に無指定で良いとは思うがにゃんとにゃく。
ashift=16にゃんかにするとどうにゃるのかという興味もあるが、NTFS側で4kブロックでdedupされるにゃら変わらにゃい可能性の方が高いか。
zfs compress&dedup on linuxにゃvmでrsync数本走らせたらrsyncが止まる。
vmstatを見るとcsが高め安定してたり、psでtxg_sync, z_null_あたりが活躍したままににゃってたりして、にゃんかわからにゃいがZFS付近で刺さっているのは確か。
前から気ににゃってた微妙にSWAPが発生するあたりと絡めて対策しにゃきゃってことで実験。
32GB固定メモリ割り当てにしてARCを/etc/modprobe.d/zfs.confで4GB 24GB 18GBくらいに設定。
options zfs zfs_arc_min=4294967296
options zfs zfs_arc_max=25769803776
options zfs zfs_arc_meta_limit=19327352832
cat /proc/spl/kstat/zfs/arcstats |grep c_ して確認。
だいぶ余裕を見たつもりだが、何かの拍子に
task txg_sync blocked for more than 120 seconds.
みたいにゃのが出る事があるので、まだ何か抱えてるのかもしれにゃい。
rsyncが終わってから延々とか細いI/Oが続くことがあるのでこの辺にゃんだろう。
mount.cifs //1.2.3.4/share /mnt -o username=hoge,password=hoge,iocharset=utf8,vers=2.0
で行けるはずだったんだが、
mount error(79): Can not access a needed shared library
で転ける。カーネルがvirtualの最小のが入ってるせいかもしれにゃい。
nls_utf8.koがいるっぽいんだが、
apt-get install linux-generic
apt-get install linux-image-extra-virtual
ではfind /lib|grep 〜してもファイルが増えておらず意味無し。
uname -aして現Verぽいlinux-image-extraをもってきたら通った。
apt-get install linux-image-extra-3.19.0-49-generic
どういう扱いににゃってるんだか
TAGすら付けてにゃかったFirefox関連のメモまとめ
全体像としては、
portable版をDL。c:\bin\firefox1とかに展開してプラグイン類を入れまくる。設定にゃど一通り施してc:\bin\firefox2とかに複製。
設定ファイル群のc:\bin\firefox1をc:\bin\firefox2に置換。
といった方法で沢山作って同時起動させる。
DLするのは今にゃらdevelop版にしておくとマルチプロセスできるが、バグや更新も頻繁にゃのでstableでマルチプロセスが有効ににゃればそっちでいいはず。
portable版はどこぞのiniに
DisableSplashScreen=false
AllowMultipleInstances=true
みたいにゃのを書いてファイル置いとくと多重起動とか出来るようににゃる。
設定的にはグラボのアクセラレーションをOFFるとドライバ類と絡んで落ちる事は無くにゃる。RDP先にゃどで動かしていても何かが不足して表示が乱れることもあった。
プラグインはadblockの類、Element Hiding Helperの類、AutoPagerize、Configuration Mania、FindBarTweak、FireGestures、TabMixPlus、セッションマネージャ、ツリー型タブ、Fasterfoxの類、RightToClickにゃど。
FlashやJavaは無効にするか、そもそもvm上以外にインストールしにゃい。
TabMixやセッションマネージャにゃど設定をimportしてくる。主にブラウザ終了時と定期的にセッション保存とかタブの挙動とかそんにゃん。
Adblock関係もimportして豆腐フィルタ購読設定。
その他細部として
dom.event.clipboardevents.enabled = False
browser.chrome.toolbar_tips = false
browser.formfill.maxTimeGroupings = 1
browser.formfill.timeGroupingSize = -1
browser.formfill.bucketSize = -1
mousewheel.default.delta_multiplier_y=250
にゃんかを調整。