最近公司nas存储的nfs服务端总是出问题,所以有一个需求是要检测服务端nfs服务出异常挂载不了目录,并且输出错误信息,下面详细说明一下:
1、在客户端必须通过soft方式来挂载nfs服务端,不然当服务端异常的时候会一直卡在那里,不会输出错误信息。
mount -t nfs -o rw,intr,soft,timeo=30,retry=3 服务端nfs的ip:服务端nfs目录 /122test/
上面/122test是我客户端挂载的目录
2下面给出服务端nfs异常输出的python脚本,注意脚本是放在客户端执行的
#!/usr/bin/python
import os,os.path,sys,commands
class MountExcepition(Exception):
def __init__(self,value):
self.value = value
def __str__(self):
return repr(self.value)
if __name__ == '__main__':
try:
cmd = "ls -l /122test"
(status,output) = commands.getstatusoutput("%s" %cmd)
if status != 0:
raise MountExcepition(output)
except MountExcepition as e:
print (e.value)
else:
print "the mountdir is available!!"
上面我尝试执行linux的ls -l /122test命令来测试nfs目录的挂载情况,下面给出报错的信息输出:
ls: cannot access /122test: Input/output error