バックアップサーバーの構築

はてなブックマーク - バックアップサーバーの構築
[`evernote` not found]
[`fc2` not found]
[`livedoor` not found]
[`yahoo` not found]
[`nifty` not found]

ホームページデータ、メールデータを守る

本日はバックアップサーバーを構築したお話。
と、言っても、サーバー自体はよくある共用サーバーをお借りして、そこにバックアップデータを格納するというだけのもの。
必要条件は

  • 一定以上の容量
  • FTPサーバーが利用できること

の2点。

十分条件は

  • 容量が無制限ならいくらでも追加できる
  • 通信速度が速いほどありがたい
  • その共用サーバー自体がバックアップされているようなサーバーならありがたい

といったところだ。
まだ、顧客もすくないし、とりあえずは小さいプランを契約させてもらい、現在、運用中のWEBサイト、メールの様々なデータをバックアップすることとした。

MONOHDDdrive2013

契約したサーバーは

GMOクラウドは旧アイルだ。
安定稼働で有名なサーバーで。SLA保障100%は、国内随一だろう。
価格的にも決して高くないこのサーバーは、普通にWEBサーバーとしても使えるのだが、贅沢にもバックアップ用途のサーバーとして使う。

次に、バックアップ技術を簡単に紹介しよう。

Plesk導入サーバー

Pleskが導入されているサーバーには、基本的にバックアップマネージャーというものがついている。
これが実に便利だ。
Acronis社と共同で開発したといわれるPleskバックアップは、メールアカウント・メール受信データ・データベースもバックアップし、1ファイルにまとめてバックアップリポジトリに保存してくれるのだ。
いわば、そのドメインを運用して作ってきたデータはほぼすべてバックアップできる。
かりにサーバーが障害が発生し復旧が困難になったとしても、バックアップデータが健全であれば同じPleskで容易に復元ができてしまう。最後にIPを変更すればほんの数分~1時間もあれば復元できる。
もっというと、該当ドメインで利用していたIPを新しいサーバーに設定してしまえば何も変更する必要もないのだ。

復元性は90%以上

実は私はテストで行ったバックアップを復元できなかったことがある。
半年以上パラレルス社、Acronis社と話をしながら復元することを目的に努力してきたが、最終最後に、原因が不明という判断をくだした。
しかし、このバックアップ、復元ツールの本当に素晴らしいところは、バックアップデータから復元したいファイルやフォルダを指定して、チェックを入れたものだけを復元することもできるのだ。
結局この方法で復元作業を行ってみたところ、1ファイル以外(Pleskの何かの設定ファイルだった。確認したところ、特に問題ないということだった)すべて復元でき、復旧させることができたのだ。
復元できない可能性のあるバックアップなど意味がないと当初思っていたが、部分復元を行うことでファイルのほとんどを復元できたことから、むしろ信頼性が高くなった。

上記を踏まえ、Pleskコントロールパネルを実装しているサーバーは、基本的にはPleskバックアップをメインで行うことにした。

Plesk未導入のサーバーの場合

お客様の要望などでPleskを導入していない場合は、Pleskバックアップがもちろん使えない。
サーバーによってはバックアップツールを提供しているところもある。
しかし、各々のサーバーのバックアップツールを調べるのもキリがないので、このようなサーバーの場合、基本的にクライアントマシンを利用してバックアップを取ることにした。
と、言っても手動で行うのには限界があるので、常駐のWindowsサーバーを利用して定期実行が行われるように設定することにした。

FFFTPはコマンドラインで操作可能

サーバーのデータをFTP転送してくれるソフトはないかと探していた。
あるにはあったのだが、いろいろ不満が残るソフトが多かった。
行き着いたのはWindowsのFTPソフトとして著名なFFFTPだった。
FFFTPはコマンドラインでで操作が可能なソフトで、ようは、タスクスケジューラに、実行コマンドを入力しておけば定期的に実行してくれる。
そこで、タスクスケジューラで、FFFTPを定期的に実行、指定のアカウントの領域内のデータををすべてクライアントにミラーダウンロードするようコマンドを設定すれば指定時刻になれば定期的にFFFTPが自動でダウンロードしてくれる。
また、データをバックアップサーバーに上げるのなら逆にアップロードコマンドもタスクスケジューラに入れておけばよい。
しかし、トラブルが発生し復元を考えたとき、復元は基本的にクライアントで行うので、わざわざサーバーに置く必要もないので、そこまでは考えなくてもよいかと思う。

これで、少なくとも、FTPでアクセス可能な領域にあるデータはバックアップができる。
サーバー会社によっては、メール関係のデータやDBのデータはFTPでアクセスできないエリアにある可能性があるので、そういった場合にどうするのか別途検討は必要だ。
メールは、ほとんどの方がPOPで受信しているので、メールデータ自体はないことが多い。なので、アカウントリストといった話になるだろうからそこまで問題にはならない。
問題はDBだ。
別の領域にあるサーバーの場合、普通に考えたら手が出せない。
なので、PHPあたりでダンプデータを吐き出すプログラムを作り、FTPエリアにファイル化しておいておきそれをダウンロードするような方法がベターか。

使えるならrsyncも大いにありだろう

rsyncというバックアップ/同期コマンドがLinuxには存在している。
差分バックアップとをってくれる非常にありがたいコマンドだ。
要は、バックアップ元とバックアップ先でrsyncコマンドで通信させればバックアップ先に差分バックアップをしてくれる。
Cronで定期実行化しておけば自動でバックアップを取ってくれる。
フォルダ構成などWEBサーバーに向けて構成しておけば、障害発生→ダウンの際に、DNSを変えるだけで復旧できるというメリットもある。
どこまでやるかは、そのサーバーの重要度だろう。

