サーバの/usrが壊れた

サーバが突然停止して、再起動後にいくつかライブラリやapacheのモジュールが見つからないと言っていくつかのサービスが起動しなかった。

調べてみるとファイルシステムが壊れていていくつかのファイルにアクセスができない。原因はRAIDの中の1台が不調のようでした。

復旧作業に5時間近くかかってしまいました。

何が無くなっているのかいちいち調べるのも面倒なので、インストールされているパッケージを全部インストールしなおすことにしました。aptitudeやapt-getでは全部インストールしようとすると、自前のパッケージなどの関係で一発では出来そうに無かったので以下の手順で実行。

  • 壊れたディスクをRAIDから切り離す
  • ファイルシステムの復旧
  • dpkgでパッケージリストを作成
  • パッケージリストから自前のパッケージを削除
  • リストからapt-getでパッケージをダウンロード
  • dpkg -i /var/cache/apt/archive/*.deb
  • dpkg -i で自前のパッケージをインストール