DPM による Hyper-V VM バックアップにおける同時バックアップ数について

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

今回は、DPM 2010 や DPM 2007 SP1 から Hyper-V の VM のバックアップを行う場合の、1 Hyper-V ホストからの同時バックアップ数についてお知らせいたします。

単なる DPM の動作の話にとどまらず、Hyper-V のバックアップ設計にも重要な項目ですので、ご一読いただけますと幸いです。

結論から申し上げますと、DPM 2007 は既定で 1 Hyper-V ホストあたり同時に 8 VM まで、DPM 2010 は 3 VM までバックアップを行うことが可能となっています。(※ DPM 2010 で 3 台まで、と縮小されたのは、一般的なバックアップ パフォーマンスを考慮した上での推奨値であるためです。)

例えば、DPM 2007 SP1 であれば、1 ホスト上の 12 台の VM を、同じ保護グループにてバックアップした場合、最初の 8 台のバックアップが始まり、残りの 4 台については、最初の 8 台のどれかのバックアップが完了した後に開始される、という動作になります。DPM 2010 では、最初の 3 台のバックアップが始まり、1 台終われば次の 1 台、と進んでいきます。

この同時バックアップ台数ですが、DPM サーバーの以下のレジストリ キーで設定可能です。(DPM 2007 SP1 では既定では存在しませんので、キーを作成します。DPM 2010 では、既定で存在し、3 の値が入っています。)

パス : “HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Data Protection Manager\2.0\Configuration\MaxAllowedParallelBackups”

名前 : “Microsoft Hyper-V”

種類: “REG_DWORD” (DWORD (32 ビット) 値)

: 8 以下の数字

以下は DPM 2010 の弊社検証環境の既定の設定を抜粋したものです。

上記レジストリ設定後には、設定反映のため、DPM サーバーのシステム再起動が必要です。

参考情報: Prerequisites and Known Issues with Hyper-V Protection

https://technet.microsoft.com/en-us/library/dd347840.aspx

- 本動作を踏まえた設計について

ここからは、上記動作を踏まえた注意事項です。

以前のポスト (DPM 2007 SP1 の Hyper-V バックアップの仕組み) にてお知らせしたとおり、Hyper-V の VM のバックアップは他のアプリケーションのバックアップと違って、I/O 負荷が大きい処理になります。

参考情報: DPM 2007 SP1 の Hyper-V バックアップの仕組み

https://blogs.technet.com/b/askcorejp/archive/2009/08/11/dpm-2007-sp1-hyper-v.aspx

(本記事は DPM 2007 SP1 向けに書かれていますが、基本的な動作は DPM 2010 でも同様です。)

VM のバックアップ時の負荷について要約するならば、”高速完全バックアップごとに、DPM サーバー側においてレプリカの VHD ファイルを一度全て読み出してくる必要がある” という点に尽きます。(通常のファイルやアプリケーションの “整合性チェック” の負荷と似たようなものとなります。通常のファイルやアプリケーションの高速完全バックアップであれば、DPM サーバー上では変更差分のみを “書き込む” だけで済み、一度ファイルを全部読み出すという処理はしません。)

1 の Hyper-V ホストから、上記のレジストリで設定した数のバックアップが行われる、ということですが、環境によっては複数台の Hyper-V ホストから同時にバックアップを行うことも少なくありませんので、その場合には “同時バックアップ数 x Hyper-V ホスト” 分のバックアップを行う必要があります。

この場合、DPM サーバー上では、同時にバックアップしている全ての VHD を記憶域プールからいっせいに読み込みを行うので、ディスク負荷が非常に大きくなり、ボトルネックとなります。

その結果として、場合によってはほとんどバックアップが進まなくなってしまうケースがございます。(バックアップが遅くなるだけならまだしも、負荷のため VSS 関連のエラーが起きてバックアップに失敗しまったり、DPM エージェントがハングアップして通信エラーとなってしまうという事象も報告されております。)

従って、Hyper-V のバックアップが遅い、という現象が起きてしまった場合で、複数ホストから同時にバックアップを取得している環境であれば、上記レジストリ キーを 2 ~ 3 等の小さい値に設定して、シーケンシャルにバックアップを行うように変更することで、改善するかお試し下さい。

補足:

本レジストリは、Hyper-V の CSV (クラスタ共有ボリューム) 環境のバックアップを行う際にも関連します。

DPM 2010 にて Hyper-V の CSV 環境をバックアップしている環境で VSS ハードウェア プロバイダを使っていない方は、本キーを 1 に設定することで、VM のバックアップをシリアル化する必要がある場合がございます。こちらについての詳細は以下参考情報をご覧下さい。

参考情報: Considerations for Backing Up Virtual Machines on CSV with the System VSS Provider

https://technet.microsoft.com/en-us/library/ff634192.aspx