自动挂载 autofs 的使用
我们知道 NFS 服务器与客户端的联机或许不会永远存在,而 RPC 这个服务又挺讨厌的,如果挂载了 NFS 服务器后,任何一方脱机都可能造成另外一方老是在等待超时~而且,挂载的 NFS 文件系统可能又不是常常被使用,但若不挂载的话,有时候紧急要使用时又得通知系统管理员, 这又很不方便...啊!好讨厌的感觉啊~@_@
所以,让我们换个思考的角度来讨论一下使用 NFS 的情境:
1.可不可以让客户端在有使用到 NFS 文件系统的需求时才让系统自动挂载?
2.当 NFS 文件系统使用完毕后,可不可以让 NFS 自动卸除,以避免可能的 RPC 错误?
如果能达到上述的功能,那就太完美啦!有没有这东西呢?有的,在现在的 Linux 环境下这是可以达成的理想!用的就是 autofs 这个服务啦!
如上图所示,我们的 autofs 主要配置文件为 /etc/auto.master,这个文件的内容很简单, 如上所示,我只要定义出最上层目录 (/mnt/test) 即可,这个目录就是 autofs 会一直持续侦测的目录啦。 至于后续的文件则是该目录底下各次目录的对应。在 /etc/auto.test (这个档案的档名可自定义) 里面则可以定义出每个次目录所欲挂载的远程服务器的 NFS 目录资源!
举例来说:『当我们在客户端要使用 /mnt/test/server 的数据时,此时 autofs 才会去 192.168.111.10 服务器上挂载 /tmp/test !』且『当隔了一段时间(可以自定义)没有使用该目录下的数据后,则客户端系统将会主动的卸除 /mnt/test/server 』。
来实现一下吧:
Step 1:编辑auto.master文件 添加一下内容
# vim /etc/auto.master
/mnt/test /etc/auto.test --timeout=3 //这里为了测试将时间设置成3秒
Step 2:创建auto.test文件
# vim /etc/auto.test 文件内容如下
server -rw,soft,intr 192.168.111.10:/tmp/test //和开机自动挂载很像啦
Step 3:启动autofs服务
# service autofs start
Step 4:测试
先使用mount命令查询一下挂载情况
直接切换进/mnt/test/server目录试试,并且操作一下
然后切换出来等待3秒看看
很神奇吧,相信这个对读者来说一定是很有用的啦。
好啦,东西NFS的东东啰嗦完了,读者自己好好练练吧O(∩_∩)O~