The safest way to turn off DFSR, when one node has been powered off for months

dfs-rfile-serverreplicationwindows-server-2012-r2

We have two file servers that are standalone. We use DFSR to replicate data from server 1 to server 2.

Server 2 has been powered down for some time now, and I am hesitant to turn it back on, in case it causes issues with DFS trying to reconcile the differences in data.

Can I simply turn off DFS on the live node, then power on the second node with no network connectivity and disable it on there as well?

Best Answer

To be sure, you could delete completely the ancient replication and recreate it with the news datas:

  • 1) stop the dfsr service AND deactivate him on the two servers.

  • 2) wait the events logs id 4004 4010

  • 3) delete all files and the directory System Volume Information\dfsr (it's a hidden directory)
  • 4) delete the link dfsrprivate in your shared directory.
  • 5) replicate yours datas of your source server on the new with robocopy :

    robocopy /MIR /E /R:0 /W:0 /NP /COPYALL M/T:128 /LOG:c:\temp\file.log

The COPYALL is important, it will copy the access rights and the audit of your files. If you don't use this param, DFSR will think your files are differents.

/MIR will delete the files which are on the destination server and not on the source server. So be carefull

  • 6) when the robocopy is finished, you can recreate your replication which your source server as primary.

During the initial replic, the database of DFSR will be created in the directory c:\System Volume Information\DFSR\database_xxx_xxxx. Until the databases ar increasing, the replication will not begin.

  • 7) The replic can take very long time, with 1000 000 files my initiale replic took 24 h.

    • 8) The replication is finished when the event log id 4104 appears on the destination server. To be sure, you can test with creating a file on a server and check his replication on the other. You must test too the other side.

If you want to follow your initial replication you can look the backlog of your replication :

fsrdiag backlog /rgname:<name of your replication group> /rfname:<name of your shared directory> /sendingmember:<source server> /receivingmember:<dest server> /v

To be sure it's the good server as primary server, you can verify with :

dfsradmin membership list /rgname:<> /attr:IsPrimary,MembershipGuid,memname

The logs of the replication are in c:\windows\debug\.

With this method you could have an operationnal dfsr without loose files during the replication.

If you prefer and don't want to do an pre-replication:

  • You can stop the service and deactivate him.

  • Configure your source server as primary with this command :

    dfsradmin membership set /rgname:<> /rfname:<> /memname: /isprimary:true

and verify :

dfsradmin membership list /rgname:<> /attr:IsPrimary,MembershipGuid,memname

This method explain to dfsr in case of conlict with 2 files, the primary server will win and his file will be the reference. I can't affirm you will not loose files during replication. And the dfsr will take a very long time to re-sync all your files.

So I recommend the first method.

good luck !