automount - CentOS 6.5 上的 autofs 挂载问题

automount - CentOS 6.5 上的 autofs 挂载问题

服务器 CentOS 6.5 和 Selinux 是宽容的

我的 NFS 服务器共享在 /etc/exports 中

/home/unixmen/  10.0.0.0/24 (rw,sync,no_root_squash)

在另一台 CentOS 6.5 主机上运行的客户端能够正常挂载。

当我尝试使用 autofs 进行自动挂载时,什么也没起作用,在 Google 上搜索了很多有关此问题的资料以找出根本原因,但仍未成功。

我想知道我是否做了一些基本的错误。

请参阅 autofs 配置

~]$ cat /etc/auto.master
#/net -hosts
#+auto.master
/misc /etc/auto.misc

~]$ cat /etc/auto.misc
unixmen -fstype=nfs 10.0.0.14:/home/unixmen

我确实将 /etc/sysconfig/autofs 中的日志级别更改为调试,重新启动 autofs 后,日志显示

Jun 27 17:20:00 ganeshh automount[12322]: mounted indirect on /misc with timeout 300, freq 75 seconds

不确定这是否与安装问题有关

最近,我在日志中得到了这些数据

Jun 27 18:11:49 ganeshh automount[12322]: expire_proc: exp_proc = 3063937904 path /misc
Jun 27 18:11:49 ganeshh automount[12322]: expire_cleanup: got thid 3063937904 path /misc stat 0
Jun 27 18:11:49 ganeshh automount[12322]: expire_cleanup: sigchld: exp 3063937904 finished, switching from 2 to 1
Jun 27 18:11:49 ganeshh automount[12322]: st_ready: st_ready(): state = 2 path /misc

最终 /misc 目录中没有挂载文件

答案1

现在我们已经让它工作了(-fstype=nfs在地图中是不需要的,而且可能无效),你的问题表明了对如何automount向用户呈现的误解。

这是我的主文件中的自动挂载条目

/mnt    /etc/auto.master.d/mnt

以及相应的地图

# cat /etc/auto.master.d/mnt
helvellyn       -ro,soft,intr   10.18.145.31:/var/log/httpd
bowfell         -ro,soft,intr   10.18.145.27:/var/log/httpd

下面是ls触发器目录的一些输出

# ls -al /mnt
total 4
drwxr-xr-x  2 root root    0 Jun 14 10:01 .
dr-xr-xr-x 25 root root 4096 Jun 27 03:37 ..

注意A)该目录是空的,并且b)大小为 0 字节。前者让你感到困惑,而后者是非法的:即使是一个空目录也有 4096 字节大小。但零是一种简写方式,可以知道哪个automount已正确读取你的地图并拥有该目录。你也可以使用以下命令进行检查df

# df -k /mnt
Filesystem             1K-blocks  Used Available Use% Mounted on
/etc/auto.master.d/mnt         0     0         0    - /mnt

现在让我们列出目标目录,即使父目录显然是空的:

# ls -al /mnt/helvellyn
total 761548
drwxr-xr-x 2 root root      4096 Jun 23 13:21 .
drwxr-xr-x 3 root root         0 Jun 27 07:31 ..
-rw-r--r-- 1 root root         0 Jun  1 03:18 access_log
-rw-r--r-- 1 root root   7485078 May 11 03:09 access_log-20140511
-rw-r--r-- 1 root root   7052254 May 18 03:06 access_log-20140518
-rw-r--r-- 1 root root   5357900 May 25 03:28 access_log-20140525
-rw-r--r-- 1 root root    577579 May 25 16:36 access_log-20140601
[...]

内容神奇地出现了!现在让我们再次列出父级:

# ls -al /mnt
total 8
drwxr-xr-x  3 root root    0 Jun 27 07:31 .
dr-xr-xr-x 25 root root 4096 Jun 27 03:37 ..
drwxr-xr-x  2 root root 4096 Jun 23 13:21 helvellyn

Automount 确实会进行按需安装(和卸载)。由于/mnt/helvellyn只有在您尝试访问它时才会安装,第一次访问触发挂载之前你无法看到它

我希望你能原谅我补充一点,如果你从这个答案中学到另一个教训,那就是细节对于 UNIX 系统管理员来说至关重要。如果一条指令要求您执行X,那么准确地执行 可能很重要X,而不是执行您认为完全等同于 的操作X。那个小小的零大小目录应该会给您一些提示,让您知道某些东西(特别是较旧的 UNIX 东西)是否正常工作,有时提供的信息是多么少。如果您由于不精确而忽略了这些微小的迹象,UNIX 将不会为您提供任何其他信息,并且可能会造成混乱。

相关内容