ニックネーム:m.s さま
質問内容:
クラウド上で、とあるサーバーを運営しているのですが、万が一に備えたいと考えています。そのためバックアップが必要というのはわかっているのですが、コストもバカにならないのですが、どうしましょう?
目的に合わせてバックアップを使い分けて柔軟な復旧作業を実現しよう!
バックアップの種類を知ろう
バックアップには、大きく分けて2つの手法があります。
(1)コマンドやプログラムなど、OSやバックアップ専用ソフトウェアの機能を使ったバックアップ
(2)ストレージやクラウド機能など、インフラの機能を使ったバックアップ
それぞれについて整理していきましょう。
OSに標準で備わっているバックアップ機能やコマンド、バックアップソフトウェアを利用したバックアップで実行します。
バックアップの取り方は、対象になるディスクに保存されたファイルを全てバックアップする「フルバックアップ」
前回のバックアップから増えた分のデータのみをバックアップする「増分バックアップ」
初回のバックアップ以降増えた分のデータを取り続ける「差分バックアップ」と言った方法があります。
フルバックアップは、対象となるディスクに保存されたファイルを全て保存しますので、何世代も保存し続けるには大きなバックアップ容量が必要になります。そのため、増分や差分バックアップと組み合わせて使います。データを戻す手間を考えた場合、差分バックアップのほうが戻す作業の回数が少なく済みますので、どちらかと言うとフルバックアップと差分バックアップを組み合わせて使われているケースが多いようです。
こちらは、イメージバックアップや、スナップショットと言われる方法です。
イメージバックアップは、対象のディスクスペースに保存されたデータを、まるごとひとつの塊としてバックアップをします。
この場合、バックアップ対象のディスクに保存されているデータの容量とほぼ同じだけの容量が、イメージバックアップとして必要になります。
イメージバックアップを何世代も保存しようとすると、それなりのディスク容量を消費してしまいますので、そのような場合にスナップショットを併用することになります。
スナップショットは、よく「差分バックアップ」と誤解される方がおられますが、そうではありません。イメージバックアップを取得した日時から、スナップショットを取得した日時までの間にディスクの中に書き込まれた情報の変更点だけを保持するというものです。増分・差分バックアップのように、ファイル単位で保存してくれるわけではありません。その意味では差分バックアップより、さらに保存するための容量は少なくて済むのですが、スナップショットはイメージバックアップという元になる元になるバックアップデータがなくなってしまうと、元に戻せないと言う点に注意が必要です。
このように見てみると、(1)も(2)もそれほど差が無いように見えますが、最大の違いは、
(1)は、ファイル単位でバックアップをしている
(2)は、ファイル単位ではなくディスクイメージで保存している
ということになります。これでもピンとこない方向けに、取得したバックアップから戻す(リストアする)場合を考えてみましょう。
(1)の場合、ファイル単位でバックアップされていますので、あるファイルだけを間違えて消してしまったり、壊してしまった場合でも、ファイル単位でピンポイントに復旧することができます。
(2)の場合、ディスクに書かれた情報をひとつの塊としてバックアップしますので、必要なひとつのファイルだけを復旧すると言うことができません。
どのようにバックアップの使い分けをするべきか?
ではどのような場合にこれらを使い分けたら良いのでしょうか?
例えば、ファイル単位で管理しているさまざまなデータについては、(1)のファイル単位でのバックアップが適していると言ます。
OSやアプリケーションといった複数のデータが密接に関連して成り立っているものについては、ファイル単位より(2)のイメージバックアップのほうが効率が良いと言ます。
また、ファイル単位のバックアップの場合、システムやユーザーが使用しているファイルはバックアップをスキップさせる場合があります。
OSやアプリケーションは、動作している以上システムがデータを使っていますので、(1)ではバックアップし切れない場合があります。この点で考えても、OSやアプリケーションの動作に依存しない(2)が向いていると言ます。
バックアップは、システムやデータに万が一問題が発生した場合、元の通りに戻してくれる大切な機能ですが、設計を誤ると、バックアップ容量の肥大化、バックアップもれ、復旧工数の肥大化といった、思わぬ問題に直面してしまいます。バックアップは、復旧の手間までを考えて慎重に設計したいものです。