Create NFS file share on Hyper-V Server 2016



  • I am looking for a way to host an NFS file share on a Hyper-V Server 2016 host. This functionality is not available in Hyper-V Server, and requires Windows Server.

    The hardware has Windows Server 2016 Datacenter licensing on it, so we're covered as far as licensing goes... it's just that the free Hyper-V Server 2016 does not have that functionality.

    Are there any free 3rd party solutions that would allow me to create and host an NFS share on Hyper-V Server 2016?

    Edit: ADDED DETAILS: https://mangolassi.it/post/373656



  • Someone had an issue like this here on ML a while ago, and IIRC they simply opt'd to create a share from their desktop to use as an ISO repo.

    Not sure on your use case though.


  • Service Provider

    Any reason not to host it from a lean VM on top of Hyper-V?



  • @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    Any reason not to host it from a lean VM on top of Hyper-V?

    This would require the NFS share to live inside of a .VHDX.

    The NFS share would be a backup repository for some things, and having to restore a .VHDX first to restore an NFS share is more time consuming and complex, and I was hoping to avoid that if possible. Otherwise, no I could create a VM to do it, I just prefer not to.



  • @tim_g said in Create NFS file share on Hyper-V Server 2016:

    The NFS share would be a backup repository for some things, and having to restore a .VHDX first to restore an NFS share is more time consuming and complex, and I was hoping to avoid that if possible. Otherwise, no I could create a VM to do it, I just prefer not to.

    It could be a ultra tiny Linux VM maybe. Even a Live CD with some injected script.


  • Service Provider

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    Any reason not to host it from a lean VM on top of Hyper-V?

    This would require the NFS share to live inside of a .VHDX.

    The NFS share would be a backup repository for some things, and having to restore a .VHDX first to restore an NFS share is more time consuming and complex, and I was hoping to avoid that if possible. Otherwise, no I could create a VM to do it, I just prefer not to.

    I get that it is an extra step, but a trivial one. You have to restore the data to Hyper-V regardless. If anything, restoring a single VHD is easier than having to restore an NFS directory and restoring the settings and such. I'd actually think that this logic would push you towards the VM rather than away from it.



  • @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    Any reason not to host it from a lean VM on top of Hyper-V?

    This would require the NFS share to live inside of a .VHDX.

    The NFS share would be a backup repository for some things, and having to restore a .VHDX first to restore an NFS share is more time consuming and complex, and I was hoping to avoid that if possible. Otherwise, no I could create a VM to do it, I just prefer not to.

    I get that it is an extra step, but a trivial one. You have to restore the data to Hyper-V regardless. If anything, restoring a single VHD is easier than having to restore an NFS directory and restoring the settings and such. I'd actually think that this logic would push you towards the VM rather than away from it.

    Plus you can mount the vhdx file to access the data too.



  • @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    Any reason not to host it from a lean VM on top of Hyper-V?

    This would require the NFS share to live inside of a .VHDX.

    The NFS share would be a backup repository for some things, and having to restore a .VHDX first to restore an NFS share is more time consuming and complex, and I was hoping to avoid that if possible. Otherwise, no I could create a VM to do it, I just prefer not to.

    I get that it is an extra step, but a trivial one. You have to restore the data to Hyper-V regardless. If anything, restoring a single VHD is easier than having to restore an NFS directory and restoring the settings and such. I'd actually think that this logic would push you towards the VM rather than away from it.

    I would rather back up some Linux server to an NFS share directly on a DAS attached to the host, rather than through a VM and into a VHD. It's twice the restores needed to get at something on the NFS share then...



  • @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    Any reason not to host it from a lean VM on top of Hyper-V?

    This would require the NFS share to live inside of a .VHDX.

    The NFS share would be a backup repository for some things, and having to restore a .VHDX first to restore an NFS share is more time consuming and complex, and I was hoping to avoid that if possible. Otherwise, no I could create a VM to do it, I just prefer not to.

    I get that it is an extra step, but a trivial one. You have to restore the data to Hyper-V regardless. If anything, restoring a single VHD is easier than having to restore an NFS directory and restoring the settings and such. I'd actually think that this logic would push you towards the VM rather than away from it.

    I would rather back up some Linux server to an NFS share directly on a DAS attached to the host, rather than through a VM and into a VHD. It's twice the restores needed to get at something on the NFS share then...

    But you're talking about mins worth of extra restore, not hours or days (in most cases) but with all kinds of added flexibility.



  • @dashrender said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    Any reason not to host it from a lean VM on top of Hyper-V?

    This would require the NFS share to live inside of a .VHDX.

    The NFS share would be a backup repository for some things, and having to restore a .VHDX first to restore an NFS share is more time consuming and complex, and I was hoping to avoid that if possible. Otherwise, no I could create a VM to do it, I just prefer not to.

    I get that it is an extra step, but a trivial one. You have to restore the data to Hyper-V regardless. If anything, restoring a single VHD is easier than having to restore an NFS directory and restoring the settings and such. I'd actually think that this logic would push you towards the VM rather than away from it.

    I would rather back up some Linux server to an NFS share directly on a DAS attached to the host, rather than through a VM and into a VHD. It's twice the restores needed to get at something on the NFS share then...

    But you're talking about mins worth of extra restore, not hours or days (in most cases) but with all kinds of added flexibility.

    Lets say I needed to restore something... I'd first have to restore a huge VHD and VM to make the included NFS share available. Then I would be able to restore a piece of data from that NFS share.

    That VHD will take a long time to restore as it contains so much other stuff.

    Otherwise, all data would be directly on the hardware via NFS share... if I need to restore something, I would not need to restore the ENTIRE NFS share first, as it's not all in a single VHD.

    If I have LinuxServer1, LinuxServer2, LinuxServer3, LinuxServer4, etc all in that VHD, I would still have to restore EVERYTHIGN to be able to make the NFS share available to restore a server from.



  • You see what I mean?

    I don' twant to have to restore a 10TB VHD in order to restore a 5GB linux server that's in the NFS share inside that VHD.



  • @tim_g Why not simply have two VHD then?

    One that the system boots off of, the other that contains the NFS share. You'd simply mount that drive to literally any other system, browse it, grab what you need all while working on restoring the primary system.

    I think you're over complicating this. . .



  • @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @dashrender said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    Any reason not to host it from a lean VM on top of Hyper-V?

    This would require the NFS share to live inside of a .VHDX.

    The NFS share would be a backup repository for some things, and having to restore a .VHDX first to restore an NFS share is more time consuming and complex, and I was hoping to avoid that if possible. Otherwise, no I could create a VM to do it, I just prefer not to.

    I get that it is an extra step, but a trivial one. You have to restore the data to Hyper-V regardless. If anything, restoring a single VHD is easier than having to restore an NFS directory and restoring the settings and such. I'd actually think that this logic would push you towards the VM rather than away from it.

    I would rather back up some Linux server to an NFS share directly on a DAS attached to the host, rather than through a VM and into a VHD. It's twice the restores needed to get at something on the NFS share then...

    But you're talking about mins worth of extra restore, not hours or days (in most cases) but with all kinds of added flexibility.

    Lets say I needed to restore something... I'd first have to restore a huge VHD and VM to make the included NFS share available. Then I would be able to restore a piece of data from that NFS share.

    That VHD will take a long time to restore as it contains so much other stuff.

    Otherwise, all data would be directly on the hardware via NFS share... if I need to restore something, I would not need to restore the ENTIRE NFS share first, as it's not all in a single VHD.

    If I have LinuxServer1, LinuxServer2, LinuxServer3, LinuxServer4, etc all in that VHD, I would still have to restore EVERYTHIGN to be able to make the NFS share available to restore a server from.

    This assumes that you don't have file level restore. So you grant yourself file level restore on bare metal, but not on the VM - why? How is this an apples to apples comparison?

    Veeam for example, does backup the whole VHD, but allows file by file recovery. So you get the best of all worlds.



  • Why don't you try the LiveCD idea combined with some script? A lot of distros offer custom scripts to be executed on boot with their LiveCDs.


  • Service Provider

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    Any reason not to host it from a lean VM on top of Hyper-V?

    This would require the NFS share to live inside of a .VHDX.

    The NFS share would be a backup repository for some things, and having to restore a .VHDX first to restore an NFS share is more time consuming and complex, and I was hoping to avoid that if possible. Otherwise, no I could create a VM to do it, I just prefer not to.

    I get that it is an extra step, but a trivial one. You have to restore the data to Hyper-V regardless. If anything, restoring a single VHD is easier than having to restore an NFS directory and restoring the settings and such. I'd actually think that this logic would push you towards the VM rather than away from it.

    I would rather back up some Linux server to an NFS share directly on a DAS attached to the host, rather than through a VM and into a VHD. It's twice the restores needed to get at something on the NFS share then...

    Sort of, but not really. It's restoring one file instead of many. You don't backup the host, or you only do if you do this. So it is one restore either way.


  • Service Provider

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    Lets say I needed to restore something... I'd first have to restore a huge VHD and VM to make the included NFS share available. Then I would be able to restore a piece of data from that NFS share.

    That's really saying the same thing twice. You are restoring the one file, that's all. Yes it is large, but it is large regardless of where you put it.


  • Service Provider

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    You see what I mean?

    I don' twant to have to restore a 10TB VHD in order to restore a 5GB linux server that's in the NFS share inside that VHD.

    I'm confused. How do you plan to get around this with your plan? Your plan has this issue the same as having the VM.


  • Service Provider

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    That VHD will take a long time to restore as it contains so much other stuff.

    Sure, but if the VHD doesn't take a long time to restore, then something else will take a long time to restore. One way or another, something is going to take a long time. And the best thing to take a long time is the singular VHD is our point.



  • @dustinb3403 said in Create NFS file share on Hyper-V Server 2016:

    @tim_g Why not simply have two VHD then?

    One that the system boots off of, the other that contains the NFS share. You'd simply mount that drive to literally any other system, browse it, grab what you need all while working on restoring the primary system.

    I think you're over complicating this. . .

    No, I'm not.

    MD1000 is attached to a Hyper-V Server 2016 host. I want to host an NFS share on the MD1000, via "HVhost/NFSshare".

    If I need to restore a server, I don't have to do anything at all. I just boot to the restore media on the LinuxServer, and point it to "HVhost/NFSshare". It's all there, no problem.

    In the other scenario, I won't be able to get at the NFS share until first restoring the VHD and the VM that can run it. So if that VHD contains a TON of other data from other servers plus older backups, it's going to take a long time to restore that VHD. Then after the VHD is restored, simply mounting the VHD on something won't allow me to remotely browse the NFS share.

    With a VHD file, you have to restore the whole thing to get at the NFS share inside of it. If the NFS share is on hardware, you only need to restore what you want.



  • @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    Lets say I needed to restore something... I'd first have to restore a huge VHD and VM to make the included NFS share available. Then I would be able to restore a piece of data from that NFS share.

    That's really saying the same thing twice. You are restoring the one file, that's all. Yes it is large, but it is large regardless of where you put it.

    No the VHD is like a big box. Inside that box contains another box (the NFS share).

    In a DR scenario, I'd have to restore the big box, just to be able to get at the box inside of it, which then contains the data I want.



  • @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    Lets say I needed to restore something... I'd first have to restore a huge VHD and VM to make the included NFS share available. Then I would be able to restore a piece of data from that NFS share.

    That's really saying the same thing twice. You are restoring the one file, that's all. Yes it is large, but it is large regardless of where you put it.

    No the VHD is like a big box. Inside that box contains another box (the NFS share).

    In a DR scenario, I'd have to restore the big box, just to be able to get at the box inside of it, which then contains the data I want.

    Right - but in your scenario, what failed?



  • In the non-VHD scenario, i could simply just restore THAT ONE LINUX SERVER data from tape onto the NFS share, rather than first restoring that WHOLE VHD.


  • Service Provider

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    In the non-VHD scenario, i could simply just restore THAT ONE LINUX SERVER data from tape onto the NFS share, rather than first restoring that WHOLE VHD.

    How can that change? That makes no sense. If you can back up Hyper-V that way, then you can back up Linux that way.

    Sing the song "Anything you can do with Hyper-V, I can do with Linux better..."

    What applies to one, applies to the other.



  • I'm really confused here. Why is the disk being restored? You run a nix VM with an NFS export. Are you deleting it or something? Just leave the VM on and the data will be there?

    What I do with KVM is have the VM running with the NFS export. Then just use guestmount (part of libguestfs) to mount it locally if I need data from it.



  • I want to back up Linux servers to an NFS share on an MD1000. Then back up that MD1000 to tape.

    From tape, I could restore a single Linux server back to the NFS share, then on the physical Linux server, run the recovery media and restore the server from that NFS share.

    Doing it via VHD through a VM, I'd have to first restore the entire VHD which contains the entire NFS share from tape, which would contain the backups of all Linux servers... all before I can run the recover media and restore that single server.


  • Service Provider

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    @scottalanmiller said in Create NFS file share on Hyper-V Server 2016:

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    Lets say I needed to restore something... I'd first have to restore a huge VHD and VM to make the included NFS share available. Then I would be able to restore a piece of data from that NFS share.

    That's really saying the same thing twice. You are restoring the one file, that's all. Yes it is large, but it is large regardless of where you put it.

    No the VHD is like a big box. Inside that box contains another box (the NFS share).

    In a DR scenario, I'd have to restore the big box, just to be able to get at the box inside of it, which then contains the data I want.

    Right, same both ways. You aren't explaining to us the downsides of our approach. We are seeing everything negative that you say about Linux as applying to Hyper-V, and everything positive about Hyper-V applying to the Linux VM. We aren't seeing what aspect is making one better than the other, no negatives that we are finding in the VM approach (which is why it's considered the best practice here.)



  • So you have Hyper-V host with NFS share - you back that up to tape - using what? There is no VM in this case, so you have to have some kind of agent that will run directly on Hyper-V.. that agent allows you to take file level backups.

    So just use that same software, this time with a Windows Agent, install that agent inside the Windows VM, use that agent to backup to tape the files, not the VM (a good one might do both at the same time).
    Then restore from tape just the file itself to the windows VM previously mentioned. Done, no restore of a whole VM on Hyper-V required.



  • @tim_g said in Create NFS file share on Hyper-V Server 2016:

    Doing it via VHD through a VM, I'd have to first restore the entire VHD which contains the entire NFS share from tape, which would contain the backups of all Linux servers... all before I can run the recover media and restore that single server.

    It's the same amount of data. One is stored in a VHD, the other is stored in a file system. You wouldn't be able to restore the Linux machines without having the hypervisor up and the data back on the MD1000 anyway. That extra step seems so insignificant that it's not even worth thinking about.


  • Service Provider

    @tim_g said in Create NFS file share on Hyper-V Server 2016:

    Doing it via VHD through a VM, I'd have to first restore the entire VHD which contains the entire NFS share from tape, which would contain the backups of all Linux servers... all before I can run the recover media and restore that single server.

    So let's reword this...


    Linux VM Way

    You'd have to install Hyper-V, then restore a tiny VM (maybe 10GB or less) or do a built from Ansible or whatever. This is fast and painless no matter how it is handled. Super easy.

    Then you'd need to restore the files you want to put back. You can restore only the ones you need to restore right away, then get the rest later.


    Hyper-V Way

    You'd have to restore Hyper-V, rather than do a plain install or else you'll need to have it backed up. This is also fast, but the same effort as the Linux VM above. No benefits yet.

    Then you'd need to restore the files you want to put back. You can restore only the ones you need to restore right away, then get the rest later.


    From what I can tell, they are effectively identical.



  • I think Tim might believe that the only way to backup a VM on Hyper-V is by backing up the whole VHD. This is not the case. You can install an Agent inside the VM, and do file level backup just like you do a bare metal server.