ロリポップ!レンタルサーバーがディスク障害ですべてのデータが消滅

昨日、10月16日(火)のことです。

朝、メールをチェックしたら、「【重要】SV337サーバー緊急メンテナンスのお知らせ」という件名のメールがロリポップ!レンタルサーバーから届いていました。

というのも、当ブログはロリポップを使っているからです。

そのメールには次のように書かれていました。ちなみに、16日の夜中の2時頃届いたメールです。

本日10月15日23:03より【SV337】サーバーに於いて、アクセス障害が発生しており、調査を行ったところ、ディスク障害によるものと判明致しました。

その為、現在ディスクの損傷を防ぐためサーバーを停止致し、復旧作業を行っており、完了次第ディスクの交換メンテナンスを行います。

「ディスク障害!?」とまずびっくりし、「最悪の場合、このブログのデータが全部吹っ飛んでしまうのでは??」と、ちょっと冷や汗が出てしまいました。

そして、その最悪が起こってしまいました。。。


当ブログは10月15日23:00頃から16日の14:30くらいまで見れなかったですね。。何も表示されない状態でした。

今となって、かわいらしいよりも憎たらしく思う、あのロリポップのキャラクターが表示されるページ(404 not foundの時に出るページ)すら表示されませんでした。

当然ですが、メールも受信できませんでしたし、FTPにも接続できませんした。

そして、やっとFTPに接続できたと思ったら、すべてのデータは消えており、welcome.htmlというファイルのみがありました。

そして、トップページには、あの憎たらしいデザインのページが表示されるようになってしまいました。。。そのページには、ちゃっかりロリポップのバナーが貼ってあります。。

welcome.htmlページ

「人のブログのデータを全消滅させといて、なんで自分のサイトに誘導するバナーを貼れるんだ??ちょっとおかしくないか?自分たちの管理ミスでディスク障害を起こして、サイトが見れない状態が何時間も続き、おまけにすべてのデータを消滅させちゃったんだぜ。。普通なら謝罪文でも載せるだろ。。どういう神経してるんだ、この会社??」と、目の前に表示されている自分のブログの全く違う姿を見て唖然としてしまいました。

そして、この最悪の状況に「ああー、やっぱり全部のデータが消滅してしまったのかぁー・・・。死にそう。。1000記事以上も書いてきたのに。。1年7ヶ月、毎日のように書いてきたのに。。」と、その時は冷静さを欠き、絶望感でいっぱいでした。

でも、基本的に性格がポジティブなのか、「ロリポップは今データの復旧作業をやっているだろうし、データが復活する可能性もゼロじゃないよな」と自分自身に言い聞かせました。

しかし、その希望はもろくも崩れてしまいました。。

16:20頃、ロリポップから再び「【重要】SV337サーバー緊急メンテナンス完了のお知らせ」という件名でメールが届きました。

別途メールにてご連絡させて頂いております、サーバー障害に関しましてディスクの交換及び、メンテナンス作業が [10月16日 16時07分] に完了致しましたのでご報告させて頂きます。

なお、ディスクの損傷を防ぐため、今回迅速にサーバー内のハードディスクデータのバックアップならびに、復旧を試みましたがハードディスク本体の損傷が激しくサーバー内のデータが消失しております。

大変恐縮ですが、ホームページデータの再転送をお願い申し上げます。

このメールを読んだ時、「ウォー、最悪だぁー。。ホームページデータの再転送って、このサイトはブログだよ。。ブログの記事のバックアップなんて、いちいちとってないよ。普通のHTMLサイトならサイトを作ってはFTPでアップロードするから、ハードディスクにデータは残るけど、MT(Movable Type)で作っているんだから、記事のデータなんてハードディスクにないし。。データベースだって、そんなに頻繁にバックアップとるものじゃないでしょ。。っていうか、サーバー内のデータが全消失なんて、サーバー会社が一番やっちゃいけないことだろっ!」と半ば、怒りすら覚えました。。

でも、そこでふと思ったんです。

「あっ、そういえば、この前、MT(Movable Type)のバージョンを3.3から最新版の4.01にアップデートしたんだっけ。その時に、MT 3.3のデータをローカルに全部落としたよな。確か、まだ削除してなかった記憶が・・・。」

そうなんです。僕は今月の5日にMTのバージョンアップをしたんですね。その時に、MT 3.3のデータを全部バックアップしていたんです。

当ブログにも「Movable Typeのバージョンを3.3から4.01へアップしました。」という記事を書きました。

で、さっそく、デスクトップ上に散らかっているフォルダやファイルを見渡したら・・・ありましたっ!MT 3.3のバックアップデータがハードディスク内に残ってました。

「うぉー、助かったぁー。これで、10月5日までの記事は自分で復活できるはずだ!」と思い、さっそく、そのMT 3.3のバックアップデータをFTPでアップロードして、再起動しました。

