Windows Server 2008 R2 の DFSR イベント ID 2213

この記事では、Windows 2008 または Windows 2012 でイベント ID 2213 をトリガーする問題について説明します。

適用対象: Windows Server 2008 R2 Service Pack 1
元の KB 番号: 2846759

概要

Microsoft では、修正プログラム 2663685を使用して、Windows Server 2008 R2 の DFS レプリケーション (DFSR) サービスに新しい機能を導入しました。 Windows Server 2008 R2 で修正プログラム 2663685以降のバージョンの Dfsrs.exe をインストールした後、DFSR サービスは、データベースでダーティシャットダウンが発生した後、拡張可能記憶域エンジン (ESE) データベースの自動復旧を実行しなくなります。 代わりに、新しい DFSR 動作がトリガーされると、イベント ID 2213 が DFSR ログに記録されます。 DFSR 管理者は、DFSR によってダーティシャットダウンが検出された後、レプリケーションを手動で再開する必要があります。

Windows Server 2012は、既定でこの動作を示します。

DFSR サービスは、レプリケートされたフォルダーをホストするボリューム上のボリュームごとに 1 つの ESE データベースを保持します。 DFSR はこのデータベースを使用して、レプリケートされたフォルダー内の各ファイルとフォルダーに関するメタデータを格納します。 サービスが引き続き正常に動作するように、データベースの整合性を維持する必要があります。

サービスをシャットダウンする必要があることを DFSR に通知すると、未処理のすべての変更が ESE データベースにコミットされます。 DFSR のダーティ シャットダウンは、DFSR サービスがシャットダウンされる前に、DFSR サービスが DSFR ESE データベースに保留中のすべての変更をコミットできない場合に発生します。 起動時に、DFSR サービスはデータベースの整合性をチェックします。

ダーティ シャットダウンの復旧によって大きなバックログが発生する可能性があり、これによりレプリケーションの競合が発生する可能性があります。 場合によっては、 修正プログラム2780453 の修正プログラムがリリースされる前に、勝ったファイルがエンド ユーザーが望むバージョンではない可能性があります。 ダーティシャットダウン中にレプリケーションを停止するための更新プログラムは、レプリケーションが再開される前に最後のバックアップが作成されてからデータをキャプチャするためのセーフガードとして意図されていました。

修正プログラム 2780453をインストールした後、ダーティシャットダウン中にレプリケーションを一時停止する必要がなくなりました。 修正プログラム 2780453からの修正プログラムは、すべての Windows 2012 既定のメディアに含まれています。

ベスト プラクティス

サーバーロール、OS、パッチ レベルに基づく自動回復のベスト プラクティス:

役割 Windows Server 2008 R2 KB 2780453がインストールされている Windows Server 2008 R2 Windows Server 2012
DC オン オン オン
クラスター ノード オン オン オン
書き込み可能な DFSR サーバー オフ オン オン
読み取り専用 DFSR サーバー オン オン オン

自動バックアップでレプリケーションの停止機能を無効にする

ダーティ データベースのシャットダウンが検出されたときに DFSR で自動回復を実行するには、修正プログラム 2780453が Windows Server 2008 R2 にインストールされた後で、次のレジストリ値を編集します。 この変更は、すべてのバージョンのWindows Server 2012にデプロイできます。 値が存在しない場合は、作成する必要があります。

  • キー: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DFSR\Parameters
  • 値: StopReplicationOnAutoRecovery
  • 型: Dword
  • データ: 0

イベント 2213 がログに記録された後にレプリケーションを再開する

イベント 2213 がログに記録された後、管理者はレプリケーションを再開するために WMIC コマンドを実行する必要があります。 コマンドの詳細は、イベント ID 2213 のテキストで提供されます。

手順 1: DFSR サーバーに記録されたイベント ID 2213 の回復手順

  1. ボリューム上のすべてのレプリケートされたフォルダー内のファイルをバックアップします。 これを行わないと、レプリケートされたフォルダーの復旧中に予期しない競合解決からデータが失われる可能性があります。

  2. このボリュームのレプリケーションを再開するには、 クラスの ResumeReplication WMI メソッドを DfsrVolumeConfig 使用します。 たとえば、管理者特権のコマンド プロンプトから、次のコマンドを実行します。

wmic /namespace:\\root\microsoftdfs path dfsrVolumeConfig where volumeGuid="E18D8280-2379-11E2-A5A0-806E6F6E6963" call ResumeReplication

手順 2: イベント ID 2213 回復手順の手順 2 から WMIC コマンドをコピーし、管理者特権のコマンド プロンプトに貼り付けます

コマンドが正常に実行されると、次の結果が返されます。

wmic /namespace:\\root\microsoftdfs pathdfsrVolumeConfig where volumeGuid="F1CF316E-6A40-11E2-A826-00155D41C919" call ResumeReplication

