NFS & GFS2

In an effort to round out my post from this past Tuesday I’d like to share a little additional information on both Network File System (NFS) updates and enhancements to the GFS2 shared disk file system (…all, of course, in the context of the Red Hat Enterprise Linux 7 beta).

Support has been added for the NFSv4.1 server, which implements reliable ‘only-once’ semantics using TCP. This method leverages standard network protocols for better performance on increasingly-congested networks. Having NFS over TCP allows the latest networking cards to offload all TCP segmentation and re-transmission – freeing up CPU cycles for “real” work. In addition, NFSv4.1 server’s stateful sessions allow client requests to the server to be executed ‘exactly-once’, an enhancement over earlier NFS versions. And for those looking to deploy and maintain more secure environments, support for NFSv4 Labeled NFS enables fine-grained SELinux contexts including secure virtual machine home directories stored on NFS Servers.

Another noteworthy feature in Red Hat Enterprise Linux 7 beta includes support for FedFS, a “federated file system.” FedFS provides a set of open protocols that permit the construction of a scalable, federated file system namespace accessible to unmodified NFSv4 clients. Using FedFS, system administrators can construct a coherent namespace across multiple file servers using NFSv4 file system referrals.

Should these aforementioned NFS enhancements not be enough to get you excited – have no fear, there’s more… The beta of Red Hat Enterprise Linux 7 seeks to maintain leadership with respect to Parallel NFS (pNFS) support. For those unfamiliar with pNFS – it essentially allows traditional NFS systems to scale out in traditional NAS environments, by enabling the compute clients to read and write data directly and in parallel (both to and from the physical storage devices). While support for pNFS file layout was added in Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7 beta extends this support to include additional pNFS client layouts for commercially available pNFS servers. At the end of the day, the parallel architecture of pNFS allows multiple NFS servers to control meta-data and coordinate access, allowing predictable, scalable access to very large data sets from many clients.

Finally, I can’t end without mentioning that a number of significant enhancements to the GFS2 shared disk file system are (indeed) being delivered in Red Hat Enterprise Linux 7 beta. First, enhanced GFS2 journaling code reduces the number of journal update operations, consolidates IO operations and increases overall GFS2 file system performance. In addition, GFS2 file system creation tools now utilize device topology knowledge, deal with RAID stripe alignment, and carefully orchestrate the placement of performance critical file system elements, such as journals and resource groups; this increases the scalability and performance of GFS2 not only during file system creation time but also during file system usage. Lastly, a new GFS2 module for Performance Co-Pilot (PCP) will be available as a Tech Preview in Red Hat Enterprise Linux 7 beta. PCP is an open source infrastructure for performance monitoring and performance management, including visualization and recording capabilities. This feature will provide users with new insights and monitoring capabilities when it comes to the performance of their GFS2 environments.

So what do you think? Are the enhancements to NFS and/or GFS2 relevant to your own day-to-day operations? Perhaps there’s something you’d like for me to expand on? Let us know in the comments below!

Leave a Reply

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

WordPress.com Logo

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