MENU

Hyper-V: NFS

Posted by Anton Kolomyeytsev on January 14, 2015
Share on Facebook0Share on Google+0Share on LinkedIn0Share on Reddit0Tweet about this on Twitter0
5/5 (2)
5/52

This research is, basically, an answer to some statements about NFS shares and Hyper-V Virtual Machines that StarWind engineers considered false. Hyper-V is a native hypervisor from Microsoft and one of the most popular ones. It is capable of creating virtual machines on x86 and x64 Windows systems. Microsoft suggests that VMs should be stored in the Cluster Shared Volumes, in case live migration and failover are required. Storing them on an NFS share was never present in the design, so StarWind team was a bit skeptical about the idea at the first place. This research contains the full experiment, aimed at proving or disproving the initial statement, complete with a few different checks. The result is quite an expected one, but nevertheless, curiosity is strong in StarWind engineers.

This test has a defined reason – our own curiosity. Basically, we heard that someone presumably managed to store Hyper-V VMs on NFS share. The question really is “If it’s so convenient, why didn’t smart guys think of this in the first place?” We’ve answered it quite easily – they already did and probably got the same result as we did. Here’s how everything turned for us.

Introduction

Some time ago we got an interesting message – supposedly you could store Microsoft Hyper-V virtual machines on NFS file server. Our initial reaction was “It’s not meant to do that”, but curiosity got the upper hand, so here we are – checking if this scenario would work.

Content

We’ll be using 2 nodes:

  1. S3n12 will take the Hyper-V server role.
  2. S3n11 will take the NFS file server role.

We’ve devised three possible scenarios to make everything work, namely:

  1. Simply trying to create a VM on the NFS share.
  2. Moving a previously created elsewhere VM to the NFS share.
  3. Manual copying a previously created elsewhere VM to the NFS share.

1st Test Scenario

To begin with, we’ll get the file server ready. Installing everything needed to create an NFS share on our NFS server.

Creating the share with advanced parameters.

Specifying name and place for the share.

Not using any authentication, just to make things easier.

Turning on all the possible read/write permissions:

Adding all permissions for Hyper-V host, just in case:

Selecting Application Files in management properties (it’s the one meant for Hyper-V).

No quotas (so they don’t influence the process in any way).

Let’s take a look at everything, just to be sure. Everything seems to be in order, so we’re creating the NFS share.

Installing Hyper-V client for NFS role on the Hyper-V host.

Creating a VM on the share:

VHDX file is placed on the share as well.

Starting the creation process. BAM! – first error, failure to create the VHDX file. In fact, it’s a known issue which appears when you try to use a share instead of a local disk or another block device with Hyper-V. According to this, we may say that NFS doesn’t work.

2nd Test Scenario

Note: The share creation process is the same as in the first scenario.

Let’s try another way – creating a virtual machine on a local data store and trying to move it to the share:

BAM! – second error.

3rd Test Scenario

Note: The share creation process is the same as in the first scenario.

Our last chance is the following scenario – copying the VM to the NFS share manually.

Creating a new VM.

Specifying the existing disk, which I moved to the share beforehand.

BAM!

Conclusion

We have no idea why anyone would say that this was going to work. Seriously, if you have a way to evade these errors and succeed – tell us how you did it. As you can see, we tried every possible way here and clearly showed that NFS file server was never meant to store Hyper-V virtual machines.

Related materials:

Views All Time
4
Views Today
12

Please rate this

Return to all posts

ISCSI: LACP vs. MPIO
Windows Server: Soft Restart
The following two tabs change content below.
Anton Kolomyeytsev
Anton Kolomyeytsev
CTO, Chief Architect & Co-Founder at StarWind at StarWind
Anton Kolomyeytsev is StarWind CTO, Chief Architect & Co-Founder. Microsoft Most Valuable Professional [MVP] in Cluster 2014 & 2015. SMB3, NFS, iSCSI & iSER, NVMe over Fabrics.