読者です 読者をやめる 読者になる 読者になる

ActiveDirectoryのSYSVOLのレプリケーションプロトコルをDFSRへ移行した

ActiveDirectory Server

ActiveDirectoryのSYSVOLのレプリケーションプロトコルをDFSRへ移行した時のメモです。

SYSVOLについては以下が参考になります。

   
なお、作業は以下を参考に行います。

 

環境

移行前
  • Windows Server 2008R2
  • ドメイン機能レベルは2003
  • ActiveDiretory環境
  • ドメインコントローラは2台
    • 両方ともDFSRはセットアップしていない
    • 以下、プライマリドメインコントローラをPDC、セカンダリドメインコントローラをSDCと表記

 

移行後
  • Windows Server 2008R2
  • ドメイン機能レベルは2008
  • ActiveDiretory環境
  • ドメインコントローラは2台
    • PDCにDFSRをセットアップ

 

流れ

FRS から DFSR への移行 (SYSVOL) | Ask the Network & AD Support Teamにある、4) DFSR に安全に移行する為の手順に従って実施します。

 

PDCにて、現状の確認

SYSVOLのレプリケーションプロトコルとしてFRS・DFSRのどちらを使っているかは、Adsiedit.mscを実行し、スナップインから詳細を確認します。
Adsiedit: Active Directory

その結果、

  • CN=DFSR-GlobalSettings が存在しない
  • CN=File Replication Services は存在した

だったため、

ということが分かりました。

 

PDCにて、ドメインの機能レベルを2008以上に上げる

サーバーマネージャー > 役割 > Active Directory ドメイン サービス > Active Directory ユーザーとコンピューター > [対象ドメイン] で右クリック、ドメインの機能レベルの昇格を選択し、ドメインの機能レベルを2008以上にします。

 

PDCにて、ファイルサービスの役割サービスを追加

サーバーマネージャー > 役割 > ファイルサービス で右クリック、役割サービスの追加を選択します。

役割サービスの選択画面で、DFS 名前空間を選択し、追加します。

その後、Adsiedit.mscにて状態を確認すると、CN=DFSR-GlobalSettingsにデータが存在するようになりました。

 

移行作業
dfsrmig.exe /CreateGlobalObjects を実行
>dfsrmig.exe /CreateGlobalObjects

DFSR の現在のグローバル状態: '開始'
成功しました。

 
実行結果を確認します。

# 確認1
>dfsrmig.exe /GetGlobalState

DFSR の現在のグローバル状態: '開始'
成功しました。

# 確認2
>dfsrmig.exe /GetMigrationState

すべてのドメイン コントローラーがグローバル状態 ('開始') に移行しました。
移行状態が、すべてのドメイン コントローラー上で整合性のとれた状態になりました。
成功しました。

確認3:AD データベースの状態については、

  • ADSIエディターのルート(既存の名前付けコンテキスト)を右クリックし、最新の情報に更新
  • CN=Systemの下に、CN=DFSR-GlobalSettingsができている

と、確認が取れました。

 

dfsrmig.exe /SetGlobalState 1 を実行
>dfsrmig /SetGlobalState 1

DFSR の現在のグローバル状態: '開始'
新しい DFSR のグローバル状態: '準備完了'

'準備完了' 状態に移行します。DFSR サービスによってSYSVOL が SYSVOL_DFSR フォルダーにコピーされます。

いずれかの DC で移行を開始できない場合は、手動ポーリングを試行してください。
または、/CreateGlobalObjects オプションを指定して実行してください。
移行は 15 分から 1 時間までの任意の時点で開始できます。
成功しました。

 
実行結果を確認します。

# 確認1
>dfsrmig.exe /GetGlobalState

DFSR の現在のグローバル状態: '準備完了'
成功しました。

# 確認2
>dfsrmig.exe /GetMigrationState

次のドメイン コントローラーは、グローバル状態 ('準備完了') と同期していません:

ドメイン コントローラー (ローカル移行状態) - DC の種類
===================================================

Other_DC ('初期同期の待機中') - Writable DC

移行状態が、すべてのドメイン コントローラー上で整合性のとれた状態にまだなっていません。
AD の待ち時間が原因で状態の情報が最新になっていない可能性があります。

確認2が未完了でした。

そのため、イベントビューア > アプリケーションとサービスログ > DFS Replicationのログ にて、ID 80108014が出力されるのを待ったところ、

  • PDCでは、約5秒で完了
  • SDCでは、約5分ほどで完了

でした。

 
なお、ID 8014の出力後に、コマンドプロンプトにて確認したところ、

>dfsrmig.exe /GetMigrationState

すべてのドメイン コントローラーがグローバル状態 ('準備完了') に移行しました。
移行状態が、すべてのドメイン コントローラー上で整合性のとれた状態になりました。
成功しました。

完了していました。

 
また、PDCでは、

  • CN=System > CN=DFSR-GlobalSettings > CN=Domain System Volume > CN=Topologyの中に、各ドメインコントローラが存在
  • C:\Windows\SYSVOL_DFSRディレクトリが、プライマリドメインコントローラに存在

の確認も取れました。

 

dfsrmig.exe /SetGlobalState 2 を実行

ダウンタイムが発生するそうなので、使用中のユーザが少ない時間帯などに実行します。
リダイレクト済み状態への移行 - TechNet

>dfsrmig.exe /SetGlobalState 2

DFSR の現在のグローバル状態: '準備完了'
新しい DFSR のグローバル状態: 'リダイレクト済み'

'リダイレクト済み' 状態に移行します。SYSVOL 共有が、DFSR を使用してレプリケートされた SYSVOL_DFSRフォルダーに変更されます。

成功しました。

 
PDCにて結果を確認します。

>dfsrmig.exe /GetGlobalState

DFSR の現在のグローバル状態: 'リダイレクト済み'
成功しました。

グローバル状態は成功しているようです。

一方、

>dfsrmig.exe /GetMigrationState

次のドメイン コントローラーは、グローバル状態 ('リダイレクト済み') と同期していません:

ドメイン コントローラー (ローカル移行状態) - DC の種類
===================================================

<PDC名> ('準備完了') - Primary DC
<SDC名> ('準備完了') - Writable DC

移行状態が、すべてのドメイン コントローラー上で整合性のとれた状態にまだなっていません。
AD の待ち時間が原因で状態の情報が最新になっていない可能性があります。

他のDCへはまだ伝わっていないようです。

伝わるまでの時間を手元で計測したところ、イベントログにはID 80158017が1秒程度で出ていました。一方、dfsrmig.exe /GetMigrationStateにて

>dfsrmig.exe /GetMigrationState

すべてのドメイン コントローラーがグローバル状態 ('リダイレクト済み') に移行しました。
移行状態が、すべてのドメイン コントローラー上で整合性のとれた状態になりました。
成功しました。

と表示されるまでには、5分程度待ちました。

 
あとは、dfsrmig.exe /SetGlobalState 3を実行し、削除済にすれば完了です。

 

所要時間

参考程度となりますが、手元では

  • dfsrmig /SetGlobalState 1 は約5分
  • dfsrmig.exe /SetGlobalState 2 も約5分

でした。

ただ、dfsrmig.exe /SetGlobalState 2実行時に発生するダウンタイムについては、いつ発生していたのかは分かりませんでした。

 

その他参考