Oh how happy are we that VMware FINALLY decided to add support for NFS4.1 especially since the NFS3 client’s major problem has always been single-session connectivity. HOWEVER; going over Chris Wahl’s – extensive – coverage on this news item I did miss a key ingredient we were actually waiting for in NFS4.1: support for pNFS (parallel NFS). Chris mentions the following improvements from vSphere 5.5 to 6:
- Authentication with Kerberos
- In-band, mandatory, and stateful server side locking
- Session trunking (true NFS multipathing)
- Greater error recovery
So what does this session trunking do for us and what not? I tried to simplify the story with some graphics. A couple of sidenotes/caveats before we start:
- I am only showing front-end connectivity from the storage client (ESXi) to the server (NFS). So it’s not becasue a folder/datastore only shows on 1 server that the data is not replicated/striped in the backend to other nodes
- following this logic, two of these servers could in reality be two headers of a classical scale-up array or all headers could be independent members in a shared nothing scale-out environment
- I have only used 1 datastore per server. I know this is a caveat people will want to use to show that multiple targets will create a better balance of resources. lets keep that for another post, ok?
- I also know that pNFS is more than NAS traffic when we speak about data-plane & control-plane split but that also is for another post
Draw it on a napkin
That being said here’s my simplified view of what we have today (vSphere 5.5 and earlier)
What you see is that each target has a maximum of 1 session, no matter what the fabric design is. All other connections are merely helping with hardware failures (NIC & Switch).
What vSphere 6 is bringing to the table: adding another session to the same target. What this brings is bandwidth increase and latency decrease. Thank you VMware
What is vSphere 6 NOT bringing? True parallelism & striping. What you see below is how this would work if VMware would add support for pNFS.
Don’t get me wrong, I LOVE the fact that VMware has added support for NFS4.1. The only problem is that the scale-out architectures that have based themselves on NFS will still need that backend traffic for true parallelism and frontend striping. Maybe vSphere6.1? 😉
I don’t call myself an NFS specialist so feel free to chime in and update my knowledge! I will happily be proven wrong and add your knowledge to my drawings and notes.Be Social and Share: