2003年07月24日

ファイルシステムあれこれ

ディスク換装する際にファイルシステム何にしようかなぁと思ってちょっと調べてみました。

[exe2]

  • 古典的ファイルシステム
  • 変になった状態からでもいろいろと復旧が試せる
  • 1ファイル2GBのファイルサイズ制限がある
  • Disk Quotaが使える

[exe3]

  • exe2の上位互換
  • 対応カーネルならexe2から簡単に変更可能
  • 設定次第で速度重視から安全性重視まで選べる
  • ジャーナリングシステムでファイルシステムや、オプション次第でデータの一貫性を保つことが可能
  • 果てしなく重くて遅い(kjournaldの負荷をみると使う気をなくす)
  • 普通にDisk Quotaが使える
  • 参考URL:

[ReiserFS]

  • とにかく速い
  • 最近のディストリビューションなら大抵対応している
  • ジャーナリングシステムでファイルシステムのみ一貫性の確保が可能<データ自体は保護対象外
  • インストールの時には選択できないケースが多い
  • カーネルにパッチを当てないとDisk Quotaが使えない
  • Bad Block(不良セクタ)の存在をいっさい考慮してない<FSに記憶させる方法がない

[xfs]

  • すごく堅牢
  • おまけに速い
  • カーネルにパッチを当てないと使用できない
  • ジャーナリングシステムでファイルシステムのみ一貫性の確保が可能<データ自体は保護対象外
  • こっちもBad Blockの存在をいっさい考慮してない

※JFSについては使ったこと無いですし全然調べていません。

でxfs以外は使用したことありますが、その3つの中ではやっぱり全体的なパフォーマンスで一つ上をいくReiserFSに軍配が上がります。

ただ、今回不良セクタができたんで「これってちゃんとFSに登録されているのかなぁ」と調べてみたら

  • 今後の予定
    修復の高速化・シグナル処理・i/o エラー処理・妥当な終了コードなど。
(;´д`)ノ

で、いろいろ探してみるとこんなページが

  • The sad news is that ReiserFS utils currently do not in any way support this style of bad block handling. So the typical scenario to create and use ReiserFS filesystem on a device with bad blocks is as follows:
悲しいんならさっさと実装してほしいのですが・・・

ちなみに、上のページに書いてある内容を要約すると

ReiserFSにバットブロックを使用させないようにするためにはこのCのプログラムとシェルスクリプトでバッドブロックを使用済みにしちゃってねv
でも、reiserfsckコマンドの時は使用済みのブロックを調べるからそのときだけ上のツールで使用しないようにしてね
っていう感じです・・・
参考: っていうか、reiserfs.orgは知らないうちにデジカメの宣伝ページになってるし「先行き不安なんでxfsが速く標準になってくれないかなぁ」と思った一瞬でした(笑)

で、その期待のXFSさんは不良セクタの扱いはどうかなぁと調べてみたら

  • The short answer is "no," and the longer answer is that by the time a modern drive is showing bad blocks to the user, it's a short trip to the dumpster, IMHO!
使えないのか(´・ω・`)とか思いながらも、なんか妙に納得しちゃいました(笑)
確かに経験的に不良セクタ=死にかけディスクなんで、そういう考えもありかと。

ただ、やっぱりデータのサルベージの事などを考えるとできた方が圧倒的にうれしいので、今後は搭載してほしいなぁとおもいます<ReiserFSも

まぁ、この手のFSを扱うときはファイルシステム周りの不良はファイルシステム自身で、物理に近い方の不良はraid1なりraid5なりでフェイルセーフしてやるのがスマートそうですね<raid5はお金の問題で個人では結構厳しいですが・・・

あと、最後に大変参考になったIBMさんのサイトのFSに関する特集(全13回)へのリンクをまとめておきます。
(ほとんど自分用ですが(笑))

dW : Linux : 共通テーマ: アドバンスト・ファイルシステム・インプリメンター・ガイド

2004年3月2日(火) 追記 ReiserFSでもついにBad Blockのマーキングが出来るようになったようです。

ChronoLogさんからのトラックバック(↓)を見て知りました( ̄▽ ̄)ノ

Posted by Takuchan at 2003年07月24日 12:15 | トラックバック(1)