バックアップなど必要なのか?

ほとんどの場合お客様から聞かれる質問です。
うちのWEBサイトなんて数日止まっても別にかまわないよ
と、よく言われます。
しかし、いざサーバーが止まると様々な苦難が待ち受けます。

  • ほとんどの場合メールの送受信ができなくなる
  • 銀行や役所などがチェックできなくなる

など、ダウンするといろいろ不都合が起きます。
そして、では、バックアップがない状態でサーバーが復元不可能な状態になったらどうしますか?
ホームページのデータは存在しないわけですから作り直しです。
すぐに作り直すことができるのでしょうか。
結局、バックアップを取っていない企業さんほど、何とかしてほしいといってきます。
しかし、無いものはないので、作り直すしかありません。

メールはアカウントを再設定すれば使えるようになりますが、WEBは作らないことにはデータがありません。
ましては何百、何千とデータがあったのであればそのデータがない以上、再度作り直し、ヒアリングからです。
まず、バックアップが不必要という企業さんはまずないと考えています。

データは情報・情報は資産です

ホームページなんて・・・という発言をよく耳にします。
しかし、今現在はどの企業も新規取引先などをまずはホームページなどで調べます。
就職活動を行っている大学生なども当然のごとくホームページを見ていきたい企業かどうか考えています。
銀行や役所は融資や助成金の申請を行うとまずホームページを見て企業の事業内容などを調べています。
いわば、ホームページ、WEBサイトというのは今では企業のパンフレットより重要視されているといってもいいくらいです。
なぜなら、パンフレットは請求しないとみることができませんが、ホームページは基本的にだれでも見ることができるからです。
公開性が高いからそのホームページをどのように作っているのか第三者は気になります。
おそらくホームページの作りなどでその企業がお客様に対してどう考えて活動しているのか見えてくるからです。

そのホームページのデータが飛んでも特に痛くないと本当にいえますでしょうか?

私は今ご契約いただいているお客様には、保守・管理費という名目で毎月定額の代金を頂いています。
これは、WEBサイトのアクセス解析資料やSEO解析資料の提出、お客様によってはWEBサイトの定期的な更新なども含まれています。
もちろん契約の段階でお客様に保守・管理の業務内容はお伝えしていますが、その中に必ずサーバーのバックアップを入れています。
ほとんどの場合いただく代金のほとんどはバックアップにかかる費用です。
これには別のサーバーを準備し、先述のバックアップの仕組みを考えバックアップを実行します。
HDD領域もトラフィックもかかります。当然お金のかかることです。
しかし、ほとんどのばあい、目に見えませんし、必要性を感じることはないでしょう。むしろ、感じるような事態になってはいけないのですが。
なので、まれに、必要性を感じないので解約しますという方もおられます。引き留めるようなことはしませんが、その時点で少なくともバックアップは止めます。
そして、そういうかたにとくにあるのが、WEBサイトを自分でいじった結果元に戻せなくなった。元ファイルはないかという問いです。
しかし、近年情報保護の観点から、解約したお客さんのバックアップデータを保有していること自体がまずいという考えもありますので削除してしまいます。

あきらめてくださいしか言えない時もあるのです。

バックアップは転ばぬ先の杖

転ばぬ先の杖という言葉があります。
これは、転ぶ前に杖を用意しておきましょうということわざです。
まさにバックアップを取るというのは転ばぬ先の杖です。
ほとんどの場合、トラブルが起きてバックアップデータを復元するという作業を行うことはありません。
しかしながら、いざトラブルが発生しデータを抜き出さなければいけなくなった際に、抜き出すべきデータがないとどうなるでしょうか。
先のF社の顧客データのほとんどを消去してしまった事例もあります。
平時は飛んだら飛んだだといってた方ほど、いざ直面に立たされた時に保障だ復旧だと騒ぎました。
しかし、ほぼ100%、どのサーバー会社も顧客のアップロードしたデータに関しては無保障を規約で謳っています。
法的な根拠云々はわかりませんが、利用前に確認できる規約でデータは無保障だと公開している以上基本的には自己責任で復元するなりしなければいけません。
自前でバックアップがとってあった場合はどうなるでしょうか。
最悪、バックアップを復元すれば元に戻りますし、それこそ簡単なホームページであれば再アップロードで済みます。
プログラムが組み込まれているサイトにしてもちょっとパーミッションなどの変更を行えば動くようになります。
バックアップを取ってからダウンするまでのその数日間(数時間)のデータはなくなりますが、復元率80~90%程度などで傷も浅く済みます。
普段こういうことをやっているかいないかで0%か80%かという大きな差になります。

バックアップは、取り方にもよりますが、普通は物理的に違うマシンにバックアップを取るわけですから2倍の容量が必要です。しかも物理的にディスクが違うエリアです。
業者に任せれば結果的にそれだけ料金が高くなるのです。
高い業者はバックアップを物理的に違う機械でとっていることも多いです。
自分でとるのが面倒だという方はそういうサーバーを利用されるのがいいでしょう。
私は、お客様にすべてのパーツをバラにし、説明し、お客様が必要だというものだけを提供できるようにしています。
ただ、バックアップだけはたとえ業者がやっているといっていてもこちらでもとることをお勧めします。

もっと極論を言えば、その業者が倒産したらどうするのかなど、自分たちですべてが操作できない以上、自分たちが操作できるエリアに保存しておくべきだと考えるからです。
これで救われたという方もたくさんいるのも事実です。

はてなブックマーク - バックアップサーバーの構築
[`evernote` not found]
[`fc2` not found]
[`livedoor` not found]
[`yahoo` not found]
[`nifty` not found]

コメント

SNSでもご購読できます。

PR