Introduction to DFS

Distributed File System (DFS) is a technology created by Microsoft to allow data consistency across large enterprises. DFS allows you to group shared folders from multiple servers into one or more namespaces. A namespace is a hierarchy of folders grouped together to create on large data tree. There are two main technologies that we must talk about on this topic: DFS and DFSR:
DFS is responsible for managing all the namespaces that are part of an organization. Note that DFS allows shared folders to be accessible across WAN links. DFS operation is done transparent to the user, which means that folders will appear just if they are stored in the same location. One unique and centralized namespace can be easily maintained by Sysadmins rather than using a distributed folders across multiple servers. DFS manages only the namespace and the hierarchy of folders and does not replicate files and folders between servers. Note that with Windows Server 2008 Standard Edition you can create only one namespace. Multiple namespaces are supported by Enterprise and Datacenter Editions. A namespace can be accessed using its UNC (Universal Naming Convention) path. Users will need access rights to be able to access the namespace. There are two types of DFS namespaces that you can create:
Stand-Alone Namespace – namespace that is not domain-based, can be hosted on a server that contains at least one NTFS volume. It also offers support for ABE (access-based enumeration) if it’s hosted on a Windows Server 2008 or newer Editions. ABE allows users to view only the folders on which they have permissions. This feature is not enabled and can be configured using the dfsutil command (dfsutil property abde enable \\namespace_name). Stand-Alone namespaces can be hosted on a failover cluster for redundancy.
Domain-Based Namespace – namespace hosted on a DC or a member server that is part of a domain. Servers must also have a NTFS partition to host the DFS namespace. One important aspect of domain-based namespace is that the metadata is stored in AD DS and can be easily accessed by any DFS server. Note that this type of namespace cannot be stored within a failover cluster but, availability can be increased by adding more DFS members.
Introduction to DFS

A DFS namespace can be easily maintained using the DFS Management Console. Cache referrals can be configured to set the amount of time clients will store referrals for a namespace. We can also set the order on how clients will try to access folders that are in a different site. There are three methods available: Lowest Cost, Exclude Targets Outside Of The Clients Site and Random Order.
When a user will try to access shared folders that are part of the namespace, he/she will receive an ordered list from the Domain Controller. The list will contain the servers that host that specific resource. Based on the method configured on the namespace, a server will have a higher or lower priority when files and folders are requested. You can overwrite the referral ordering form the namespace Properties in the DFS Management Console.
Namespace modes can be configured when creating the namespace, we will talk about available modes later in this article.
Depending on your network’s size and needs, you can optimize the namespace polling for domain-based namespaces. You can Optimize pooling for Consistency or Optimize For Scalability.
We haven’t talked about the DFS modes that you can use within your infrastructure. DFS supports two domain-based namespaces:
Windows Server 2000 mode – available with Windows Server 2003 R2 and 2008 Editions.
Windows Server 2008 mode – available with newer Windows Server Editions. You can enable access-based enumeration. This mode also provides increased server stability because you can now have a DFS namespace with more than 5000 folders. You can enable Windows Server 2008 mode if all your DFS servers are running this server edition and if the functional level of the domain is at Windows Server 2008. You should use this DFS mode whenever possible.
DFSR (Distributed File System Replication) manages the replication of shared folders between different parts of the network. This is a newer technology introduced with Windows Server 2008 to replace FRS (File Replication Service) that was used in older Windows Server Editions. DFSR is also used to replicate the SYSVOL folder in a AD DS infrastructure. You can configure replication to make sure that multiple servers host the same data within your infrastructure. Not only you provide a reliable way to store your data but also allows users to access files and folders which would normally be accessible remotely. Large enterprises will normally host a DFSR server in all of their offices ensuring that users can access data fast and secure. A user will always try to connect to shared folders in the same AD DS site and will not try to access it through the WAN link. DFSR is a multimaster technology which means that any changes within the shared folders will be replicated fast to all servers part of the replication group. DFSR uses a compression algorithm named RDC (remote differential compression) which is responsible for detecting changes that occur in the files and folders hosted on the DFS namespace. Replication topology must be specified when creating replication groups. You can choose either Hub and Spoke, Full mesh or No topology.
This introduction article should provide you some basic info regarding DFS and DFSR, in the following posts we will continue discovering this amazing technology and we will later see how to install and configure them. That’s about it folks, hope you’ve enjoyed it. Wish you all the best!

2 thoughts on “Introduction to DFS

Leave a Reply

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

You are commenting using your 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