TIPS/FS

Last-modified: 2016-09-02 (金) 17:23:46

ジャーナリング比較

機能ext2ext3ext4XFSjffs2yaffs2Btrfs
ジャーナリング○(ordered)○(ordered)
fsck/mount時の高速さ✕(fsck遅い)✕(fsck遅い)○()△(RAM上にメタデータを抱えるのでファイル数が多いとはじめ時間がかかる)
パフォーマンス○?○(ext3を改善。)○()✕(PTが満杯状態だとGCも発生し特にひどい)△(マルチコアでパフォーマンス悪い)○?(後発なので)
ウェアレベリング(均等書き込み)
使用distribute等組み込み等(read-only,ジャーナリング不要なfsとして)古いdistribution(ext4安定後はext4に軒並み移行)RH6系/ubuntu系?/新しめのandroid端末nexus5(googleの意向?)RH7おもにNOR用途。yaffs2等で積極採用なしかおもにNOR用途。シングルコアのandroid端末で採用が多いsamsungで採用方向、ネットブックdistribution:MeeGo
コメントU-bootで認識可能!rootfsで使いますext4があるので中途半端。extXシリーズで同じコマンドも使えて安心感ありRH7採用で良さげだがextXシリーズと親和性なしXORフラッシュで実装ならいいが、logdの領域はPT一杯つかうのでパフォーマンス悪くなりそう後発で今後SSDでは一番使えそうだが、まだまだ安定していない。。
  • XFSとext4はかなり機能が似通っている...どちらかをとるならば、実績・extシリーズで同じコマンドを使えるext4か
  • jffs2はNOR型フラッシュなどによさそうだが、NAND型はどうか。パフォーマンスが不安(特にlogd領域のようにPT一杯使っている状態では)。ウェアレベリングはlogd領域はある意味論理的にしている状態なので不要か
  • その他のFSも実績・機能・パフォーマンスのバランスが良い物が少なそう...

結論

  • ext4を第一優先に設定し、評価をすすめる

付録

ジャーナリング種別

種別内容
writebackメタデータだけジャーナリング。メタデータcommit後に、データブロック書き込み途中で落ちると、データブロックの破壊が発生処理コストが低いが、データ破壊にみえることがある
orderedメタデータだけジャーナリング。データブロックを書き込んでからメタデータcommitされる順序を保証するので、データの破壊はない(書き込まれるか書き込まれないか、だけに見える)処理コストが低く一番バランスがよい
dataメタデータとデータを両方ジャーナリング。全てのデータが2度書きされるためにパフォーマンスが劣化する処理コストが高い

参考

http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0
http://homepage3.nifty.com/akakabunoken/OpenSourceTop/jffs2/jffs2_1.html
http://syucream.hatenablog.jp/entry/20111228/1325082486
http://qiita.com/sion_cojp/items/c8e015db39ddbf43012e