Search
StarWind is a hyperconverged (HCI) vendor with focus on Enterprise ROBO, SMB & Edge

Hyper-V VMs on an NFS share on Windows Server 2016 – is that real?

  • September 26, 2017
  • 6 min read
Sergey is a Technical Support Engineer at StarWind. He is experienced in clustering, networking, and scripting. Adores coffee and traveling.
Sergey is a Technical Support Engineer at StarWind. He is experienced in clustering, networking, and scripting. Adores coffee and traveling.

A few years ago, we have tried to place a VM on an NFS share. You can find the results of our experiment here:

https://www.starwindsoftware.com/blog/hyper-v-vms-on-nfs-share-why-hasnt-anyone-thought-of-that-earlier-they-did-in-fact-2

We used Windows Server 2012 because Hyper-V is a native hypervisor from Microsoft.

Hyper-V VMs on an NFS share on Windows Server

Now we have decided to reproduce the experiment on Windows Server 2016. Just because of boundless curiosity 😊

So, we have 2 nodes: S3n11 serves as NFS Fileserver and S3n12 takes the Hyper-V server role.

We will do exactly the same thing as we did before, but this time on Windows Server 2016 on both VMs.

Let’s start!

1st Test Scenario

First of all, we’re creating the NFS share on the S3n11 machine. In order to do this, we need to add the following roles and features:

Destination Server Confirm installation selections

Creating the share with advanced parameters:

New Share Wizard Select profile

Nothing special here, just specifying a name and a place for the share:

New Share Wizard Specify Share Name

We don’t need any authentication as this is for testing…

New Share Wizard Authentication

Turning on all the possible read/write permissions:

New Share Wizard Share permissions

New Share Wizard Specify Share permissions

The next step is to add all permissions for a Hyper-V host:

Add permissions for Hyper-V host

We are going to store a virtual machine on the share, so we select Application Files in management properties:

New Share Wizard Specify folder management

No quotas. We don’t need anything to influence the process in any way.

New Share Wizard Apply a quota to a folder or volume

Ok, let’s confirm that our share settings are correct:

New Share Wizard share confirmation

The NFS share is created, now let’s install a Hyper-V client for the NFS role on the Hyper-V host (S3n12).

Add roles and features wizard confirm installation selections

Now, when our test environment is ready, we can start the experiment right away!

The first scenario is to create a VM directly on the NFS share.

New Virtual Machine Wizard Specify Name and Location

As you see, VHDX is located on the NFS share as well.

New Virtual Machine Wizard Connect Virtual Hard Disk

When we confirm the creation of the test VM, we get the first error. Microsoft is yelling to us: “NFS share is not for VMs!”

New Virtual Machine Wizard failed to add device virtual Hard Disk

2nd Test Scenario

Ok, what if we try to create a virtual machine on a local data store and then move it to the share?

Move New Virtual Machine Wizard

When we come to the last step of the Hyper-V Move Wizard we see the following message:

Compliting Move New Virtual Machine Wizard

3rd Test Scenario

Our test environment remains the same: the NFS share and a Hyper-V server with an NFS Client role.

What if we copy the test VM to the NFS share manually?

copy the test VM to the NFS share manually

We create a new VM…

New Virtual Machine Wizard Specify Name and Location

… try to connect the existing VHDX disk located on the share…

New Virtual Machine Wizard Connect VHD

… and finally get the error message with a file system limitation alert!

Completing New Virtual Machine Wizard

Conclusion

Honestly, I have expected this behavior. It is not possible to run most services from NFS shares, which includes Hyper-V VMs. I hope this small experiment will save some of your time in case you’ll try to put a VM on an NFS share. If you have any ideas on how to do this, feel free to comment on this post.

Found Sergey’s article helpful? Looking for a reliable, high-performance, and cost-effective shared storage solution for your production cluster?
Dmytro Malynka
Dmytro Malynka StarWind Virtual SAN Product Manager
We’ve got you covered! StarWind Virtual SAN (VSAN) is specifically designed to provide highly-available shared storage for Hyper-V, vSphere, and KVM clusters. With StarWind VSAN, simplicity is key: utilize the local disks of your hypervisor hosts and create shared HA storage for your VMs. Interested in learning more? Book a short StarWind VSAN demo now and see it in action!