这是Rachel遇到的一个案例,不过我想应该谁都会遇到,只是在我们实施中,很少有需要系统启动挂载NFS的,至少我还从来没有遇到过用户的这种需求,现象是这样的:
在/etc/fstab里加上需要自动挂载的NFS
192.168.1.100:/export/files /files defaults 0 0
首先测试,使用mount /files,NFS能成功挂载上来,说明fstab文件语法没有问题,NFS服务也没有问题。
于是重启系统,期望它能自动挂载。奇怪的是,系统启动完后,NFS没有挂载上来,系统日志有下面的信息:
mount: mount: mount to NFS server '192.168.1.100' failed: mount: System
Error: No route to host.
但是,一旦系统启动完成,尝试mount /files命令时,一切OK。
由此看来应该是网络的问题。也许是网络起来后,但是路由还没有完全准备好,或者网络还在初始化状态,那么我们需要再自动挂载NFS 的自动化脚本上来一个短暂的休眠而保证网络能够初始化完成。
修改/etc/init.d/netfs在
[ ! -f /var/lock/subsys/portmap ] && service portmap start
action $”Mounting NFS filesystems: ” mount -a -t nfs,nfs4
之间加上下面一行
action $"Sleeping for 30 secs: " sleep 30
保存后,再测试,OK,世界太平了,当然也休眠的时间,你可以需要根据实际的环境来测试,不过30秒基本上能满足需求了。
如果你能在系统日志中看到类似下面的信息,那表示一切正常
kernel: bnx2: eth0 NIC Link is Up, 1000 Mbps full duplex netfs:
Sleeping for 30 secs: succeeded netfs: Mounting NFS filesystems: succeeded