Last week I've installed Windows Services For UNIX on a Windows 2003 Server test machine (s2003), and exported a folder through NFS. The share is named "storage", and is used as a temporary place for very large export/dump files. Unfortunately, this is the only machine where I have access to a big, inexpensive disk and is accessible from both production and test network environments.
I was able to mount the nfs share in read/write mode on two Solaris' servers, using the command:
mount -F nfs -o hard,rsize=32768,wsize=32768 s2003:/storage /storage
The two machines are called, respectively:
- eprod, SunOS 5.8
- etest, SunOS 5.10
I've intensively used the mounted file system without any problems, from both machines. But today, while issuing a "ls" command on eprod, I've noticed the message:
NFS server s2003 not responding still trying
On etest, I didn't have any issue and the remote share is still mounted and working.
So I thought that maybe there was a network problem in the weekend, and tried to umount and remount "/storage" on eprod:
eprod/root> umount s2003:/storage
nfs umount: /storage: is busy
eprod/root> fuser /storage # The command hangs indefinitely (interrupted with ^C)
/storage:
eprod/root> fuser -c /storage # The command works and it doesn't report anything
/storage:
So, I've tried the hard way, and it worked:
umount -f /storage
The problem now is that I am not able to mount the filesystem anymore:
eprod/root> mount -F nfs -o hard,rsize=32768,wsize=32768 s2003:/storage /storage
NFS server s2003 not responding still trying
The command "hangs" indefinitely... I've already performed basic connection tests from eprod to s2003:
- ping works
- telnet s2003 on port 2049 works
I've also tried to monitor network traffic with netstat and snoop while issuing the mount command:
eprod/root> netstat -a | grep s2003
eprod.login s2003.nfsd 0 0 24820 0 SYN_SENT
eprod.53759 s2003.nfsd 65415 0 24820 0 TIME_WAIT
eprod/root> snoop s2003
Using device /dev/ce (promiscuous mode)
eprod -> s2003 PORTMAP C GETPORT prog=100005 (MOUNT) vers=3 proto=UDP
s2003 -> eprod PORTMAP R GETPORT port=1048
eprod -> s2003 MOUNT3 C Null
s2003 -> eprod MOUNT3 R Null
eprod -> s2003 MOUNT3 C Mount /storage
s2003 -> eprod MOUNT3 R Mount OK FH=7593 Auth=none,unix
eprod -> s2003 PORTMAP C GETPORT prog=100003 (NFS) vers=3 proto=TCP
s2003 -> eprod PORTMAP R GETPORT port=2049
eprod -> s2003 TCP D=2049 S=51997 Syn Seq=1199030867 Len=0 Win=24820 Options=<nop,nop,sackOK,mss 1460>
s2003 -> eprod TCP D=51997 S=2049 Syn Ack=1199030868 Seq=2849360585 Len=0 Win=16384 Options=<mss 1460,nop,nop,sackOK>
eprod -> s2003 TCP D=2049 S=51997 Ack=2849360586 Seq=1199030868 Len=0 Win=24820
eprod -> s2003 NFS C NULL3
s2003 -> eprod NFS R NULL3
eprod -> s2003 TCP D=2049 S=51997 Ack=2849360614 Seq=1199030988 Len=0 Win=24820
eprod -> s2003 TCP D=2049 S=51997 Fin Ack=2849360614 Seq=1199030988 Len=0 Win=24820
s2003 -> eprod TCP D=51997 S=2049 Ack=1199030989 Seq=2849360614 Len=0 Win=65415
s2003 -> eprod TCP D=51997 S=2049 Fin Ack=1199030989 Seq=2849360614 Len=0 Win=65415
eprod -> s2003 TCP D=2049 S=51997 Ack=2849360615 Seq=1199030989 Len=0 Win=24820
eprod -> s2003 RLOGIN R port=2049
eprod -> s2003 RLOGIN R port=2049
eprod -> s2003 RLOGIN R port=2049
...
eprod -> s2003 RLOGIN R port=2049
eprod -> s2003 RLOGIN R port=2049
...
...
... and so on
I exclude possible problems on s2003, because I can mount "/storage" folder from other machines on the same network of eprod.
I've also found that using udp protocol instead of tcp (default) works:
mount -F nfs -o hard,rsize=32768,wsize=32768,proto=udp s2003:/storage /storage
What could be the problem? How can I solve this issue?
Thanks in advance!