[DPM] なぜ Hyper-V のバックアップは時間がかかるのか?

こんにちは、System Center サポート部の石井です。

今回はややマニアックですが、よくご質問いただく、なぜ Hyper-V のバックアップはその他バックアップに比べて時間がかかるのか、というお話です。

DPM による Hyper-V バックアップは、Hyper-V ホストと DPM サーバーにおいて、VHD ファイルをブロック差分にて比較するため、時間がかかってしまう、という点を以前のポストでご紹介しました。

Hyper-V のバックアップの基本知識編は以下です。

Q Hyper-V バックアップ (オンライン バックアップ、オフライン バックアップ、DPM へのデータの転送) の方法を教えてください。

https://technet.microsoft.com/ja-jp/systemcenter/gg675302

さて、今回はこの知識を踏まえ、VHD バックアップがはじまる最後のひと工夫である、ポスト スナップショットと呼ばれる処理についてご説明します。

図 1 が、Hyper-V のバックアップ時の VM のスナップショットの大きな流れです。

図1:

バックアップ対象の Hyper-V ホストでは、VSS リクエスタである DPMRA が VSS の DoSnapshotSet を発行します。

この命令がホストの VSS に送られ、ホストの Hyper-V Writer、ゲストの Hyper-V 統合コンポーネント (IC) に通達されます。

ゲストの中でも、Hyper-V 統合コンポーネントが VSS リクエスタとして動作し、ゲストの VSS、ゲストの VSS Writer、と処理が進み、右端に到達します。

これら全て完了後、ゲスト OS の内部が整合性のとれた状態となり、スナップショット (黄色い★) が作成されます。

続いて、処理結果はホスト側に返され、その時点での VHD ファイルのスナップショットがホスト上で作成されます。(紫の★の部分です。)

さて、問題となるのは、以下の図 2 で示した部分です。

図 2:

黄色い★のスナップショットが作られてから、ホスト OS 側に成功通知がいき、ホスト OS で紫の★のスナップショットが作られるまでに、若干の時間 (Δt) が空いてしまいます。

このΔtの時間、ゲスト OS では、VHD に対してファイルの書き込みが進行してしまう可能性があります。

ゲスト OS のデータが整合性が取れていると保証されるのは、黄色い★の時点であり、その後変更が加えられた紫の★の部分からバックアップしてしまうと、不整合な VHD のデータをバックアップしてしまうことになります。

この不一致を解消するため、Hyper-V Writer にて最後の一工夫となる、ポスト スナップショットの処理が実行されます!

具体的には、紫の★の VHD ファイルをマウントし、VSS の機能である "以前のバージョンに戻す" という処理を使って、VHD の中にある黄色いスナップショット (以前のバージョン) の状態にデータを復元しているのです。

つまり、紫の★の状態の VHD をマウントし、さらに黄色い★の状態のスナップショットの状態に戻し、その VHD からバックアップを取ることで、データの整合性を保証しています。

図 3:

さて、DPM の差分追跡の機能は、DPM エージェントがインストールされた OS のボリューム上のファイル変更の追跡です。

紫の★のみのバックアップでしたら、以前の VHD ファイルからどのように変わったのか、を追跡するだけで簡単に差分バックアップができます。

しかし、これではバックアップした情報をリストアしても、ファイル的に破損している可能性があります。

このように、Hyper-V の VHD のバックアップでの差分追跡が機能しない理由は、紫の★のスナップショットのデータではなく、このように、さらにその VHD の以前のバージョンに戻したものからバックアップするという一工夫が必要であるためです。
(※ちなみに、ポスト スナップショットの処理自体は一瞬、もしくは数秒で終わるので、実際のバックアップ処理の負荷になることは通常ありません。)

このバックアップの長期化については、DPM をご利用のお客様との対応にて、ご不便をおかけしているとお伺いしており、大変心苦しい思いでおります。

現在、このような技術的制約を解消していく、というのは DPM の開発においても最重要課題として、日々取り組んでおります。

最近リリースされました、SC 2012 DPM では、スタンドアロンの Hyper-V、つまりクラスタ化されていない Hyper-V ホストであれば、この制約無く、本当の差分バックアップが実現する事になりました。

スタンドアロンの Hyper-V バックアップにて、苦心されている方は、是非とも SC 2012 DPM をお試しいただければ幸いです。

また、今後の DPM の開発におきましては、クラスタ化された状態でも差分バックアップが取れるよう、試行錯誤が続けられていますので、ご期待下さい。

尚、現状、クラスタ環境の VM のバックアップについては、依然として時間がかかってしまいます。

ディスク自体のパフォーマンスに依存した話となりますので、記憶域ハードウェアの I/O 速度や、同時並列のバックアップ数がかさむ等の理由で、期待した時間内にバックアップが完了せず、バックアップの SLA を満たせないというユーザー様は、VM の中に DPM エージェントをインストールし、ゲスト レベル バックアップを行うといった形での差分バックアップをご検討ください。