Two years ago I put together a guide for using NFS with Windows Home Server v1. Since then a new version of Windows Home Server has emerged (WHS 2011), so naturally I have gotten questions about if/how NFS could be applied to WHS 2011. Up to now there was really very little I could do to investigate as I am still running Windows Home Server v1. However, a few days ago my Mini-ITX test server running WHS 2011 came alive (stay tuned for my writeup, a sneak peek can be seen here), so I decided to tackle the question of NFS. Digging around on the web all I could find was reference to setting up NFS on Windows Server 2008 R2, but since I believe WHS 2011 has its roots in Windows Server 2008 I was hopeful I could somehow use Server 2008 as a reference point for WHS 2011. Sure enough, although it wasn’t a perfect match, I was able to successfully set up NFS on my WHS 2011 server. Let’s take a look to see what was needed.
DISCLAIMER – setting this up was a bit of a stab in the dark on my part, so I can’t guarantee that this guide will be 100% reliable or complete. In fact, I am hopeful that as more experienced members of the community read along they can provide feedback so we can make a definitive NFS for WHS 2011 guide
Installing Services for Network File Systems (NFS)
In WHS v1, Services for NFS was not part of the Operating System so you had to actually go and download from Microsoft’s website. Fortunately with WHS 2011 it is included as a component, just not installed.
Go To Start Menu -> Administrative Tools -> Server Manager (or you should already have the Server Manager icon on your toolbar)
With “Roles” in the left pane highlighted scroll down the “Rolls” section in the right pane until you get to the “File Services” section. Under “Roll Services” you should see a roll service called “Services For Network File System” which is currently uninstalled.
Click on the “Add Role Services” directly to the right of the “Role Services” header which should bring up the “Add Role Services” prompt. Place a check next to “Services for Network File System” and click “Next”
Dialogue should now appear simply confirming your install choice as well as a message that you may be required to restart your server. Click “Install”
Once the installation is complete simply click “Close” and restart your server (you must do this manually, you will not be prompted to restart).
After your server had been restarted go to Start Menu -> Administrative Tools -> Services (or you can get there from Server Manager as shown in the screenshot below) and you should now see a service called “Server for NFS” which should have a status “Started”. If you see this your NFS installation was a success!
Sharing Folders Via NFS
Now that NFS has been installed, next up is to assign NFS sharing to your folder(s) of choice. Locate the folder you want to share, right click, and select “Properties”. You should now see a tab called “NFS Sharing”, so click the “Manage NFS Sharing” button
Check the “Share this folder” option at the top and click the “Permissions” button (I left all other options at the default settings)
Under NFS Share Permissions decide what type of access you want to grant (I left at Read-Only) and check “Allow root access”.
You can add additional users/permissions by clicking the “Add” button. For the “Add Names” section you can specify what devices can access your NFS share. In order to add the device must be visible on the network from your WHS 2011 server. Simply go into the Network Browser to see a list of all devices accessible, and for the ones you want to add simply type in the exact name as it shows in the Network Browser. However, for the “Names:” section I am unsure how you would add.
Here is a screenshot with various devices on my network added.
Of course the final step is to actually confirm that NFS is actually working on your WHS 2011 server, and the only way to do that is to try and access a file from another machine that can act as an NFS client. Since my PCH A-300 accepts NFS, I strolled over to the player hoping it wouldn’t prove me to be a failure. On the PCH you can access your NFS shares two ways, either through the Network Browser under NFS_Servers or by manually entering in the share information:
Under NFS the network share address would be nfs://MyServer:/Videos (take note of the additional “:”).
Sure enough, I was able to successfully navigate to my Videos share which I had set up for NFS sharing:
Here is a picture of my video playing silky smooth over NFS:
One final test I wanted to do was to confirm network performance versus smb. The main advantage of nfs over smb is better network performance. This isn’t overly critical for video playback as smb is perfectly fine for playback (including high bitrate content), but some people may find that for whatever reason smb implementation on their network is flaky and nfs is a better alternative. Using my trusty Planet Earth bird scene I was able to play back without issue the 100 Mbps clip via nfs (only able to play back up to 70 Mbps via smb).
1) Once Server for NFS is installed you should now have a new option under Start Menu -> Administrative Tools called Services for Network File Service (NFS) where you can access the various Services for NFS settings
2) In the NFS setup guide for WHS v1 we were able to set up User Name and Group Mapping. For WHS 2011 I am unable to do this. Under Start Menu -> Administrative Tools -> Services for Network File Service (NFS), if I right click on “Services for NFS” and go to “Properties” there is an option to enable User Name Mapping but no matter what host name I input it doesn’t work.
However, after reading around in the Help section I saw this note which may indicate that User Name Mapping no longer exists in the same fashion that we used for WHS v1.
User Name Mapping has changed. Server functionality no longer exists, but client functionality is present. Services for NFS can still retrieve mappings from existing legacy User Name Mapping servers.
Furthermore the notes state that some of the components are applicable to Windows Server 2008 R2 only (and the .maphosts file references below I could not find anywhere in WHS 2011):
Specify how Server for NFS obtains UID and GID information for users:
- Before using Active Directory Lookup, you must install and populate the Identity Management for UNIX Active Directory schema extension, included in Windows Server 2008, or use an equivalent schema that includes UNIX UID and GID fields. Identity Management for UNIX greatly simplifies this aspect of Windows-to-UNIX user account management in Active Directory Domain Services.
- You can specify the IP address of the User Name Mapping server instead of the name of the server.
- Before using User Name Mapping, the computer running Server for NFS must be listed in the .maphosts file on the computer running User Name Mapping.
While in the Services for Network File Service if you right click on “Server for NFS” and go to “Properties”, there is an option for “Netgroups” which looks like it may be an option to help manage access to the NFS shares, but I couldn’t find much information on how to use.
I am still surprised how easily I was able to set up NFS on my WHS 2011 server (granted it took me hours of digging around, searching around on the web, trying to cross reference against articles such as the one for Windows server 2008 R2, etc… Really the only question left is if there are more optimal settings that should have been done. Maybe not, and I am letting the fact that setting up NFS on WHS v1 was so involved cloud my judgement! The only thing I can think of is how to assign groups to the NFS shares instead of just allowing access on a device level. I hope everyone finds this guide useful, and I welcome any comments/feedback.