そして、なんとか10月5日までのデータは完全復活。ただ、MTのバージョンを4.01にアップデートした時にテンプレートも4.01に合わせたものに変更していたので、まずはテンプレートファイルを修正しました。

ここまでで、ほっと一息。あとは、10月6日〜15日までに書いた記事を復旧するまでです。

そこで、まず思いついたのはGoogleやYahoo!などの検索エンジンにキャッシュが残っているだろうということです。

検索エンジンでは「site:」コマンドを使うと指定したサイトのインデックスした記事だけを検索結果に出してくれます。

「site:」コマンドのことを知らない人は「検索エンジン上級検索方法、知っておきたい検索コマンド」をご覧下さい。

まずは、Googleで「site:www.nextglobaljungle.com」で検索しました。

site:www.nextglobaljungle.comでの検索結果

「www.nextglobaljungle.com からの検索結果 約1,540件」とあります。

この1,540件という数字を見た時に、「これなら、かなりの記事がインデックスされているから、キャッシュからデータをとれるかもしれない」と思いました。

といっても、10月6日〜15日の間に書いた記事を探すのに、この1,540件を1件1件見ていたら、すごい時間がかかってしまいます。

そこで、ブラウザの検索を使うことにしました。(Macならコマンド+Fキー/WindowならCtrl+Fキー)

というもの、当ブログのエントリー記事は「www.nextglobaljungle.com/2006/04/xxxxx.html 」のように、その記事を書いた年と月がパスになっているからです。

つまり、URLのパスの中に「2007/10/」という数字があれば、その記事は2007年10月に書いた記事ということになります。

なので、ブラウザの検索で「2007/10/」とタイプし、検索しながら10月6日〜15日の間に書いた記事を探しました。

ブラウザの検索画面

こうやって、1ページ1ページ検索していきました。

最初は既に復旧済みの10月5日までに書いた記事ばかりがひっかかって不安になってきたのですが、とうとう最近書いた記憶がある記事に辿り着きました。

071017_9.jpg

記事のタイトルをクリックすると、やはり「404 not found」でページが存在しません。

という訳で、この記事の「キャッシュ」というリンクをクリックし、キャッシュページから記事のテキストを抜き出して、記事を再投稿しました。

キャッシュページ

正確に言うと、ページのソース(HTMLソース)を表示してコピーしていきました。

ページのソース

こうした作業を繰り返し、10月13日までに書いた記事はすべて取り戻せました。

しかし、10月15日に書いた記事だけがキャッシュされていませんでした。。

つまり、前日に書いた記事だけが、まだキャッシュされていなかったんですね。

でも、まぁ、これだけの記事が復活できただけでも運が良かったと思います。

当ブログは頻繁に記事を書いて記事数も多かったためか、検索エンジンのクロール頻度やインデックスがかなり充実していたようです。

「Goolgeありがとう〜〜!!」と思いながら、作業しましたからね。念のため、Yahoo!でも同じようにキャッシュを調べたのですが、Goolge同様、10月13日までに書いた記事までがキャッシュされていましたね。

そこで、「トップページはいつキャッシュされたんだろう?」と思い、チェックしてみました。

トップページのキャッシュ日時

「 2007年10月15日 12:50:13 GMT に保存された」とあります。

つまり、検索エンジンは10月15日に当ブログのトップページはクロールしているんですね。

トップページのキャッシュ

このように、トップページには10月15日に書いた5記事のタイトルが表示されています。

この記事を書いている段階では、10月15日に書いたそれぞれの記事は、まだ検索エンジンにキャッシュされていません。

しかし、10月15日クロールはしているので、もしかしたら、明日以降、個々のページのキャッシュが上がってくるかもしれません。

というか、その希望にかけていたりします。。

ここまで書いて、ちょっと疲れちゃったので、続きは明日また書きます。

(追伸2007年10月19日)

続きです!昨日は一日外出して書けませんでした。

結局、10/15に書いた5記事は現段階では検索エンジンにキャッシュされていないようです。

そして、トップページのキャッシュも10/17に更新されてしまったので、たぶん、10/5に書いた5記事を取り戻すことはできなそうですね。。。

まぁ、1000以上の記事が一気に消滅されたのに、最終的な被害は5記事だけなので、考え方によってはラッキーだったのかもしれません。

そう、ロリポップは多くの方が不安定だと言っていましたが、僕はそれほど感じてなかったんですね。

でも、ここ数ヶ月はちょっと不信に思うことがありました。

まず、今年の8月12日に「【ロリポップ!】お客様のスクリプトにより負荷がかかっております」という件名でメールが届きました。

メールの内容は、当サイトのモバイル版で使っているMT4iのCGIがサーバーに負荷をかけているので、パーミッションを変更したという内容でした。

パーミッションを変更したということは、モバイル版を見れなくしたということです。

この時は、「そんなに負荷のかかるCGIなのかな?とりあえず、パーミッションを元と戻しておこう」と思い、パーミッションを正常な値に戻し、モバイル版が見れるように僕の方で変更しました。

