What is a distributed file system (DFS)?

Most people don’t put a whole lot of thought into where their work and personal files go when they’re saving them—or where and how those files are being retrieved and delivered to your screen. But, if you’ve ever experienced the heartbreak of a corrupted or missing file, maybe it’s time to reconsider what type of file system your business is using.

Many companies are still using a traditional centralized file system. That means that all the files your employees save are saved on a single server (or sometimes a server for each location or department), and, as a natural result, all your employees also access files from that same server (or servers). It’s a simple and handy system—easy to set up and manage as well as inexpensive to implement and maintain. Which are all good things. However, back to the heartbreak of losing files—using a centralized file system comes with limited scalability and availability. Centralized file systems have a single point of failure. If that server goes down or fails, everything on it is unavailable until the server goes back up. And as you add more and more data and files, the whole system may become overwhelmed, affecting the performance of the entire system and slowing down your business. 

There is an alternative to this type of limited way of storing your files and data—a distributed file system (DFS). Like its name suggests, a distributed file system “distributes” your files across multiple servers. You may think, “My company already has multiple file servers. We have one for each location. That’s the same thing, right?” Not exactly. Let’s explore how a distributed file system works and why it leads to high availability and ease of scalability.
 

How does a DFS work? 

For the end user, there doesn’t appear to be any difference. They save and access their files in what seems to be the same way they’ve always done. It’s what happens behind the scenes when they save and access them that makes all the difference. A DFS typically works in one of two ways—replication or partitioning.

Replicated file systems

In a replicated file system, when the end user saves a file, multiple copies of that file are stored on different servers. Each time that file is saved, all copies of the replicated file are also updated. Which of those files is retrieved when the end-user accesses a file is determined by the policies set when the system is set up (e.g., the file with the closest location). The advantages of such a system over a centralized files system include increased performance and fault tolerability as well as higher availability. Because multiple copies of all files live on different file servers, if one of those nodes fails, your file from another location is still available.

However, this type of system does actually increase your storage requirements since multiple copies of all files are created in order for the system to function, and network traffic will also increase. And it’s a complex system that must ensure that all replicated files are consistently updated. It does no one any good to retrieve last week’s version of the file someone updated yesterday.

Partitioned (or parallel) file systems

A partitioned file system breaks up saved files into smaller pieces called blocks and then shares them across multiple servers (or nodes) in a network. Each of those blocks is replicated multiple times across different nodes to ensure maximum data availability and fault tolerance. When the end user goes to access one of the saved files, the distributed file system's metadata server immediately maps the file's locations and retrieves the necessary blocks from the appropriate nodes, reassembles them, and delivers them as a complete file. What are the advantages of this type of system? They’re what you might expect—high fault tolerance and high availability. The failure of one (or several) nodes does not affect the ability to access the saved files because multiple pieces of them (the blocks) are available on the other nodes. In addition, this type of system allows for greater scalability—more data can be accommodated easily by simply adding more nodes to the system. Partitioned file systems are extremely complex systems and do require more load balancing and management to ensure the system functions properly.

Because of the complexity of these systems, bringing in experts for cloud data management solutions, like Rubrik, can ensure that your distributed file system retains its integrity and your employees maintain consistent access to the files they need, when they need them. Rubrik is the zero trust data security expert. Get in contact today to discuss your data backup and recovery needs.