Multi node scale out NAS using NFSv4 referrals

Library Content Type:
Publish Date: 
Saturday, December 5, 2020
Event Name: 
Event Track:
Focus Areas:

In this paper we will describe how to build a software defined, load balanced scale out NAS solution that could span multiple nodes and exports single namespace over NFSv4 using the open source NFS Ganesha server and a distributed database like Zookeeper to store server configuration, export properties and file-system locations.
NFSv4 PseudoFS: With NFS v4, a pseudo file system is introduced which provides links and connects all of the exported file systems on a single node server. The pseudo file system model results in the server exporting a single file namespace that is in reality a collection of connected individual file systems encompassing a single physical node and allows client requests to cross exported file system boundaries. Each of the file systems is represented as a unique fsid attribute value in the NFSv4 protocol.
NFSv4 Referrals: According to rfc7530 section 8.4.3: Referrals provide a way of placing a file system in a location within the namespace essentially without respect to its physical location on a given server. This allows a single server or a set of servers to present a multi-server namespace that encompasses file systems located on multiple servers. Some likely uses of this include establishment of site-wide or organization-wide namespaces, or even knitting such together into a truly global namespace.
NFS Ganesha: is an open source user mode file server that supports NFSv3, NFSv4, and NFSv4.1 including pNFS for distributed filesystems.
Zookeeper: ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications.

Watch video: