From server to end user: What's coming up for NFS?
Big changes: Hole-punching and application data blocks
Application Data Blocks (ADB)
Application Data Blocks (ADB) extends hole-punching for zero-filled blocks to support applications that write blocks that contain patterns, for example a hypervisor or database application that provides sophisticated data corruption checks by writing guard patterns to a VM image or a database. ADB allows such applications to define the format of these blocks in a file, and NFSv4.2 can then store a much-reduced representation of the block in a map, thus saving space. It’s a form of deduplication in a way.
Here’s a simple example. Your application might initialise its file by writing blocks with the hex string 0xDEADBEEF at offset zero. Ordinarily, that would require writing every block initialised this way, for the whole file. But ADB can be “taught” about this representation, note the fact that this is an initialisation block in its map, and simply not write the block.
When a read request is made for the block, the storage system can inspect its map for this file, find that it is an initialisation block, and return a constructed 0xDEADBEEF block back to the application. The application is satisfied but none the wiser that the storage system has made significant savings in space and IO.
With this feature, NFSv4.2 will be able to do rapid and space-reduced initialisation of data stores; a large database or a VM image on the server can be created with a single operation.
Application I/O hints
With increasing amounts of I/O as data volumes rise, and with the availability of tiered storage systems that employ cache or SSDs to provide a buffer between fast DRAM and much slower traditional disks, NFSv4.2 provides facilities for applications to communicate data access patterns to the underlying storage system. For instance, data will be read sequentially, so consider read ahead. Or data will be read and written multiple times, so consider caching the data. Or data will be written but not read, so avoid polluting the cache.
So when is this available?
The NFSv4.2 specification is likely to be ratified in March 2012. How long it takes client and server providers to implement the features is dependent on the demand from end users (that’s you) to support them.
Which raises the question: are you still on NFSv3? If so, not only are you losing out on the advanced features of NFSv4, NFSv4.1 and pNFS, but you won’t be able to take advantage of NFSv4.2 once it is implemented either, since only one feature – improved security – has been “retrofitted” from NFSv4 to NFSv3.
Even though NFSv4.2 will take time to be available, it’s time to plan NFSv4 for your next project. ®
This article was written by Alex McDonald, the SNIA ESF NFS Co-Chair. He works for NetApp.
About the SNIA
The Storage Networking Industry Association (SNIA) is a not-for-profit global organisation, made up of some 400 member companies spanning virtually the entire storage industry. SNIA's mission is to lead the storage industry worldwide in developing and promoting standards, technologies, and educational services to empower organisations in the management of information. To this end, the SNIA is uniquely committed to delivering standards, education, and services that will propel open storage networking solutions into the broader market.
About SNIA Europe
The Storage Networking Industry Association (SNIA) Europe is dedicated to educating the market on the evolution and application of storage infrastructure solutions for the data centre by providing thought leadership and industry education focused on storage technologies and business value. For more information visit: www.snia-europe.org . For more Information about SNIA’s ESF NFS SIG, visit this webpage