2

(my systems are running centos7)

I'm trying to check from the client if drives are mounted properly over NFS.

Typing the command nfsstat -m gives me the mounts that it thinks are currently mounted, but this is no guarantee that those folders are accessible. It could just be that the NFS server was running when those folders were mounted but that the NFS server is down now.

For example, if the NFS server goes down and on the client machine I type df -h then the command will hang indefinitely. Likewise, if I try to ls the folder I'm trying to mount then it too will hang indefinitely.

Here's an example that shows my problem

# on server
systemctl start nfs-server

# on client
mount node1:/mnt/images /mnt/images
df -h #works fine here

# on server
systemctl stop nfs-server

# on client
nfsstat -m #shows the list of nfs mounts
df -h #this command will hang
ls /mnt/images #this command will hang

Any suggestions on how to test if from the client side if the NFS server is running or if the NFS mounted folders are accessible would be greatly appreciated.

If I run showmount -e on the server I get this output (note /mnt/images and /mnt/rv_output and /rv are all folders I'm trying to mount from my client machines)

/mnt/rv_output 192.168.81.0/24
/mnt/images    192.168.81.0/24
/rv            192.168.81.0/24

But I'm not interested in testing this connection on the Server, I want to test it on the client machines. If I run showmount -e on the client I get the same output irregardless of whether the nfs-server has been activated from the Server computer.

clin_create: RPC: Port mapper failure - Unable to receive: errno 111 (connection refused)
0

3 Answers 3

2

If you have a standard setup, the NFS daemon on the server will be listening on TCP/UDP port 2049, so you can try to connect to it using netcat, ncat, nc or even telnet. I'm not running CentOS, so I can't tell exactly what you have available, but on my machine (OpenBSD)

$ nc -z ip_of_nfs_server 2049

does the trick (add -u for UDP, the -z switch tells it to check for listening daemons without sending data). Check the man pages for what you have on your machine to achieve the same with other tools. telnet is more or less ubiquitous so

$ telnet ip_of_nfs_server 2049

should also work (exit with Ctrl+c).

1

showmount

from man showmount

showmount - show mount information for an NFS server

I use with --exports ( or -e ) option to see what is actually exported.

1
  • This didn't help as it displays the same result on the Client machines whether the NFS-server was running or not on the Server machine. See my update.
    – Stanton
    Commented Nov 2, 2017 at 16:44
0

Since you already know df -h does what you need, but hangs, you can prepend your command with timeout command so it won't hang:

timeout 5s df -h 1>/dev/null 2>/dev/null && echo OK || echo NOK

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .