2013年6月22日土曜日

DFS-Rのトラブルシューティング 警告、イベントID 2213、イベントソース DFSRに注意してください!

DFS-Rのトラブルシューティングを行う機会を得ましたので、簡単にまとめておきます。
環境としてはドメインコントローラーが複数台あります(エラー発生時は2台でした)。
新しくグループポリシーを作成したのですが、うまく適用されません。
まずドメインコントローラーのSYSVOLを確認します。
一号機は、"%systemroot%sysvol\sysvol\ドメイン名"フォルダ配下にPoliciesとscriptsフォルダがあります。
(イメージ的にはこんな感じです↓)
windowssysvol

ところが2号機は、"%systemroot%sysvol\sysvol\ドメイン名"フォルダ配下が全くの空っぽでした。
またグループポリシーが読み取れないエラーがイベントログに出ていました。
GPO_apply_error

以上のことから、レプリケーションが失敗していると判断しました。
そこでドメインコントローラーでイベントビューアーを開いて、何か検出されていないかを確認します。
[アプリケーションとサービスログ]→[DFS Replication]で、警告としてイベントID 2213、イベントソースDFSRが検出されていました。
dfs-r_warn_2213
このメッセージを読むとレプリケーションが停止しているとあります。。。

そして正常なシャットダウンが行われていないとの警告(イベントID 2212、イベントソースDFSR)も発見しました。
dfs-r_warn_2212

これらのドメインコントローラーはVMとして稼働しています。
ホストOSのシャットダウン時には、ドメインコントローラーのVMもシャットダウンするように設定しているのですが、何でこんなことに?!

取り急ぎ、レプリケーションを再開すべくイベントID 2213に書かれていたwmicコマンドを実行します。
wmic_dfsr01

これでめでたくレプリケーション再開かなと安心しながら、イベントビューアーを確認しました。

ところが今度は、エラーとしてイベントID 4012、イベントソース DFSRが検出されました。。。
dfs-r_error_4012
これを見ると"レプリケーションとして共用できるオフラインの期間"を超えてしまっており、レプリケーションできないとのこと。。。
ということでMaxOfflineTimeInDaysを長くして、レプリケーションを再開させるしかなさそうです。

MaxOfflineTimeInDaysで検索したところ、いくつかの情報が出てきました。
UNable to replicate between domain controllers in Windows 2012 server
http://social.msdn.microsoft.com/Forums/ja-JP/WAVirtualMachinesforWindows/thread/91e0b351-78d0-417c-a713-feb9fec6f0a2

Implementing Content Freshness protection in DFSR
http://blogs.technet.com/b/askds/archive/2009/11/18/implementing-content-freshness-protection-in-dfsr.aspx

Technical Stuff ? SYSVol DFS Replication Annoyances
http://howdoicomputer.com/2013/02/technical-stuffsysvol-dfs-replication-annoyances/


まずは
Implementing Content Freshness protection in DFSR
http://blogs.technet.com/b/askds/archive/2009/11/18/implementing-content-freshness-protection-in-dfsr.aspx

に書かれている
Being “unable to replicate” can mean any one of these scenarios:
•Disabling the replication connections.
•Deleting the replication connections (either one-way or in both directions).
•Stopping the DFSR service.
•Closing the schedule (i.e. setting “no replication”)
•Keeping the server shut off.

が可能か、DFSの管理コンソールだけ入れてみました。しかし、特殊なレプリケーション(昇格時に構成されるドメインコントローラー間のレプリケーション)のため、レプリケーショングループからサーバーを削除できるようにはなっていません↓
(後日、画像を取得したため3台目のドメインコントローラーが追加済みです)
dfsmng_sysvol.png

ということで、以下のコマンドを実行することにしました。
wmic.exe /namespace:\\root\microsoftdfs path DfsrMachineConfig set MaxOfflineTimeInDays=90
MaxOfflineTimeInDaysは90日まで許容するということです。

DFSRのサービスを停止してから、wmicコマンドを実行してみたところ、失敗。
wmic_dfsr02

DFSRのサービスを起動後に、あらためてwmicコマンドを実行してみたところようやく成功。。。
wmic_dfsr03

DFS-Rのサービスが起動した状態(インスタンスがある状態)じゃないと設定変更コマンドが有効にならないようですね。
これでようやくグループポリシー(とスクリプト)が複製されるようになりました。
本件、ユーザーなどのActive Directoryオブジェクトの複製は問題なく、グループポリシー(とスクリプト)が複製されていなかったため、発見が遅れることとなりました。
皆様もお気を付けください。

0 件のコメント:

コメントを投稿