レプリカボリュームが "シャドウ コピー防止のため" オフラインとなる事象について

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

 

Data Protection Manager (DPM) サーバーにおいて、volsnap: 87 もしくは、volsnap: 93 などのエラーが発生し、"レプリカ ボリューム" がオフラインとなったというイベントが記録されることがあります。また、この事象が発生すると、直後に "トランザクション ログへのデータのフラッシュに失敗しました。" というメッセージとともに、NTFS: 140 のエラーが発生することがあります。

 

このエラーは、バックアップ ジョブの実行中にレプリカ (バックアップ データ) の変更履歴を保存している "回復ポイント ボリューム" の容量が不足してしまったために、DPM がバックアップを継続することができず、これまでのレプリカの変更履歴を守るために強制的にレプリカ ボリュームをオフラインとすることに起因します。

なお、オフラインとされたレプリカ ボリュームは、その後、すぐに DPM により自動的にオンラインに戻されますが、このオフライン動作の際に、その時点で実行されていたバックアップ ジョブは失敗し、転送されてきたデータはレプリカに反映されないまま失われます。

そのため、回復ポイント ボリュームを拡張して空き領域を確保した後、整合性チェックを実行してバックアップをやり直す必要があります。

 

このような事象が発生した場合には、DPM の管理者コンソールで空き容量が不足している回復ポイントボリュームが無いかどうかを確認してください。DPM の "自動拡張" の機能が有効となっている場合には DPM が既に空き容量を追加している場合がございますが、念のため、十分な空き容量が確保されているかご確認下さい。確認の結果、なおも空き容量が不足していた場合には、回復ポイントボリュームを拡張して下さい。

 

なお、この事象が発生したことによりバックアップに失敗した保護メンバーが無いかどうかを確認することにより、拡張が必要な回復ポイント ボリュームを見つけることができます。回復ポイントボリュームの拡張方法は以下の通りです。

 

 

- 回復ポイント ボリュームの拡張方法について

------------------------------- 

1. DPM の管理者コンソールを開きます
2. 対象となる保護グループを展開し、バックアップに失敗した保護メンバーをクリックします。
※ バックアップが失敗し続けている場合には [状態] が "NG" となっています。
3. 下部の [詳細] の画面より、[ディスクの割り当て] の項目を確認し、回復ポイントボリュームの "割り当て済み" の容量と "使用" の容量から、空き容量が十分にあるかどうか確認します。
4. 空き容量が不足している場合には、上部画面に戻り、保護メンバーを右クリックして [ディスク割り当ての変更] を選択します。
5. [ディスクの割り当ての変更] 画面から、回復ポイントボリューム配下の欄にて割り当てる容量を入力し、[OK] をクリックします。
※ 追加する容量ではなく、追加後の合計容量を入力してください。保護を実施する為に十分な容量を追加して下さい。
6. 整合性チェックを実行し、バックアップを復旧して下さい。

 

なお、上記の事象の詳細につきましては、以下の補足の内容をご確認下さい。

 

 

- 補足

 

a. volsnap のエラーについて

-------------------------------

上記の volsnap のエラーは "回復ポイント ボリューム" (※) への書き込みが失敗した為に、OS の Volume ShadowCopy サービス (VSS) がレプリカ ボリューム (※) をオフラインとしたことを意味するイベントです。(volsnap は VSS のドライバーです)。

この動作は DPM ではなく、OS のサービスである VSS により行われますが、このエラーは DPM が "レプリカ ボリューム" を VSS の "ShadowCopy Protection モード" (※)と呼ばれる特殊なモードを使用するよう設定することに起因しています。このモードが使用されるよう構成されておりますと、レプリカ ボリュームから回復ポイント ボリュームへの連携ができない状況下でレプリカ ボリュームに対する何らかのアクセスが発生致しますと、VSS サービスは OS からレプリカ ボリュームを切り離してオフラインとし、当該のエラーが発生致します。

 

これらの 回復ポイント ボリューム、レプリカ ボリューム、ShadowCopy Protection モードの詳細につきましては、以下の内容をご参照ください。

 

 

b. 回復ポイント ボリュームとレプリカ ボリュームについて

-------------------------------

DPM はバックアップデータ ("レプリカ" と呼ばれます) をレプリカ ボリュームと呼ばれる領域に保管します。また、レプリカの変更履歴を回復ポイント ボリュームと呼ばれる領域に保存しています。

 

回復ポイント ボリュームはレプリカ ボリュームのシャドウコピーの記憶域として構成されており、レプリカボリューム内のレプリカの変更履歴を回復ポイントボリュームに移動して保管する動作は VSS の機能を利用して実装されています。

OS 既定では、シャドウコピーの記憶域は VSS が有効にされているボリュームと同じボリューム内に確保されますが、DPM の場合には、専用のボリュームを用意してシャドウコピーの記憶域に割り当てています。

 

DPM はこのレプリカ ボリュームと回復ポイント ボリュームを 1 つの保護対象ごとに 1 セットずつ用意しています。

 

 

c. DPM のバックアップ動作について

-------------------------------

DPM はバックアップの際に、DPM サーバーに保護対象のデータを転送し、レプリカにそのデータを上書きします。その結果、同期が終了した時点でレプリカと保護対象のデータは同一となりますので、レプリカは保護対象のバックアップ データとして機能します。

 

しかしながら、そのまま上書きされてしまいますと、過去のバックアップ データが消去されて失われてしまう為、過去の任意の時点にリストアするという機能を実現することができません。そのため DPM は VSS の Copy On Write という機能を利用して、上書きされる直前にシャドウコピーの記憶域 (つまり、回復ポイント ボリューム) に上書き対象のデータを退避し、回復ポイントのデータとして保管します。

その結果、現時点での保護対象のコピーであるレプリカを起点とし、レプリカの変更を時系列に対して遡る履歴データ(つまり、回復ポイントの差分形式での履歴データ)が作成され、レプリカを起点に、この履歴データを遡って利用することで、DPM は保護対象の任意の回復ポイントのデータをリストアすることが可能となります。

 

 

d. ShadowCopy Protection モードについて

-------------------------------

DPM サーバーに限らず、通常の Windows Server のボリュームでも VSS の過去の履歴を保存する機能を利用することができます。ただし、通常は VSS はシャドウコピーの記憶域が一杯となり書き込めなくなりますと、シャドウコピーの記憶域のデータ (回復ポイント) を削除して記憶域を解放する動作を行います。その結果、過去の回復ポイントが失われます。

 

そのため、DPM ではこのような動作が行われないように、VSS の ShadowCopy Protection モードと呼ばれる特殊なモードを使用するようにレプリカ ボリュームを設定いたします。このモードでボリュームを構成いたしますと、シャドウコピーの記憶域 (回復ポイント ボリューム) に書き込みができない場合には、VSS は回復ポイントを削除するのではなく、レプリカ ボリュームをオフラインとして、レプリカへの書き込みを中断させます。

 

その結果、過去の回復ポイントのデータは保護されますが、その代りとして、上記の volsnap や NTFS のエラーが発生し、また、実行中のバックアップが失敗します。その後、DPM はレプリカ ボリュームを自動的にオンラインに戻しますが、この事象が再発することを防ぐためには、次回のバックアップまでに回復ポイント ボリュームを拡張し、空き領域を確保することが必要となります。

なお、DPM の "自動拡張" の機能が有効にされている環境では、このエラーが発生した直後に DPM が既に空き容量を追加している場合がありますが、念のため、十分な空き容量が確保されていることをご確認下さい。