NILFS

自分の用途を考えると

  • ファイルの転送でヘビーなのは録画されたファイル関係とバックアップ用途のみ
    • 1ファイル1GB前後なので,読み込みおよび書き込みキャッシュは(効率化という意味以外では)効かない.
    • 録画用PCからファイルサーバへの書き込みはSAMBA経由で手動なので速くあって欲しい(20MB/sを切るとちょっときつい)
    • ファイルサーバからの読み込みは2MB/sもあれば十分
    • バックアップは,人が見てなくていいから読み込みはそこまで速くなくてもいらつかない.
  • バックアップはスナップショットで代替.

なので,スナップショットをとった上で,書き込み速度がそこそこ出てくれるファイルシステムが理想.その意味で原理的に一番強いのはLFS.LVMのスナップショットはブロックレベルでスナップショットをとるので書き足しただけなのになぜか退避が発生してファイル容量を浪費したあげくに,パフォーマンスは悲惨になるということになるのでこりごり.CopyOnWriteなタイプのファイルシステムは調べてみると,スナップショットに関してはLFSとそこまで変わりなさそう(書き込み時に消さないだけだから).Linuxで使いやすいのはBTRFSくらい?ZFSだとFUSEを通さないとだめで,それ以上に今使ってるサーバのメモリが512MBしかないから増設しないと無理.

LinuxでメンテナンスされているLFSって少なくて,NILFSは数少ない選択肢のひとつみたい.が,情報が恐ろしくない.宣伝文句だけ見るとすごいよさそうなんだけど,情報がないってのは怖い.

最初の状態ではGCがなかったので問題外だったんだけど,NILFS2になってGCはついたのでこれが普通に動けばそこそこ使えそうにみえる.ひとまず,LVMで領域作ってテストをしてみる予定.

追記

ちょっと調べたけど,パフォーマンスはうまく動いている時には問題ない感じ.http://marc.info/?l=linux-fsdevel&m=121926792108514&w=2 2.6.27-rc3 patch - kinneko@転職先募集中の日記経由)1stと2nd以降というのが謎だけど.

ただ,現状online resizingがないのがLVMと組み合わせて使う時に痛い.別にonlineである必要はないので,データを保持した上でボリュームサイズを変更(当座は拡大だけで良いので)する方法が欲しい.書いていないということはあるのか?

追記2

COWに関する理解が間違ってたのでその辺りを修正した.