Windows Server 2008 で DFSR サービスを再起動した後、DFSR イベント ID 2212 を受け取ります

この記事では、DFS レプリケーション イベント 2212 を受け取り、Windows Server 2008 を再起動した後に DFSR が停止する問題について説明します。 しばらくすると、イベント 2214 が DFS レプリケーション ログに記録されます。

適用対象: Windows Server 2012 R2
元の KB 番号: 977518

現象

Windows Server 2008 を実行しているサーバーで分散ファイル システム レプリケーション (DFSR) サービスを再起動するか、サーバーを再起動すると、DFS レプリケーション ログに次のイベントが記録されることがあります。

ログ名: DFS レプリケーション

ソース: DFSR

イベント ID: 2212

タスク カテゴリ: なし

レベル: 警告

キーワード: クラシック

ユーザー: N/A

コンピューター: MyDfsrMember.contoso.com

説明:

DFS レプリケーション サービスが、ボリューム Drive_Letterで予期しないシャットダウンを検出しました。 これは、サービスが異常終了した場合 (電源喪失など)、またはボリュームでエラーが発生した場合に発生する可能性があります。 サービスによって復旧プロセスが自動的に開始されました。 確実に復旧できないと判断された場合、サービスはデータベースを再構築します。 ユーザーの操作は必要ありません。

しばらくすると、DFSR はイベント ID 2214 をログに記録します。 このイベントは、データベース復旧プロセスが完了したことを示します。 データベースの復旧中に、レプリケーションのパフォーマンスが低下します。

原因

この問題は、Service Control Manager (SCM) でサービスを停止するために既定のタイムアウト値 20 秒が使用されるために発生します。 一部の複雑な DFSR 実装では、このタイムアウト値が短すぎる可能性があり、適切なデータベースが閉じられる前に DFSR が停止します。 サービスの再起動時に、DFSR はこの状態を検出し、データベースの復旧を実行します。

解決方法

この問題を解決するには、次のレジストリ値を追加することで、SCM で使用される既定のタイムアウト値を変更できます。

値名 WaitToKillServiceTimeout

データ型のREG_SZ

文字列 20000 ミリ秒 (既定値)

待機時間を指定するには、次の手順に従います。

  1. [ スタート] をクリックし、[ 実行] をクリックし、「」と入力 regeditし、[OK] をクリック します

  2. レジストリで次のキーを見つけてクリックします。 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

  3. [ 編集 ] メニューの [ 新規] をポイントし、[ 文字列値] をクリックします。

  4. 「WaitToKillServiceTimeout」と入力し、Enter キーを押します。

  5. [編集] メニューの [変更] をクリックします。

  6. 「60000」と入力し、[ OK] をクリックします。

  7. レジストリ エディターを終了します。

  8. サーバーを再起動します。

時間間隔が 60 秒以外の場合は、WaitToKillServiceTimeout レジストリ値の値を、DFSR イベント ログ内の次の 2 つのイベント間の時間の差 (ミリ秒単位) に設定できます。

  • 1006 - DFS レプリケーション サービスが停止しています。

  • 1008 - DFS レプリケーション サービスが停止しました。

WaitToKillServiceTimeout レジストリ値の適切なパフォーマンスを確保するには、必ず KB 2549760をインストールしてください

2549760 WaitToKillServiceTimeout レジストリ値が Windows 7 または Windows Server 2008 R2 で機能しない