DFS Questions and Answers

I have been looking at the Search Terms that have led people to here. I noticed that my DFS stuff was getting some hits, and I decided to write a part FAQ and part HOWTO on some DFS stuff. Here it goes.

Why is my DFS replication so slow?

This one has two possible answers, and most likely, it is a little bit of both. The first is that the replication priority is too low. The second is that there is not enough space for the replication staging, which is causing replication to either die out, or try to only replicate smaller files.

Non Server 2003R2 machines
You will use the older Distributed File System to manage priority, and editing the registry to change the staging space.

Priority


  1. Open Administrative Tools–Distributed File System
  2. Expand the Target Group, then the Target Root, then right-click the share and choose Properties
  3. Select the Replication tab, and then click the Customize button
  4. Select one of the servers and click the Priorities button
  5. Select an inbound connection, select a priority from the drop-down menu, and click Change
  6. Repeat for all inbound connections, then for all other server’s inbound connections

Staging Space


  1. Run Regedit
  2. Open HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters
  3. Edit Staging Space Limit in KB for all DFS shares on that server
  4. Close Regedit
  5. Either restart the File Replication Service on the server, or reboot.
This needs to be edited on each server.

Server 2003R2 for all machines
Priority has been renamed Bandwidth Usage, and staging space is now staging Quota, and both are changed through the DFS Management tool.

Bandwidth Usage


  1. Open Administrative Tools–DFS Management
  2. Select Replication
  3. Select the namespace\folder (if you have multiple folders, you will need to do this for each one)
  4. Either click Properties from the Actions panel, or Action->Properties, or right-click the namespace\folder and select Properties
  5. Click Edit Schedule…
  6. Choose the timeframe, then select your Bandwidth Usage from the drop down. This ranges from No Replication, through 16,64,128,256,512 Kbps, 1, 2, 4, 8 , 16, 32, 64, 128, 256 Mbps and Full.
  7. Click OK to close the Edit Schedule window, and the OK to close the Properties window
Remeber, the Bandwidth Usage is for each replication namespace\folder, so the settings for all of them will be added together. If you select 4Mbps for two different folders, then that is 8Mbps total.

Staging Quota


  1. Open Administrative Tools->DFS Management
  2. Select Replication
  3. Select the namespace\folder (if you have multiple folders, you will need to do this for each one)
  4. Click the Memberships Tab
  5. Right click a member, and choose Properties
  6. Click on the Advanced tab in the Properties window
  7. Change the Quota amount (this is now in MegaBytes)
  8. You can also look at modifying the Conflict and Deleted Quota
  9. Repeat for each member server and then for each namespace\folder and the member servers for those

Why has DFS has stopped replicating?

Most likely this is simply because the staging space (or staging quota in 2003R2 speak) has filled, and DFS can not clear it out to continue replicating. This is caused by either files larger than the quota, or if the space is over 90%. At 90%, DFS tries to empty out the quota down to around 60%, but if you have a single file larger than that, DFS can’t purge it, and it can’t copy it until it has purged space… you get the idea.

One way to see if this is what is happening is look through your DFS Replication event log for event ID 4208. If you see those, then you are running out of staging space. Use the Staging Space and Staging Quota instructions above to edit yours. You may want to first search the DFS share for your largest files, and see what your largest single file is, then setup Staging Space/Quota to 1.5 to 2x that size.

How can I setup printers with DFS?

You can’t. I know, this technology has been around since Windows 2000, but no one seems to have been motivated to either extend DFS to support printers, or to create the printer equivalent of DFS. Why? I have two theories on this; the first is that printing is so far in the kernel, that messing with it can cause server issues, and because print queues would be more likely to come and go and client environments do not fully support DFS.

If printing dies out, it is pretty much necessary to restart windows, and Windows 2000 Workstation, ahem Professional, would crash the OS if something happened to printing to FUBAR it. As for clients, if you have a DFS server die during the day, clients will still try to get to that one. It seems that when XP and Vista connect to DFS the first time after you login, they find out which physical server they are working with, and remember that. Later, if that server disappears, they are unable to resolve a new server from DFS until the next login.

How can I use DFSUTIL to view the replication status?

This is another of those “you can’t”. dfsutil is used to manage “namespaces” or roots and targets. This includes adding, removing, and modifying servers, root names, and folder targets. However, this is not a FRS (File Replication Service) tool. To see replication status, you better bet is SONAR, or you can even create a Diagnostic Report from the DFS Management tool.

Now the caveats. Sonar has a GUI designed by an engineer, and functionality specified by someone in marketing. It takes a while to figure out what you need from it, and after that, you would rather poke your eyes out with sharp sticks than to keep using the tool. I don’t use it to run continuous reports, rather, I simply start it up, select the root and target I want, and see the data. When I close it, I don’t save any settings. The Diagnostic Reports from DFS Management might seem like a good idea, but mostly it is useless, however it is prettier. Unlike Sonar, this was designed by someone in marketing, with functionality specified by somone else in marketing. Example: under Information, it mentions how efficient DFS is, and it goes on to mention the size of replicated files, if you had copied them by hand, and the size of the actual data replicated (just the chunks that changed), and uses that to shows how efficient DFS is. The only real useful parts are the Errors and Warnings sections, and these are useful only because they tell you something hasn’t gone right, but it is usually not enough to know what exactly has happened nor what to do about it.

Sonar Download
Sonar Docs
DFS Management Diagnostic Reports

Well, enough for now. Have fun.

Advertisements

2 Responses

  1. One question about DFS Replication… I’ve got two identical file servers, A and B, and I have setup a replication group that points to the G:\Data folder on each server.

    When I rename a subfolder on server A, from something like G:\Data\Old Folder to G:\Data\New Folder, the entire contents of that folder is replicated. Is DFSR really that dumb? I mean, some of these folders have terabytes of data in them. Isn’t DFSR hooked into the OS high enough to catch the fact the folder was simply renamed and just do the same on the target server?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: