How to Mount Windows Folder into VMware ESXi?

In this article we will take a look on how to connect a network folder from Windows 2012 R2 Server as a datastore on the VMware ESXi host and use it to store files of your virtual machines (VMs) or ISO images. VMWare ESXi cannot work directly with Windows shares (over SMB protocol), so we have to use it in another way.

ESXi host can use 2 types of storages as a datastore:

  • Local disk or LUN from external storage device connected over Fibre Channel or iSCSI
  • Network File System (NFS) – network protocol for remote access access to file systems, commonly used in Unix/Linux environment

Firstly Microsoft implemented basic NFS server functionality in Windows Server 2003 R2 and it is still present in Windows Server 2012 R2.

Tip. NFS directory usage as a storage for VMWare VM’s files should be considered only for the test or non-critical production environment.

So, at first we first need to configure NFS share on Windows 2012 R2 and then connect it as a datastore on ESXi host. We already have a server with configured role File and Storage Services. To install NFS Server feature:

  1. Open Server Manager console and select Manage -> Add Roles and Features
  2. On the Server Roles tabs expand section File and Storage Services  -> File and iSCSI Services
    esxi smb datastore
  3. Tick the item Server for NFS
  4. After installation is finished, click on “Close”
    esxi mount smb share

Tip. You can install Server for NFS Features even easier with a single Powershell command:

Add-WindowsFeature "FS-NFS-Service"

Next you need to create a new Windows directory that will be used as an NFS mount point. In this example we created folder c:\nfs , and it is not the best practice :).

Switch to the Server Manager console and go to File and Storage Services-> Shares. Run New Share Wizard (Tasks -> New Share) and then select NFS Share-Quick.

esxi smb share

Specify share path and desired name. In this example we are using share name nfs. In this case, full NSF path (Remote path to share), that can be used on Unix environment looks like this: srv_fs01:/nfs

mount esxi datastore in windows

On authentication method page disable Kerberos authentication methods and select only “No Server authentication” and “Enable unmapped user access”.

esxi datastore network share

To configure share permissions enter your ESXi host FQDN name / IP address, select Read/Write permissions and tick Allow root access.

esxi smb

Tip. Also you can restrict access to NFS service using Windows Firewall by denying access except the required IP address or subnet

You can create an NFS share and restrict access to it via PowerShell:

New-NfsShare -Name "NFS " -Path "c:\nfs" -AllowRootAccess $true -Permission Readwrite -Authentication sys
Grant-NfsSharePermission -Name “NFS” -ClientName 192.168.1.111  -ClientType host -LanguageEncoding ANSI

So we have created a new network NFS share on Windows Server 2012 R2. It remains to connect it as a datastore to VMWare host.

Tip. Make sure that vmkernel port is configured on your ESXi host.

  1. Login to your vSphere server / ESXi host and select your host. From Action menu select StorageNew > Datastore
    vmware cifs datastore
  2. Select NFS as a datastore type
    esxi samba
  3. Select NFS 4.1 (supported on Windows Server starting from Server 2012)
    esxi cifs
  4. Give your Datastore a name (WindowsNFS), enter NFS Folder (/nfs) and NFS server name (IP address or DNS name)
    access vmware datastore from windows

After successfull adding the NFS datastore, it appears in the list of available host datastores. You can use this datastore (yet empty) to place the VM files or store operating systems ISO images.

esxi shared folder

Cyril Kardashevsky

3 comments

  1. After giving me a lot of headaches, I found out that a Windows Server performance for NFS shares is really awful – just forget Windows and install a proper Linux for your NFS server, and prevent those slow transfer rates.

  2. Thank you for the very helpful article. I have two 6.5 ESXi machines. Following your instructions, I was able to mount the NFS Share successfully on one of them. However the attempt failed on the second ESXi server with an unspecified error that the NFS Server had rejected the request. Any clues as to why the NFS Server would accept the request from one ESXi Server but reject the request from the second?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.