• ベストアンサー

ファイルシステムの耐障害性

UNIXに限った話ではないのですが、一般的にファイルシステムは、ちょっと例外はあるにしても、おおむね木構造になっていますよね。 もし、ディスクに不具合が生じて、ファイルシステムの一部が破損した場合、それが末端のファイルそのものなら、ファイルが壊れるだけだと思うのですが、もっとrootに近い部分が破損してしまった場合、そこから先の枝の部分は失われてしまうのでしょうか? それを防止するために、最近のOSでは何か対策が施されているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.3

例えば Linux の ext2 ではスーパーブロックやその他のファイルシステム記述の バックアップをいくつもファイルシステムの中に含んでいますから、ディスクが よほど大規模にやられなければ代替スーパーブロックの情報を使うことで ディレクトリツリーの整合性は保たれると思います。 他の OS のファイルシステムも同様かと。

参考URL:
http://www.linux.or.jp/JF/JFdocs/Filesystems-HOWTO-6.html
pokuda
質問者

お礼

回答ありがとうございます。 大規模でやられなくても、root近くのデータがやられちゃうと痛いのかなぁ、と思うのですが、代替スーパーブロックのことは、よく知らなかったので、ちょっと自力で勉強してみます。

その他の回答 (2)

  • hogeta
  • ベストアンサー率14% (4/28)
回答No.2

ディスクの内容がなんらかの障害によって矛盾をきたしてしまう現象は、基本的にディスクへの書き込み時に起きます。 現在のファイルシステムでは、ジャーナリングという、いわゆるログをとっておいて、障害発生時にはそのログを参考に復旧を行なうようになってます。 inodeの部分も対応しているんじゃないでしょうか。

pokuda
質問者

お礼

回答ありがとうございます。 まさにinodeの部分が対応しているかどうかが気になりますね。

noname#4564
noname#4564
回答No.1

  > それを防止するために、最近のOSでは何か対策が施されているのでしょうか? 教科書通りのコメントですが、予算が許す限りのストレージの冗長化と定期的な資源の退避。 (「OSの」対策ではありませんが)

関連するQ&A