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:
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:
-
Opened
Server Manager -> Shares
-
Removed the existing share
-
Deleted the previously shared folder
- Selected
NFS Share - Quick
then clicked Next.
- Selected a new folder to share in
Type a custom path
then clicked
Next.
- Confirmed
Share name
,local path
andremote paths
then clicked
Next.
- On the Authentication window, I selected
No server authentication
, then selected
(AUTH_SYS)Enable unmapped user access by UID/GID
and made sure theAllow unmapped user acess by UID/GID
radio
button was selected. Then clicked Next.
-
On the Share Permissions window, I clicked
Add
. -
An
Add Permissions
window popped up. Here, next toHost
, I
entered the IP of the remote Linux computer that would be mounting,
leftLanguage encoding
toANSI
, and setShare permissions
to
Read/Write
. I then clickedAdd
at the bottom which closed the
Add Permissions
window.
- On the Share Permissions window I confirmed settings entered in the
previous step, then clicked Next.
- On the Specify Permissions window, I clicked Next without making
changes.
- I confirmed settings on the
Confirm selections
window then clicked
theCreate
button.
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.