We have two Server 2008 R2 servers running DFS-R (named dfs01
and dfs02
) in a 2008 R2 Domain.
Today I found the files in server dfs01
can not be replicated to dfs02
. So I used the command
dfsrdiag backlog /rgname:<group> /rfname:<folder> /sendingmember:dfs01/receivingmember:dfs02
to check the backlog. After executing the command, I get the following error:
Failed to execute GetVersionVector Method. Err: -2147217406 <0x80041002> operation Failed.
How can I resolve this?
This happens after you install hotfix 2663685 http://support.microsoft.com/kb/2663685
It changes the behaviour after a dirty DFSR shutdown so that there is no longer an automatic restart, instead it stays down allowing you to do whatever backups you may need to do, then you run a WMI command as per the article to restart it.
Word of warning - applying this hotfix on a cluster means it effectively isn't highly avaialble as a failover will leave DFSR down on the node taking over. You can adjust this by a registry setting. Personally, I'm about to undo this hotfix across our estate as it's more trouble than it's worth, DFSR falls over and doesn't come back online til we arrive in on Monday, and the backlogs just grow and grow
The easiest way to get this up and running again is to go to your Event Viewer, and go to Applications and Services Log > DFS Replication
. Look for the event 2213:
The exact command you need to run is in there.
Additionally, to revert DFS-R back to its original settings, run this:
wmic /namespace:\\root\microsoftdfs path dfsrmachineconfig set StopReplicationOnAutoRecovery=FALSE
I just ran into this similar issue but hotfix 2663685 was not my problem. In my case dfsrdiag would work for some of my replicated folders but not all of them. The replicated folders were distributed over different drives.
Long story short is that DFSR would not process the replicated folder because of a corrupted database. You can verify the drive is missing with this command. It should list all the drives you have DFSR Folders on.
wmic /namespace:\\root\microsoftdfs path dfsrvolumeinfo get volumepath, VolumeGuid
Mine was missing one of the DFSR Volumes. It will probably still be listed in the config so you can check with this command if your not sure if any are missing.
wmic /namespace:\\root\microsoftdfs\ path dfsrVolumeConfig get *
Also check C:\Windows\debug\dfsr*.log for other messages about the drive not being ready or not being able to read the serial numbers.
To resolve it I had to stop DFSR and delete/rename the database. It then started to sync and after a while of rebuilding the commands finally worked.
Also DFSR logs are way to detailed and limited to 1000 log files by default. Please change the log level to something sane because once you hit 1000 DFSR just stops.
wmic /namespace:\\root\microsoftdfs path dfsrmachineconfig set debuglogseverity=3
Since it does work on a different volume then D, I would assume it's related to the D volume, and reformat that volume (or just delete and recreate volume) or permanently move the replica to a different volume. If there was truly something wrong with DFSR itself, it wouldn't work regardless of the replica or volume.
In our case one of the volumes on one of the servers had run out of disk space. Fortunately it was a VM so I just expanded it, restarted DFS and all was well. I read this post and went digging around KB articles and registry hacks before looking for the simple solution. Occam's razor wins again.
User contributions licensed under CC BY-SA 3.0