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.