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

Posted on

Input/output error when attempting to mount a Windows NFS share – A server stack is the collection of software that forms the operational infrastructure on a given machine. In a computing context, a stack is an ordered pile. A server stack is one type of solution stack — an ordered selection of software that makes it possible to complete a particular task. Like in this post about Input/output error when attempting to mount a Windows NFS share was one problem in server stack that need for a solution. Below are some tips in manage your linux server when you find problem about linux, windows-server-2012, nfs, network-share, .

I created the Windows Server 2012 share using:

PS C:Windowssystem32> 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.

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.

When creating an NFS share from Windows Server 2016, the above instructions helped alot. One important piece is to also install the File Server Resource Manager role. Prior to that I only got input/output error and linux reported mount as nfs version 3. Afterward, linux reported nfs version 4.1 and the mount worked.

image

Leave a Reply

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