autofs 问题“读取主地图时出现问题,超出最长等待时间”

autofs 问题“读取主地图时出现问题,超出最长等待时间”

我正在尝试使用 autofs 挂载 cifs 分区。经过多次尝试和错误,我终于成功安装了它(我遇到的主要问题是在说明中,这里,映射文件中的这一行

"[any_name] -fstype=cifs,[other_options] > ://[remote_server]/[remote_share_name]"

确实应该是:

"[remote_share_name] -fstype=cifs,[other_options] ://[remote_server]/"

无论如何,完成这一切之后,我可以使用以下命令挂载我的 cifs 分区:

sudo automount -f -d &

不幸的是,当我使用下面的命令使用实际的 autofs 服务时,我的共享没有安装

sudo /sbin/service autofs restart

将 autofs sysconfig 配置为调试模式后,我查看了日志文件,并看到以下错误:

12月18日13:33:51 SRVR_XYZ自动挂载[7986]:autofs停止
12月18日13:46:09 SRVR_XYZ自动挂载[8740]:lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto.master
12月18日13日:46:09 SRVR_XYZ automount[8740]:lookup_read_master:lookup(file):无法打开主映射文件 /etc/auto.master
12 月 18 日 13:46:11 SRVR_XYZ automount[8740]:lookup_read_master:lookup(file):可以无法打开主映射文件/etc/auto.master
Dec 18 13:46:13 SRVR_XYZ automount[8740]:lookup_read_master:lookup(file):无法打开主映射文件/etc/auto.master
Dec 18 13:46:15 SRVR_XYZ 自动挂载[8740]:lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto.master
12月18日13:46:17 SRVR_XYZ automount[8740]:lookup_read_master:lookup(文件):无法打开主地图文件/etc/auto.master
12月18日13:46:19 SRVR_XYZ自动挂载[8740]:读取主地图时出现问题,超过最大等待时间
12月18日13:46:19 SRVR_XYZ自动挂载[8740]:自动挂载:警告:至少无法读取等待后一个地图源,继续...
12月18日13:46:19 SRVR_XYZ automount[8740]:lookup_read_master:lookup(file):无法打开主地图文件/etc/auto.master
12月18日13:53:34 SRVR_XYZ automount[9139]:lookup_read_master:lookup(文件):无法打开主映射文件 /etc/auto.master
12 月 18 日 13:53:34 SRVR_XYZ automount[9139]:lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto.master
12 月 18 日 13:53:36 SRVR_XYZ 自动挂载[9139]:lookup_read_master:lookup(文件):无法打开主映射文件 /etc/auto.master
12 月 18 日 13:53:38 SRVR_XYZ 自动挂载[9139] :lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto.master
12月18日13:53:40 SRVR_XYZ automount[9139]:lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto .master
12月18日13:53:42 SRVR_XYZ自动挂载[9139]:lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto.master
12月18日13:53:44 SRVR_XYZ自动挂载[9139]:读取主文件时出现问题地图,超过最大等待时间
12 月 18 日 13:53:44 SRVR_XYZ 自动挂载[9139]:自动挂载:警告:等待后无法读取至少一个地图源,继续...
12 月 18 日 13:53:44 SRVR_XYZ 自动挂载[9139]: lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto.master
12 月 18 日 13:54:18 SRVR_XYZ automount[9250]:lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto。 master
12月18日13:54:18 SRVR_XYZ automount[9250]:lookup_read_master:lookup(file):无法打开主映射文件/etc/auto.master
12月18日13:54:20 SRVR_XYZ automount[9250]:lookup_read_master:lookup(文件):无法打开主映射文件 /etc/auto.master
12月18日13:54:22 SRVR_XYZ自动挂载[9250]:lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto.master
12月18日13:54:24 SRVR_XYZ自动挂载[9250]:lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto.master
Dec 18 13:54:26 SRVR_XYZ automount[9250]:lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto.master
Dec 18 13: 54:28 SRVR_XYZ automount[9250]: 读取主地图时出现问题,超过最大等待时间
12 月 18 日 13:54:28 SRVR_XYZ automount[9250]: automount: warning: 等待后无法读取至少一个地图源,继续...
Dec 18 13:54:28 SRVR_XYZ 自动挂载[9250]:lookup_read_master:lookup(文件):无法打开主映射文件/etc/auto.master

我不知道为什么这是我确保为 root 帐户设置适当的权限(chmod 640)和 /etc/auto.master 的所有权。

我不知道为什么 autofs 服务无法挂载分区,而当我手动启动 automout 时它可以正常工作。

我用:

自动挂载版本 5.0.5-133.el6_9
Linux 发行版:CentOS 版本 6.9(最终版)

/etc/auto.master 文件如下所示:

#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
/misc   /etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
#       "nosuid" and "nodev" options unless the "suid" and "dev"
#       options are explicitly given.
#
/net    -hosts
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master
/mnt/cifs /etc/auto.cifs-shares --ghost

在此先感谢您的帮助。

答案1

AutoFS 使用两级配置文件层次结构。

  1. 顶层控制/etc/auto.master

    层次结构中最顶层的文件是/etc/auto.master,它定义 AutoFS 控制的目录树。您问题中的示例文件包含三个非注释行:

    /misc   /etc/auto.misc
    /net    -hosts
    +auto.master
    

    这表示 /misc 将由文件或脚本通过 AutoFS 进行管理/etc/auto.misc,并且该/net文件或脚本源自“运行 NFS 的已知主机”集。最后一行表示应向 NIS 咨询中央地图。您不会运行 NIS,因此该行无关紧要。

    我建议你注释掉/net+auto.master行,只留下/misc /etc/auto.misc定义。

  2. 二级实施

    现在我们只剩下一个文件用于层次结构的第二层,/etc/auto.misc.我们可以编辑它以包含您的新定义:

    [share_name] -fstype=cifs,[other_options] ://[remote_server]/[remote_share]"
    

    例如,此条目将创建一个/misc/myshare直接映射到共享的临时条目//CIFSSERVER/ITSSHARE

    myshare -fstype=cifs,noperm,credentials=/root/.cifscred ://cifsserver/itsshare
    

    请注意,除非通过显式名称访问共享,否则它不会出现在/misc.您可以在记录器中看到报告的错误(/var/log/syslog例如,在我的 Debian 版本上)。


就我个人而言,我喜欢重命名/misc/var/autofs/miscin ,/etc/auto.master这样就不会妨碍,并创建一个顶级目录,/autofs其中包含指向 中已知条目的符号链接/var/autofs/misc。在我的例子中,

# Prepare the /etc/auto.master file
#
mkdir -p -m755 /var/autofs/misc /autofs
rmdir /misc
sed -i.bak 's!^/misc!/var/autofs/misc!' /etc/auto.master

# Create the symlink
#
cd /autofs
ln -s ../var/autofs/misc/myshare

然后我会在以下位置引用 AutoFS 挂载/autofs。您可能会发现这对您不起作用,特别是如果 AutoFS 挂载文件系统是一个缓慢/昂贵的过程,但它使我不必记住所有 AutoFS 挂载名称。

相关内容