Search This Blog

Thursday, March 8, 2012

Sysvol migration from FRS to DFS-R in a nutshell

Windows Server 2008 introduced DFS-R as a new technology for Sysvol replication . It this post I'll illustrate the migration from the old , commonly used replication technique [ File Replication Service - RFS ] to the newly introduced replication technique [ Distributed File System Replication - DFS-R ].

First of all a question arise "Why to migrate your sysvol ?"

The answer simply is , by using DFS-R for your sysvol you gain the following benefits : 
  • Efficient, scalable and reliable file replication protocol which has been tested extensively to ensure data consistency in multi-master replication scenarios.
  • Differential replication of changes to files using the Remote Differential Compression (RDC) algorithm, which enhances efficiency in branch office scenarios.
  • Flexible scheduling and bandwidth throttling mechanisms. 
  • Self-heals from USN journal wraps and database corruptions – end user intervention and monitoring requirement is minimal. 
  •  Provides a new UI management tool (MMC snap-in) for ease of administration. 
  • Provides built in health monitoring tools for ease of monitoring deployments. 
  • Improved support for Read Only Domain Controllers.
To perform this migration your domain must be in native Windows Server 2008 mode [ All domain controllers within the domain is running Windows Server 2008 OS ]

 Ok , let's get our hands dirty ; First of all you must ensure that all your sysvol replicas are consistent & healthy , which can be verified using the following command :

repadmin /replsum

You will got something like below.

Note :If any errors present , trace and solve it before proceeding with migration.

During sysvol migration to DFS-R , sysvol passes though the following stages : 
  1. Preparation Phase (State)  
  2. Redirected Phase (State) 
  3. Elimination Phase (State)
  In order to proceed with migration, execute the following command - is series - from an elevated command prompt:
  1. dfsrmig /SetGlobalState 1 
  2. dfsrmig /SetGlobalState 2 
  3. dfsrmig /SetGlobalState 3  

Post each of the above commands you should run "dfsrmig /GetMigrationState" to ensure success of each stage [ Confirm that the new flag has been replicated to all domain controllers ] 

 You may find it easier to go directly and run "dfsrmig /SetGlobalState 2" from the beginning to go directly to "redirected state" through "preparation state" which is feasible. Although you can proceed with "dfsrmig /SetGlobalState 3" , but it is not recommended , as you can easily revert back during any phase prior than elimination phase ( 3 )  using:

dfsrmig /SetGlobalState 0
Finally , here are some tips to avoid slowness in DFS replication.