Executing(file://ww2008r2dc1/root/microsoftdfs:DfsrVolumeConfig.VolumeGuid=%22F1CF316E-6A40-11E2-A826-00155D41C919%22)-%3EResumeReplication()">\WW2008R2DC1\root\microsoftdfs:DfsrVolumeConfig.VolumeGuid="F1CF316E-6A40-11E2-A826-00155D41C919")->ResumeReplication()
メソッドの実行が成功しました。Out Parameters:instance of __PARAMETERS{ ReturnValue = 0;};

PowerShell ユーザーの場合は、次のように WMIC コマンドに単一引用符を追加して PowerShell から実行する必要があります。

wmic /namespace:\\root\microsoftdfs pathdfsrVolumeConfig where 'volumeGuid="F1CF316E-6A40-11E2-A826-00155D41C919"' call ResumeReplication

手順 3: イベント ID 2212 と 2214 がログに記録されているかどうかを確認する

レプリケーション再開コマンドを実行したサーバーにイベント ID 2212 と 2214 が記録されているかどうかを確認します。 ダーティシャットダウン後にレプリケートされたフォルダーを再初期化する (または初期同期を実行する) 必要がある場合は、回復に関する追加の注意が必要です。次の手順に従います。

  1. レプリケートされたフォルダーを無効にします。
  2. DFSR サーバー セクションでログに記録されたイベント ID 2213 の前の回復手順の手順を使用して、レプリケーションを有効にします。
  3. レプリケートされたフォルダーを有効にします。

WMIC コマンドを実行する前にレプリケートされたフォルダーを無効にして有効にした場合、ボリューム マネージャーがオフラインであるため、初期同期は行われません。

ダーティシャットダウンの可能性を減らす手順

Windows では、サービスがシャットダウン通知を受信した後、30 秒でシャットダウンします。 30 秒後、Service Control Manager はサービスを強制的にシャットダウンします。 DFSR サービスが関係する場合、ビジー 状態のハブ サーバーは、未処理の変更をデータベースにコミットするために 30 秒以上必要になる場合があります。 DFSR サービスが、Service Control Manager によって割り当てられた 30 秒間にすべての変更をコミットしない場合、サービスは強制的に閉じられ、ダーティシャットダウン回復がトリガーされます。

停電やその他の DFSR サーバーのハード 再起動によって、ダーティシャットダウンの回復がトリガーされる場合もあります。 ダーティシャットダウンの可能性を減らすために、DFSR サーバーが正常にシャットダウンできるように、DFSR サーバーが無停電電源装置 (UPS) に接続されていることを確認します。

サービスのシャットダウン時間を延長する

シャットダウンに 30 秒以上を要する DFSR サーバーでは、 WaitToKillServiceTimeout 値を使用して、すべてのサービスのシャットダウンが許可されている期間を延長できます。

シャットダウンに時間が必要な DSFR サーバーでは、通常、ほとんどのサーバーの再起動またはサービスの再起動時にイベント 2212 と 2214 がログに記録されます。 または、ダーティシャットダウンからの自動回復が有効になっている場合、DFSR サービスのサーバーの再起動または再起動ごとにイベント 2213 がログに記録されます。

  • パス: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  • 値: WaitToKillServiceTimeout
  • 型:String
  • データ: 300000

この値はミリ秒単位です。 この例では、シャットダウン時間が 5 分表示されます。 値は、必要に応じて増減できます。 この値は、DFSR だけでなく、すべてのサービスに影響します。 この値は、DFSR がクリーンにシャットダウンするのに十分な時間を与える最小値に設定することをお勧めします。 DFSR サービスをシャットダウンする必要がある期間を判断するには、次のプロセスを使用します。

  1. 300000 ミリ秒 (5 分) の設定で WaitToKillServiceTimeout レジストリ値を追加します。 サーバーを再起動して設定を有効にします。

    重要

    次の「WaitToKillServiceTimeOut に関する注意事項」セクションの「2549760のインストールに関するメモ」を参照してください。

  2. DFSR イベント 1006 (DFSR が停止中) と 1008 (DFSR が停止) について、サーバーの次のいくつかの再起動を監視します。 イベント 1006 から 1008 までの経過時間に注意してください。

  3. WaitToKillServiceTimeout 値を変更して、DSFR がクリーン シャットダウンする必要がある実際の時間をより正確に反映するように、シャットダウンに許可される時間を調整します。

WaitToKillServiceTimeOut に関する注意事項

  • サーバーを再起動するか、DFSR を複数回連続して再起動すると、DFSR をシャットダウンする必要がある時間の適切なサンプルは提供されません。 保留中のデータベース トランザクションを累積するには、サービスの実行時間をしばらく許可する必要があります。

  • WaitToKillServiceTimeout 設定の最大値は 1 時間です。 設定が 1 時間を超える場合、SCM はサービスのシャットダウンの既定の設定である 30 秒に戻ります。

  • WaitToKillServiceTimeout 設定が関係する場所で SCM が正しく動作することを確認するには、修正プログラム 2549760 が Windows Server 2008 R2 にインストールされていることを確認します。