The Network File System (NFS) is a filesystem that enables multiple networked clients to share a pool of storage presented as individual volumes. Historically, the NFS server has been a monolithic service that either provides specific volumes for workloads or is required to adapt to the different demands of multiple applications.
In recent years, many vendors of both hardware and software NFS servers have tried to improve the scalability of NFS servers through several means. Parallel NFS (pNFS) has emerged as the most practical and efficient way to enable this.
pNFS works by separating the duties of handling metadata and file data. The Metadata Server receives requests for file data and directs the clients to communicate with the correct Data Server.
The Data Servers have a shared pool of storage backing them and update the Metadata Server as changes are made. In addition, communication between the clients and the Data Server also supports Direct IO if your use case requires it.
This allows the NFS server to respond more quickly during periods of heavy usage, by distributing the workload to multiple Data Servers. It also allows for more scalability by adding further Data Servers as is required.
pNFS has two types of layout depending upon the use case involved. They are:
- File Layout (much like traditional NFS)
- Object Layout (Designed for High Performance environments).
What does RHEL Support?
How do I enable pNFS support in my clients?
mount -o v4.1 server:/export /mnt/export
In RHEL 6.4 and above, Red Hat Enterprise Linux (RHEL) provides a File Layout aware client only.
The process for enabling pNFS aware clients in RHEL is simple, you only need to specify the NFS version in the mount command line.