2006年04月04日

止まらない仕組みを目指して(2)

はてなブックマークに登録

壊れて困るファイルってなんだろう・・・
どんなファイルも壊れれば多少は困りますが、設定ファイルやデータファイルなどに関しては、最悪壊れてしまってもシステム側の処理でどうにでも対処できそうです。エラーを検出した時点で関連するデーモンを止めてしまえばよいのですから。
本気で困るのは、エラーを検出したときに身動きがとれなくなる状態(シェルが起動できないとか)です。

そこで、/{lib,sbin,bin} をramdiskにいれてみてはどうだろうと思い立ちました。
起動時にtmpfsで/{lib,sbin,bin}をmountし、ディスクから内容をコピー・・・・・
これならHDDが壊れても平気、メモリが壊れたらそもそもカーネルも無事ではないでしょう。
最も懸念している「中途半端に生きている状態」を回避することはできそうです。

早速起動スクリプト(俗に言うrcスクリプト)に mount -t tmpfs と書きかけて・・・
そういえば init もglibcに依存してることに気づきました(笑
init 起動前にtmpfsのmountとファイルのコピーまで完了していなければいけませんね。
ということは、initrd のお世話にならないといけなさそうです。

klab_gijutsu2 at 16:01│Comments(0)TrackBack(0)

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント