自宅サーバーのHDDが故障して鯖落ち。復旧に丸一日かかった話。

管理人の音水です。

このブログは自宅サーバーで運用しているんですが、先日鯖落ちしまして…

6/30早朝から夜までの間ずっと復旧作業していました。

原因はOSのインストールされているHDDの故障だったんですが、そこに至るまでの経緯を書いてみようと思います。

6/30 朝7時頃、サイトに繋がらんとの連絡が

朝7時30頃、友達からのLINE通知で目が覚めました。どうやらブログに接続できないとのこと。

スマホで確認してみると確かに接続ができず、タイムアウトしてしまいました。

サーバーは実家に設置しているんですが、運良くその日は実家に帰省していたのでサーバーの確認をすることにしました。

モニターには接続していないので、とりあえずSSHで接続してみましたが、タイムアウト。

サーバーを設置している自室へ行き、モニターを接続しました。電源は切れていないようです。

キーボードやマウスを動かしても無反応なので電源ボタンを長押しし、強制終了しました。

電源を入れなおしてみましたが、サイトには接続できないどころかOSが起動しません。

HDDもろもろ予備のマシンに接続してみましたがこちらでも起動不可。

いよいよHDDの故障を疑い始めました。

ちなみにOSのインストールされているHDDは外付けのものです。その他データ用にHDDが3台とSSDが1台あります。

OSが起動できないのでOS用の外付けHDDをWin10のPCに接続し、パーティションを見てみると、

「初期化されていません」とのメッセージが。冷や汗が出ました。

外付けケースを分解してHDDを取り出し、直接接続したら認識できないだろうかと考え、ケースをマイナスドライバーでやっとこさこじ開け、SATA接続してみましたが、結果は変わらず。\(^o^)/オワタ

OS用のHDDには各ソフトの設定とデータベースが入っていたんですがこれが丸ごと消失してしまったわけです。

が、こんな時のためにバックアップを取っていました。1週間置きにバックアップを取っているので大体のデータは無事でしたが、1週間分の記事がバックアップされていなかったので凹みました。

GoogleキャッシュやWordPressのキャッシュプラグインに奇跡的に残っていたのでなんとか全ての記事は取り戻せました。

新しくHDDを用意し、OSの入れ直しをすることに。

OSのインストールで30分程度、そこからWebサーバーやデータベースを再インストールしていきます。

通常のインストールなら楽なんですが、高速化のために使用するリポジトリを変えたりファイルシステムのマウントを特殊な方法にしていたりでサーバー起動するところまでで夕方になっていました。

データベースの復旧においてはブログが一番面倒でした。

データベースのバックアップはmysqldumpで行っているんですが、リストアでエラーがでるんですよね。

ログを見てみるとWordPressのアクセス解析プラグインのSlimStatで使用するテーブルの様で、エラーコードから考えられる範囲が広かったので、このプラグインで使用するテーブルのinsert文は無視して復旧作業を続けました。

どうにかブログのデータベース復旧が完了です。

サイトに接続してみると無事ブログが表示されました…!!

もうホントにここまでがしんどかったです。一つ言えるのが、バックアップを取っておいてよかったということですね。もし取ってなかったら今まで積み上げてきたものが全部ダメになってました。

こうはならんようにバックアップは取っておきましょう。

OS用HDDのクローンも作っておくとよいと思います。

以上