サーバー障害で消えたデータを可能な限り復元する方法
先日、コアサーバーの一部で大規模なサーバー障害が発生しました。
私もコアサーバーを10個ほど契約していますが、その中の一つが被弾。
今もなお、不安定な状態が続いています。
タイムアウトしたり、接続不能になったり、一週間経っても改善されません。
しかも、MySQLデータベースのデータを飛ばしてしまったようで、5ヵ月前のバックアップしか残っていないとの事。
バックアップファイルをさかのぼり、現時点で弊社にて整合性が取れていると判断いたしましたデータが、2019年6月5日時点でのデータとなっておりました。
つきましては、ご迷惑をおかけしております中、恐縮ではございますが、弊社にて以下のどちらかにて復旧を進めさせていただきたく存じます。
①整合性の取れていないデータのみ、2019年6月5日時点でのデータに復旧
②全MySQLデータを2019年6月5日時点でのデータ復旧
※①で正常に復旧しない場合は②での対応となります。
簡単に言うと、
- データベース(MySQL)のデータが壊れちゃったよ
- バックアップは2019年6月5日時点しか残ってないよ
- 壊れた分だけ戻す?全部戻す?どちらか選んでね
って感じです。
今回、私のデータベースは無事でしたが、以前、別のサーバー会社で同じような目にあったことがあります。
被害状況は、WordPressのブログ記事が数ヵ月分消滅。
2~3日に一回は記事を投稿していたので、かなりの大ダメージでした。
一応そのサーバー会社に問い合わせるも、返ってきた返事は、
「何を言われても、データが消えてしまって、こちらもどうしようもない。自分で何とかしてくれ」
との事。
しかし、以下の方法で消えたデータを入手し、なんとか元の状態に戻すことができました。
消失したデータの探し方
1.検索エンジンが残したキャッシュを探す
検索エンジンは独自にページのキャッシュを残しています。
例えば、Googleの場合。
消えた記事のURLやキーワードで検索し、URLの横に表示されている『▼マーク』をクリックすると、『キャッシュ』という項目があります。
そこを押すと、過去のページ内容が表示されます。
もし『▼マーク』が出てこない場合は、残念ながらキャッシュは残っていません。
いつの時点でのキャッシュが残っているかは、検索エンジンのクローラーが回ってきたタイミング次第です。
このときは、10日前のキャッシュが残っていました。
Googleで見つからない場合は、他の検索エンジンでも探してみて下さい↓
2.インターネットアーカイブで過去のデータを探す
世界中のウェブサイトを保存している『Wayback Machine』というサイトがあります。
トップページの上部にURLを入力するフォームがあるので、そこに探したいサイトのURLを入力します。
保存されたデータが残っている場合には、カレンダーの日付のところに色が付いています。
日付をクリックすると、キャッシュされた時間が表示されるので、その時間をクリックすると、保存されているページが表示されます。
もしカレンダーが表示されず、「Hrm.」と表示された場合には、残念ながらインターネットアーカイブにサイトが保存されていません。
アクセスが少ないとか、リンクが少ないなど、様々な理由でインターネットアーカイブのクローラーが回ってない可能性が高いです。
サーバー障害の保障は期待できない
サーバー障害に合うと、
「サーバーが止まってた分の売上を保障しろ」
「障害対応の為に働いた分の金をよこせ」
って気持ちにもなりますよね。
7年前、ファーストサーバーでもデータが消失する大障害が発生しました。
そのとき、損害賠償の話題もたくさん出ました。
ところが、実際に支払われたのは、最大でも今まで支払った利用料が限度でした。
例えば、初めてファーストサーバーを契約したのが1年前だったら、保障額は一年分のサーバー代です。
しかし、これでも異例なほど好待遇。
基本的に、サーバー障害で保障されるのは、サービスが停止した日数分。
もしくは、一か月分のサーバー代が無料になるくらいが妥当です。
基本的にどのサーバー会社も、「バックアップは自分で取っておくもの」という見解です。
たしかに分かってはいますが、今回のコアサーバーの障害は、一番信用していたサーバー会社だっただけに、非常に残念でした。
コアサーバーを契約して10年以上経ちますが、こんな長い期間、障害が解消されないのは初めてのこと。
いつもなら、一時間~長くても半日で治るのですが・・・
なんとか早く復旧して欲しいです。
結局、サーバー会社には期待せず、自分でマメにバックアップを取るしかないんですよね。
いつ、何が起こるは分かりません。