Linux – Input/output error when attempting to mount a Windows NFS share

linuxnetwork-sharenfswindows-server-2012

I created the Windows Server 2012 share using:

PS C:\Windows\system32> nfsshare testshare2=C:\testshare2 -o anon=yes anonuid=0 anongid=0 rw=uuu.uuu.uuu.uuu
testshare2 was shared successfully

Where uuu.uuu.uuu.uuu is the IP of my Ubuntu system.

Next, from the Ubuntu machine I mounted the Windows NFS share as follows:

sudo mount -t nfs xxx.xxx.xxx.xxx:/testshare2 /mnt/testshare2

Where xxx.xxx.xxx.xxx is the IP of the Windows Server 2012 machine.

No errors are shown when mounting, but when I ls the mounted directory, the following appears:

ls: cannot open directory /mnt/testshare2/: Input/output error

I'm not showing any errors in Ubuntu's syslog.

Here are properties of the share in Server 2012:
enter image description here

Edit 1: I get the same input/output error when attempting to mount the Server 2012 NFS share from a RHEL7 machine. Mount works fine I just can't ls directory or touch files.

Edit 2: In Server 2012, the NFS log shows a successful mount to both Ubuntu and RHEL machines.

Best Answer

This is solved. On Server 2012:

  1. Opened Server Manager -> Shares

  2. Removed the existing share

  3. Deleted the previously shared folder

  4. Started a new share using the New Share Wizard enter image description here

  5. Selected NFS Share - Quick then clicked Next. enter image description here
  6. Selected a new folder to share in Type a custom path then clicked Next. enter image description here
  7. Confirmed Share name, local path and remote paths then clicked Next. enter image description here
  8. On the Authentication window, I selected No server authentication (AUTH_SYS), then selected Enable unmapped user access by UID/GID and made sure the Allow unmapped user acess by UID/GID radio button was selected. Then clicked Next. enter image description here
  9. On the Share Permissions window, I clicked Add.

  10. An Add Permissions window popped up. Here, next to Host, I entered the IP of the remote Linux computer that would be mounting, left Language encoding to ANSI, and set Share permissions to Read/Write. I then clicked Add at the bottom which closed the Add Permissions window.
    enter image description here

  11. On the Share Permissions window I confirmed settings entered in the previous step, then clicked Next. enter image description here
  12. On the Specify Permissions window, I clicked Next without making changes. enter image description here
  13. I confirmed settings on the Confirm selections window then clicked the Create button. enter image description here

Then from my RHEL7 system I issued:

mount -t nfs sss.sss.sss.sss:/somedata /mnt/somedata/

Where sss.sss.sss.sss is the IP of the Server 2012 system.

From the RHEL7 machine, I confirmed write access by issuing

date >> /mnt/somedata/date.txt

Then checked that the file existed from Server 2012.