バックアップだけでは止められない

バックアップについて書き始めるといろいろなことを考えてしまい、内容がぶれてしまうことがある。今回は最近バックアップについて思うことを書いてみたい。

最近一番思うこと、それは「昔は深夜の限られた時間だがアプリケーションを止めてバックアップできたのに、最近はバックアップだけではシステムを止めることができなくなってきたなぁ」ということ。顧客の24時間365時間可能な限りシステムは止めたくないという要望とインターネットの普及に伴いそもそも自分が使いたいサービスが止まるということをユーザが許してくれないということが背景にあるのではないだろうか。

バックアップを設計する上で一番大事なことは、「データの静止点を作ること」。詳しくは、こちらを読んでいただきたい>バックアップは重要だ - 誰かに任せておけないストレージ


止められるのであれば、静止点は容易に作れる。アプリケーションが止まっている間はデータの更新がない状態になるわけなので、何時のバックアップが取られているのかという静止点が作れている。


止められない場合、どうするのか?
方法としては、2つ。

  1. アプリケーションの機能で止まっているように見せる
  2. バックアップソフトウェアのオプション機能で静止点を作る

データベースソフトウェアに多いが、ログの機能を有効に使ってユーザにそのアプリケーションが止まっていないように見せることができる。ユーザはデータを更新できるのだが、データベースソフトウェア側で実は更新データをログとして残し、バックアップを取得した後に、更新データを反映するということをしてくれる。これでバックアップの静止点問題は解決する。

また、バックアップソフトウェアにはオプション機能で様々なアプリケーションのデータを止めずにバックアップを取得することができるようにすることができる。バックアップソフトウェア側で何時までのバックアップを取得できているかということをコミットしてくれるようなものと認識してもらえれば良いだろう。メールソフトウェアやデータベースソフトウェア、DBを使ったファイルサーバ機能やポータル機能を使ったソフトウェアなどのために対応したオプションが用意されているので、もし止められないとわかったときはこの機能があるかないかでどのバックアップソフトウェアを購入するのか検討したい。

現在はアプリケーションをバックアップのためだけに止めることはできないと考えてよい。 止まっているように見せない機能は上述したとおりである。止められないという問題はそれなりに解決した。今、一番の問題はバックアップ時間がかかりすぎること。バックアップに時間がかかりすぎていることである。次回は、バックアップに許される時間を考え、どれだけ短くできるのかを記述したい