在mount成功后,如何判断mount是否有效?

dafa2007 2011-08-29 06:58:52
A机和B机之间进行NFS挂载,A机作为server(192.168.11.119)端,B机作为client(192.168.11.10)端.
A机中的exports配置文件设置为:/home/dafa/mnt *(rw,async,no_root_squash)
通过命令mount -t nfs -o nolock 192.168.11.119:/home/dafa/mnt /storage/nfs 进行挂载后,
用命令mount能看到挂载成功了执行结果为:
192.168.11.119:/home/dafa/mnt on /storage/nfs type nfs (rw,vers=3,rsize=32768,wsize=32768,soft,nolock,proto=udp,timeo=7,retrans=3,sec=sys,addr=192.168.11.119)


这时将A机和B机连接的网线拔掉,再次执行mount命令其结果任然为:
192.168.11.119:/home/dafa/mnt on /storage/nfs type nfs (rw,vers=3,rsize=32768,wsize=32768,soft,nolock,proto=udp,timeo=7,retrans=3,sec=sys,addr=192.168.11.119)

有什么方法/手段可以判断,在NFS mount成功之后,mount的结果是否继续生效,也就是client端能继续读写server端共享目录里的文件。

又是试过定时以只读方式打开server端的一个指定文件,但是程序堵在open函数这里,既不返回错误,也不往下执行。哪位大侠能帮帮忙,指点一下。
...全文
1767 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
linuxdog2 2012-08-04
  • 打赏
  • 举报
回复
mountpoint testdir/
shouso888 2012-05-14
  • 打赏
  • 举报
回复
楼主,最后找到解决办法了么? 我今天刚好也是碰到了这个问题。。忘赐教~
dafa2007 2011-08-30
  • 打赏
  • 举报
回复
灰常的感谢楼上各位大侠的指点,上面的方法我都试了一下
在mount成功后,再断网的情况下:mount -a,mount,sync不管数多少次都不起作用。
用touch 的方法的话,fopen的时候也是一样的结果,程序被挂起,既不返回错误,也不往下执行。

用df命令的话,跟cloudflashes说的情况一样,df命令被挂起。而且用命令的话,程序中貌似只能用system()来调用shell命令,程序会堵在system()的系统调用处。

有没有其它更好一点的方法
louyong0571 2011-08-30
  • 打赏
  • 举报
回复
open异常肯定是有问题的。
要不你读写服务器的文件怎么操作?
cloudflashes 2011-08-30
  • 打赏
  • 举报
回复
启动一个子进程以后台方式运行df命令,记录它的进程号。过一段时间再看看这个进程的状态。如果挂起的话就可以判定NFS有问题。然后进行错误处理......
wangtingguang 2011-08-29
  • 打赏
  • 举报
回复
touch 个文件,写点数据看看。
jackyjkchen 2011-08-29
  • 打赏
  • 举报
回复
在输入一遍mount,就会列出结果
cloudflashes 2011-08-29
  • 打赏
  • 举报
回复
后台方式运行df或者stat命令,等一会儿看看它死了没有:)
如果nfs正常挂载的话,会立即返回文件系统列表。如果nfs服务器死机,那么df或者stat命令会挂起。
帅得不敢出门 2011-08-29
  • 打赏
  • 举报
回复
sync有没用.
freetstar 2011-08-29
  • 打赏
  • 举报
回复
mount -a看看

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