[Active Directory][Windows] FRSベースのSYSVOL同期方式をDFS-R方式に変更

オンプレミス-クラウド-技術のお話し

Windows Server 2019を既存ドメインコントローラに昇格すると・・

我が家の環境ですが、実はWindows 2000 Serverから順次バージョンアップしながら動いてきました。そんな中、勢い余って先日Azure VM B2s Reserved Instanceを購入してしまいまして、2vCPU・4GB RAMを搭載したWindows Server 2019なVMを爆誕させました。

やっぱりそれに与えたい役割としてはActive Directoryでして・・・で、3台目のドメインコントローラとして追加しようとしたとき、見事にトラブりました。どうやら「レプリカの検証に失敗した」とのこと。

まだ生きていたFRS

どうやら、Windows2000時代から受け継いだ、「FRSによるファイル同期」が駄目らしく、私自身Windows Server 2008 R2にドメインレベルを引き上げた際、SYSVOLの同期方式はDFS-Rベースになったと思っていたのですが、未だFRSが主となって動いていたようです。

FRSと言うのは、File Replication Serviceの略でして、Windows 2000時代から存在しているファイル同期サービスです。余り大きなデータの同期は出来ず、同期単位もファイル単位だったかと思います。まずWindows Server 2003 R2にてDFS-Rと言う機能が登場し、この同期処理機能がWindows Server 2008からAD間のSYSVOLデータ同期で採用されることになりました。DFS-RはNTFS上のメタ状態を監視し、ブロック単位でのデータ同期を可能にするサービスです。

さて、どうやらまだWindows Server 2008 R2で構成されたADは現状まだFRSを使用しているようで、Windows Server 2019にはそもそもFRSが存在しません。つまりはDFS-R方式へ完全にSYSVOL同期を変える必要があるようです。このときのために、Windows Server 2008 R2では標準コマンドとしてdfsmigと言うコマンドをもってるようです。

dfsmigと言うコマンドを使用してSYSVOL同期方式を変更する

SYSVOL同期方式の状態チェック

コマンドプロンプトを開き、DFS-Rの状態を確認します。

C:\Users\Administrator.BLUECORE>dfsrmig /GetGlobalState

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

どうやらいずれのドメインコントローラも「開始」という状態になってるようです。

C:\Users\Administrator.BLUECORE>dfsrmig /GetMigrationState

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

この状態というのは、以下の通りになってるようです。
詳細は https://blogs.technet.microsoft.com/junichia/2008/01/24/windows-server-2008-sysvol-frs-dfsr-dfsrmig-exe-124/ あたりを参照するとよいでしょう

  • 開始
  • 準備完了
  • リダイレクト済み
  • 削除済み

SYSVOLフォルダ内には、グループポリシーを構成するファイルなどが格納されているわけですが、これらを実施するための下準備ができたのが「開始」であり、このデータが移行し切れた状態を「準備完了」、SYSVOLフォルダ参照主体をFRSからDFS-Rへ切り替えるのが「リダイレクト」であり、最後にFRSを停止する「削除済み」となっています。

リダイレクト状態への移行

以下のコマンドを使用して、一気にリダイレクト済み状態まで移動します。
どうやらすっ飛ばしても前段階の実施をしてくれるようです。

C:\Users\Administrator.BLUECORE>dfsrmig /SetGlobalState 2

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

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

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

成功しました。

同期完了してる状態だと、状態確認実施時はこんな表記になります。

C:\Users\Administrator.BLUECORE>dfsrmig /GetMigrationState

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

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

UME ('開始') - Primary DC
HITOYOSHI ('開始') - Writable DC

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

片方が準備完了するとこんな感じに。

C:\Users\Administrator.BLUECORE>dfsrmig /GetMigrationState

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

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

HITOYOSHI ('開始') - Writable DC

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

同期がとれるとこうなります。

C:\Users\Administrator.BLUECORE>dfsrmig /GetMigrationState

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

FRSの仕組みを廃止する

リダイレクト済み=移行完了となったところで、FRSを廃止する際は以下のようなコマンドを実行します。

C:\Users\Administrator.BLUECORE>dfsrmig /SetGlobalState 3

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

'削除済み' 状態に移行します。このステップを元に戻すことは
できません。

いずれかの RODC が長時間にわたって '削除済み' 状態になって
いる場合は、/DeleteRoNtfrsMembers オプションを指定して実行してください。
成功しました。

FRSが全てのドメインコントローラで停止すると以下のようになります。

C:\Users\Administrator.BLUECORE>dfsrmig /GetMigrationState

すべてのドメイン コントローラーがグローバル状態 ('削除済み') に移行しました。
移行状態が、すべてのドメイン コントローラー上で整合性のとれた状態になりました。
成功しました。
C:\Users\Administrator.BLUECORE>

DFS-R上にSYSVOLフォルダの構成が見えるかどうか

ここまで来ると、Windows Server 2019側でもドメインコントローラの昇格を継続することが出来るようになります。そして、以下の画面のように、ドメインコントローラ間で専用のDFS-R Groupが構成されることが確認できます。

こうして、Windows Server 2019をドメインコントローラへ含むことが可能になりました。

SYSVOL用DFS-Rが構成されたことの確認

ドメインコントローラの様々な処理方式は、ドメインやフォレストの機能レベルで定められています。同期する際に圧縮が必要か、なんの機能を有効にするかなど。しかしこういう所は手動のマイグレーションが必要になるというのは予想できてませんでした。色々盲点があるもんだと感じた今日この頃です。

Tags:

Comments are closed

PAGE TOP