パスワードを忘れた? アカウント作成
15754568 journal
日記

tuneoの日記: mergerfsでいいんじゃないだろうか

日記 by tuneo

拙宅の仮想化サーバPCにはDevice Managed SMRで悪名高い8TBのSeagate ST8000DM004が5台ほど搭載されている(ついでに予備が1台未開封で保管されている)。用途は仮想化ではなく仮想マシン上で動作するファイルサーバ用だけど。

5台も積んだらRAID5で32TB, RAID6でも24TBになってしまうんだけど、安いから仕方ないよね!

書き込むデータがCMRキャッシュからあふれるや否やSMRの宿命で惚れ惚れするような転送レート(KiB/s単位)になってしまうけど、貧乏だから仕方がない……とあきらめるわけにもいかない。何しろせいぜい20GB程度の転送中にプチフリ(性能の劣化の度合いと回復までの時間はプチなんてかわいいもんじゃないが)が発生するので実用上問題がある。

そこで考えたのが諸事情でその辺に転がっているCMRなHDD(ST2000DM006/008)をライトバックキャッシュにしてしまえ、という案だ。

CMRとはいえ単体でキャッシュデバイスにするには性能がささやかだし、書き戻し中にクラッシュするとデータロストの憂き目に遭うし、そもそも当面は2.5GbEでしか運用しないだろうし……と考えると、3台(うちのサーバはOS用以外にストレージを8台積める)でRAID5でも組んでおけば最低限の信頼性は確保できるのではないかと思う。

さて、キャッシュに使う仕組みをどうしたものかと考えたとき、ブロックレベルののキャッシュでbtrfsと組み合わせられるのはbcacheだろうと思うが、こいつはインプレースにキャッシュデバイスを追加できないという問題がある(つまり、既存のデータをバックアップし、bcacheを使えるようにHDDを再構成してからリストアする必要がある)のであんまりやりたくない。

代替としてunionfs的なモノで何か良い手がないか、と調査したところoverlayfsとmergerfsが引っ掛かった。後者はなかなかよさげな感じだし、ファイルサーバの構築を横着して導入するOpenMediaVaultでも対応しているプラグインが開発中らしいので、ちょっくら試してみよう。

この議論は、tuneo (2938)によって トモとそのトモ専用として作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...