サーバのHDDがまたおかしくなったらしく、messagesにI/Oエラーが大量に流れ始めた。
って去年交換したばっかじゃん…Seagateまで俺を裏切るのかっ!
まぁ作業ログはここにあるので余裕だ、と思ったらapacheも応答がない…


幸いmixiにもメモを残していたので、それを元に応急処置を開始。
まず、ログからエラーブロックを特定、32で割って該当のセクタを調べると、えらく手前だった。

dd if=/dev/ad4s1a of=/dev/null skip=224 count=32 conv=noerror
=> dd: /dev/ad4s1a: Input/output error

場所は特定できたが、去年のようにアクセスしても代替処理が行われない。
仕方ないのでbadsectのお世話になる。
1つずつずらしてddした結果、254セクタ目が壊れているようだったので、

badsect BAD 254
=> block 254 in non-data area: cannot attach

なん…だと…
どうやらディレクトリノードか何かが入っている場所が壊れたようで、badsectが通用しない。
しかもどうやら、壊れたのは/homeらしい…なんてついてない。
もっとも、不幸中の幸いというべきか、FreeBSDの流儀に沿って、homeは/usr/homeへのsymlinkなので、homeの内容そのものは無事だ。
/homeにアクセスすると固まるので、とりあえずvipwでhomeを/usr/homeに書き換え、apacheのDocumentRootも/usr/homeに変更。これで当面の停止は免れた。
本格的な修復は週末に行うことにした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>