注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 LCS2005客户端配置详解:L..
 帮助

求解:NFS脚本引发的问题?


2008-03-14 13:28:35
 标签:问题 脚本 NFS 引发   [推送到技术圈]

版权声明:原创作品,谢绝转载!否则将追究法律责任。
我的存储服务器10.3.1.111上做了NFS,有多个客户端,在客户端上做了NFS挂载的脚本
内容如下:
#!/bin/bash
if [ ! -e /var/www/html/web/nfstest/test ]; then
# file doesn't exist ,haven't mount yet
# so mount it
        /bin/mount -t nfs 10.3.1.111:WWWRoot  /var/www/html/web
fi
在crontab中设置2分钟执行一次脚本
功能十分简单,也就是检查nfs上的某个目录是否存在,不存在就说明没挂载成功.就使用命令挂载.
一直以来都正常,昨天重启了存储服务器,突然发现大多数的客户端都正常,但是有两个客户端cpu负载急剧增加,而且进程数也疯狂增长.使用ps -ef发现了很多进程都是执行这个脚本的进程,而且不能完全杀掉,想使用reboot命令重启也不行.
最后只能按reset键重启了才解决.
想问一下这是啥原因呢?如何改进这个脚本?

本文出自 “yahoon的小屋” 博客,谢绝转载!





    文章评论
 
2008-03-14 14:46:54
感谢coolerfeng 给我的意见,问题有了一个基本的解释和解决.下面是我和他的对话节选 ,希望对大家有用

Coolerfeng 14:32:21
mount失败之后
都没退出,一直在等待啊
要不然你怎么能看到大把进程呢
yahoon 14:32:43
是啊 有的退了有的没退
Coolerfeng 14:32:57
而且由于第一个mount占用资源,卡住了,第2个mount也挂不上的
yahoon 14:33:07
看来这个超时的时间 还真不定
Coolerfeng 14:33:25
脚本里面应该加一个进程检测,存在进程但是不存在目录,先把进程杀了再mount
yahoon 14:33:31
如果你能知道多长时间超时退出 那么我的脚本执行的间隔时间比这个时间长就没问题了
Coolerfeng 14:33:50
杀了再mount嘛
yahoon 14:34:13
干脆把脚本换成半个小时执行一次
实在是不理解mount机制所致
Coolerfeng 14:37:18
ps ef | grep mount得到进程号,
然后kill -9 进程号嘛
Coolerfeng 14:37:34
当然ps的结果要过滤一下的
Coolerfeng 14:41:25
vpnpid=`ps ax | grep "/bin/mount -t nfs 10.3.1.111:WWWRoot /var/www/html/web"| grep -v grep | awk '{print $1}'`
Coolerfeng 14:41:38
vpnid这个变量就随便了
yahoon 14:42:30
grep -v grep 这个是干嘛
Coolerfeng 14:42:52
就是去掉每次grep出来时多的一行

再次对coolerfeng表示感谢

2008-03-14 14:56:14
对话中血腥暴力的成分都'和谐'掉了

缺少了看点~~

2008-03-15 11:42:54
楼上的,要和谐也先和谐你

2008-03-20 21:44:07
嘿嘿。你试试

2008-05-13 14:24:57
- -|

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: