Share on Facebook0Share on Google+0Share on LinkedIn0Share on Reddit5Tweet about this on Twitter0

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

StarWind HyperConverged Appliance is a turnkey, entirely software-defined hyperconverged platform purpose-built for intensive virtualization workloads. Bringing the desired performance and reducing downtime, the solution can be deployed by organizations with limited budgets and IT team resources. Also, it requires only one onsite node to deliver HA for your applications that make the solution even more cost-efficient.
Find out more about ➡  StarWind HyperConverged Appliance

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.

Views All Time
6
Views Today
24
Appreciate how useful this article was to you?
No Ratings Yet
Loading...
Back to blog
The following two tabs change content below.
Sergey Sanduliak
Sergey Sanduliak
Sergey is a Technical Support Engineer at StarWind. He is experienced in clustering, networking, and scripting. Adores coffee and traveling.