vol.3 バックアップとレプリケーションの違い

2013/03/13

万一の障害に備えるための対策にはいくつか方法がありますが、バックアップと似たような手法を用いて行う方法もあります。その一つが「レプリケーション」と呼ばれる技術です。レプリケーションは、対象となるコンピュータのデータをリアルタイムにコピーする技術です。レプリケーションを行うことで、障害が発生する直前のコンピュータの状態にリストアすることが可能となります。このレプリケーションによってコピーするデータの保管先を遠隔地にすれば、災害対策として大きな効果を発揮します。

レプリケーションさえ行えば、バックアップの必要がないとお考えの方もいらっしゃることでしょう。しかし、バックアップとレプリケーションの目的は、本来異なるものです。バックアップは、バックアップしたデータを複数世代に分けて管理することで、バックアップを取得した状態にいつでも戻すことができます。対してレプリケーションは、あるタイミングの情報を瞬間的にコピーするため、停止させたくない継続的なサービスへの障害対策として有効です。レプリケーションによってデータを常に取得しておけば、障害発生の直前まで手軽にリストアすることが可能になります。

しかし、誤ってデータを書き込んだり意図せずにデータの一部を消してしまったりした場合はどうなるでしょうか。レプリケーションの場合は、誤ったデータもそのままコピーしてしまいますし、消してしまった内容もリストア先にそのまま反映されてしまいます。ようは、障害が起きる直前の状態には戻せても、昨日の状態には戻すことができないのです。

つまり、レプリケーションはサービスの継続性が目的であり、データを保全するバックアップとはその使い方が異なるのです。バックアップでは、可搬性のあるメディアにデータを保管さえしておけば、オペレーションミスによるデータ消去やハードウェア障害、災害対策などにも有効です。ただし、リストアを行うための時間はしっかりと確保する必要があり、サービス継続を目的としたレプリケーションと比べると復旧までの時間が必要です。もし、サービスの継続性とデータ保全双方を満たそうとするのであれば、遠隔地のコンピュータに対してレプリケーションを行いながら、レプリケーション先のコンピュータに対して可搬性のあるメディアを用いてバックアップを行う、といったやり方を採用すればいいわけです。