[DPM] SharePoint のバックアップ時に I/O が長期間凍結される
こんにちは、System Center サポート チームの濱中です。
本日は、System Center Data Protection Manager (DPM) を使用して SharePoint ファームをバックアップするタイミングで I/O が長期間凍結されるという事象に対する修正プログラムをご案内します。この事象は DPM の全てのバージョン、さらには DPM 以外のバックアップ アプリケーションを使用されている環境でも発生する恐れがあります。
この事象が発生した場合には、バックアップ中の SQL Server データベース (以下 DB) の I/O が凍結されます。そのため、事象が発生した DB がコンテンツ DB であった場合には、I/O が凍結されている間、 SharePoint のサイトにアクセスできなくなる可能性があります。なお、バックアップ自体は成功する場合と失敗する場合があります。
- VSS の凍結処理について
DPM は OS のボリューム シャドウコピー サービス (VSS) という仕組みを利用してバックアップを実行しています。VSS の仕組みでは、バックアップ開始の際に VSS リクエスターが VSS に対してスナップショットと呼ばれる静止点の作成を要求します。この VSS リクエスターはバックアップ アプリケーションに該当します。(今回の場合には DPM となります。)
スナップショット作成のリクエストを受けて VSS は関連する全アプリケーションの VSS Writer に対して静止点作成の準備を要求します。VSS Writer は VSS に対応するアプリケーションがそれぞれ実装するコンポーネントです。リクエストを受けると、各 VSS writer は凍結 (Freeze) 処理と呼ばれる、実行中の処理の終了と I/O の一時停止処理を行います。
この凍結処理は、通常、数分程度の短時間で終了して、VSS はスナップショットを作成します。その後、解凍 (Thaw) 処理が行われて、一時的に凍結された各アプリケーションは活動を再開します。また、バックアップ アプリケーションは VSS から提供されたスナップショットに対してバックアップ処理を開始します。
- ご紹介する事例とその修正プログラムについて
今回ご紹介する現象は SharePoint ファームのバックアップを実行するタイミングで、ファーム内の DB のスナップショットを作成する為、SQL Writer が凍結処理を実行したところ、デッドロックが発生してしまうというものです。SQL Writer は SQL Server の VSS ライターです。万一、この DB がコンテンツ DB であった場合には、ユーザーは I/O の凍結期間中 SharePoint ファームにアクセスできなくなります。通常は数分間で終了する凍結処理が、数十分にわたり継続した例も報告されています。
このような事象が発生した場合には、ファームに属しているサーバーにおいて以下の修正プログラムを適用してください。この修正プログラムは OS (VSS) の動作を修正することで、デッドロックの発生を予防します。
公開情報: Deadlock makes server farm sites unavailable when a backup job fails
https://support.microsoft.com/kb/2964441/en (英語版)
https://support.microsoft.com/kb/2964441/ja (機械翻訳版)
なお、この修正プログラムを適用した後は、サーバーの再起動が必要となりますのでご注意ください。