そして、翌9/26にまた同じ内容のメールが届きました。

以下、そのメールの引用です。

本日、お客様のお使いの

</home/sites/lolipop.jp/users/lolipop.jp-dpxxxxxx/web/m/index.cgi>

におきまして、スクリプトの大量起動によりサーバー上で著しい負荷がかかっておりました。このため該当サーバの安定稼動が見込めなくなり、上記スクリプトのパーミッションを変更させていただいております。

また、現在ご利用のパッケージ(掲示板やブログ等のプログラム)におきまして、開発・配布元より最新バージョンやセキュリティ対策などのアップデートプログラムが出ていないかの確認を合わせてご検討頂けると幸いです。

当サイトのモバイル版はYahoo!モバイルのカテゴリに掲載されているから、それなりにアクセスがあると思うんですよね。

アクセス解析をつけてないので、実際、どれくらいのアクセスがあるのかわかりませんが。

でも、サーバー会社の方で勝手にパーミッションを変更し、モバイル版が見れなくなってしまうことに、正直、ちょっと頭にきたので、ロリポップに問い合わせをしたんですね。

「本当にMT4iで使っているCGIが原因なんですか?もしそうなら、それに耐えられないサーバーを使うつもりはありません。別の会社のサーバーに移行する予定です。その前にちゃんと調べて正確な原因を教えて下さい」

といった内容の問い合わせをしました。

帰ってきた返事は下記のような内容でした。

今回の警告につきましては、コメントspamと呼称される不正登録が原因で局部的なサーバー負荷が発生しておりました。
一時的にパーミッション「000」に変更しておりましたが、是非、お客様より正規のパーミッションへお戻しのうえご利用ください。

MovableTypeの最新版であれば、この不正投稿や、コメントspamの防止ツールがございます。
配布元にお尋ね合わせのうえ、こちらのツールを導入頂ければ、同類案件での再発や、再警告についての案内はございません。

「コメントspamと呼称される不正登録?なんだそりゃ??コメントなんて、受け付けてないけど。。」と思ったのですが、MTはコメントを受け付けない設定になっていても、海外からコメントスパムが入ることがあるようなんですよね。

僕は当ブログにコメントスパムが入っていることなんて、知りませんでした。

でも、MTの最新版なら対処できるということで、10/5に「Movable Typeのバージョンを3.3から4.01へアップしました。」に書いたようにMTのバージョンを最新版にアップデートしたんですね。

今、考えると、このタイミングで他サーバーに移行していればよかったですね。。後の祭りですが。。。

そして、せっかくMT4.01にアップデートしたのに、現在ではMT3.3に戻っています。

でも、これはよかったです。

MT4の管理画面が重たくて記事を投稿するのにすごい時間がかかるんですよね。

MTはバージョン3の方がサクサク動いていいですね。

そうそう、それでロリポップの障害情報ページを見ると、「解決済み」になっているんですね。まぁ、利用規約ではバックアップはユーザーがとるとなっていますからね。

でも、すべてのデータを消滅させたくせに「解決済み」ってどうなんですかね。。

それにしても、しょっちゅう障害を起こしているんですね。。。

ディスク障害というサーバー会社として最悪の障害は、10月は今のところ僕が使っていた共有サーバーだけのようですが、9/30にも他の共有サーバーでやっていますね。。

きっと、僕のようにロリポップにMTをインストールしてブログを運営していたユーザーの中には、かなりの人がディスク障害で泣いているのではないでしょうか?

やっぱり、「安かろう悪かろう」なんですかね。。

でも、今回はすごく多くのことを学びました。

とりあえず、今週末にでもロリポップからエックスサーバーに当ブログのデータをすべて移行する予定です。

他のサイトでエックスサーバーを使っているんですよね。

エックスサーバーはマルチドメイン可なので、複数のドメインが無料で追加登録できますからね。

それと、MTでサイトを作っている場合は、ブログを更新したらデータベースファイル(当ブログの場合はSQLiteなので「sqlitedb」というファイルです)のバックアップをその都度とった方がいいでしょう。

今回の場合も、MT3.3からMT4.01へのアップデートの際に、MTのデータをすべてバックアップしていたので、かなり助かりました。

あそこでバックアップをとっていなかったら、かなりの記事を検索エンジンのキャッシュからとってこなければならなかったですからね。

そして、今使っているロリポップは来年の3月に契約更新があるので、ここで解約します。

もう、誰にも勧めません。。今までけっこう薦めてきたんですけどね。。

最後に今回学んだことをまとめると、

(1)安いレンタルサーバーは使わない

(2)新しくレンタルサーバーを契約する時は障害情報をチェックする。ここで、あまりに頻繁に障害を起こしているようなら、契約しない。

(3)MTのデータベースファイルを頻繁にバックアップを取る。

以上です!