An ‘under the hood’ change on Windows Server 2008 A previous blog post mentioned some of the more end-user visible new features in Windows Server 2008. There is another less visible design enhancement on Windows Server 2008. Let us explore this change and find out how it can be beneficial to Server 2008 based deployments of the DFS Replication service.
Windows Server 2003 R2
On Windows Server 2003 R2, the staging area is contained within a folder under the replicated folder itself. Basically, there is a hidden sub-folder called ‘DfsrPrivate’ under the root of every replicated folder. This hidden folder contains private information stored by the DFS Replication service on a per-replicated folder basis. This private information includes the ‘ConflictAndDeleted’ directory, the ‘PreExisting’ directory and the ‘Staging Area’ for that replicated folder. The ‘PreExisting’ directory doesn’t exist on the Primary member in the replication group. An example of this behavior is illustrated in Figure 1, where the replicated folder ‘Reports’ has its Staging area, Conflicts and Deleted folder and Pre-Existing folder locations stored under the ‘DfsrPrivate’ subfolder. The size of these locations also contributes to the quota usage statistics for the replicated folder.
An ‘under the hood’ change on Windows Server 2008
A previous blog post mentioned some of the more end-user visible new features in Windows Server 2008. There is another less visible design enhancement on Windows Server 2008. Let us explore this change and find out how it can be beneficial to Server 2008 based deployments of the DFS Replication service.
Figure 1: ‘DfsrPrivate’ folder on Windows Server 2003, R2.
However, this design doesn’t necessarily interoperate very well with some other applications that may be running on the file server. For instance, consider quota management applications. If the administrator sets a quota on the root of the replicated folder with a view of constraining the amount of space utilized by that folder/share, the space used by the contents of the ‘DfsrPrivate’ folder also end up getting counted towards that quota. Further, some quota management tools do not support excluding certain subfolders from the quota. The folders under ‘DfsrPrivate’ can end up growing reasonably large and consume large amounts of space. If the configured quota is hit, the quota management application starts returning disk full errors to the DFS Replication service. This adversely affects various aspects of replication including the staging process. Such eventualities could end up slowing down replication since there would need to be frequent staging area cleanups in order for the DFS Replication service to free up enough space to continue replication activities. Additionally, this behavior doesn’t constitute the most optimal quota consumption possible and end users might end up getting starved of quota.
Windows Server 2008
On Windows Server 2008, the ‘DfsrPrivate’ directory has been moved under the ‘System Volume Information’ folder on the same volume. In fact, all replicated folders hosted on that volume have their ‘DfsrPrivate’ folders at a consolidated location under the ‘\System Volume Information\Dfsr\Private’ folder on the volume. The following folder structure can be found under the ‘System Volume Information’ folder:
‘\System Volume Information\Dfsr\Private\<Replicated Folder Id>-<Member Id>’
Here <Replicated Folder Id> and <Member Id> are essentially GUIDs which uniquely identify each replicated folder on that member server. Additionally, a directory junction point is created under the replicated folder root with the same old name ‘DfsrPrivate’ that now points to this new folder location under ‘System Volume Information’. The junction point also ensures that the DFS Management snap-in is able to work seamlessly while configuring both Windows Server 2003 R2 and Windows Server 2008 based DFS Replication servers. The snap-in thus still shows ‘Staging’ and ‘PreExisting’ folders to be subfolders of the ‘DfsrPrivate’ folder under the replicated folder root.
Figure 2: ‘DfsrPrivate’ junction point on Windows Server 2008.
This change ensures that the size of the files in ‘DfsrPrivate’ does not contribute to the quota usage statistics for the replicated folder.
When a server is upgraded from Windows Server 2003 R2 to Windows Server 2008, the DFS Replication service automatically moves the ‘DfsrPrivate’ folder under the ‘System Volume Information’ folder location on that volume and creates a directory junction point within the replicated folder root to point to this new location. Thus the DFS Replication service has consistent behavior with respect to the location of the ‘DfsrPrivate’ folder on both fresh installations of Windows Server 2008 and upgrades from Windows Server 2003 R2. If the administrator had previously specified a new location for the staging folder on Windows Server 2003 R2, then upon upgrade, staging will continue to use that custom location.