Centos 7 autofs 挂载在重启后无法正常工作

sur*_*ode 5 redhat mount autofs centos7

我已经在 Centos 7 上设置了 autofs。但是,似乎在重新启动后,挂载 /home/ 目录需要一些时间,即使我 'cd' 进入它也是如此。它仅在 3 次尝试后成功:

[root@localhost ~] cd /home/<user>
-bash: cd: /home/<user>: No such file or directory
Run Code Online (Sandbox Code Playgroud)

并且,autofs 已启用,因此我希望它在重新启动后启动:

[root@localhost etc]# systemctl status autofs
autofs.service - Automounts filesystems on demand
   Loaded: loaded (/usr/lib/systemd/system/autofs.service; enabled)
   Active: active (running) since Tue 2015-07-21 10:34:38 HKT; 1h 13min ago
  Process: 1379 ExecStart=/usr/sbin/automount $OPTIONS --pid-file /run/autofs.pid (code=exited, status=0/SUCCESS)
 Main PID: 1385 (automount)
   CGroup: /system.slice/autofs.service
           ??1385 /usr/sbin/automount --pid-file /run/autofs.pid

Jul 21 10:34:38 localhost.localdomain systemd[1]: Starting Automounts filesystems on demand...
Jul 21 10:34:38 localhost.localdomain automount[1385]: setautomntent: lookup(sss): setautomntent: No such file or directory
Jul 21 10:34:38 localhost.localdomain systemd[1]: Started Automounts filesystems on demand.
Run Code Online (Sandbox Code Playgroud)

这是/etc/auto.master:

/misc /etc/auto.misc
/net  -hosts
+dir:/etc/auto.master.d
/home /etc/auto.home
/san /etc/auto.san
+auto.master
Run Code Online (Sandbox Code Playgroud)

/etc/auto.master:

* -fstype=nfs,rw 192.254.100.4:/home_external/user_home_local/&
Run Code Online (Sandbox Code Playgroud)

/etc/auto.san:

mysql_db 192.254.100.4:/san_external/mysqldb
Run Code Online (Sandbox Code Playgroud)

我怀疑出于类似的原因,当 mysql 在重启后启动时,它有一个错误,说它不能 'cd' 进入 /san/mysql_db/。但是在机器启动后手动重启 mysql 是有效的。有任何想法吗?谢谢虚拟机

小智 8

我经历过类似的事情。

也就是说,具有自动挂载主目录的用户的登录名在重新启动后立即挂起,直到我使用“systemctl start rpcbind”手动启动 rpcbind 为止。这是截至今天的所有最新 Cent7 更新。

我发现修改 autofs 单元文件以依赖 rpcbind 和其他一些服务解决了我的问题。请参阅下面“之后”代码块中的“Requires=network.target rpc-statd.service rpcbind.service”行...

之前:/usr/lib/systemd/system/autofs.service

[Unit]
Description=Automounts filesystems on demand
After=network.target ypbind.service sssd.service

[Service]
Type=forking
PIDFile=/run/autofs.pid
EnvironmentFile=-/etc/sysconfig/autofs
ExecStart=/usr/sbin/automount $OPTIONS --pid-file /run/autofs.pid
ExecReload=/usr/bin/kill -HUP $MAINPID
TimeoutSec=180

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

之后:/usr/lib/systemd/system/autofs.service

[Unit]
Description=Automounts filesystems on demand
Requires=network.target rpc-statd.service rpcbind.service
After=network.target ypbind.service sssd.service

[Service]
Type=forking
PIDFile=/run/autofs.pid
EnvironmentFile=-/etc/sysconfig/autofs
ExecStart=/usr/sbin/automount $OPTIONS --pid-file /run/autofs.pid
ExecReload=/usr/bin/kill -HUP $MAINPID
TimeoutSec=180

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

帽子提示:https : //www.centos.org/forums/viewtopic.php?f=47&t=51789