Я установил autofs на Centos 7. Однако, похоже, что после перезагрузки потребовалось некоторое время, чтобы смонтировать / home / каталог, даже когда я «cd» в него. Успешно только после 3 попыток:
[root@localhost ~] cd /home/<user>
-bash: cd: /home/<user>: No such file or directory
и 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.
Вот /etc/auto.master:
/misc /etc/auto.misc
/net -hosts
+dir:/etc/auto.master.d
/home /etc/auto.home
/san /etc/auto.san
+auto.master
/etc/auto.master:
* -fstype=nfs,rw 192.254.100.4:/home_external/user_home_local/&
/etc/auto.san:
mysql_db 192.254.100.4:/san_external/mysqldb
Я подозреваю, что по аналогичным причинам, когда mysql запускается после перезагрузки, появляется ошибка, говорящая, что он не может выполнить cd в / san / mysql_db /. Но ручной перезапуск mysql после загрузки машины работает. Любые идеи? спасибо vm
Я испытал нечто подобное.
То есть логины пользователей с автоматически смонтированными домашними каталогами зависали сразу после перезагрузки до тех пор, пока я вручную не запустил rpcbind с помощью «systemctl start 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
После: /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
Совет шляпы: https://www.centos.org/forums/viewtopic.php?f=47&t=51789
Это основная причина проблемы:
Есть несколько способов исправить это:
Хакерское решение - искусственно добавить достаточную задержку перед запуском autofs. (Так работает предыдущий ответ. Он просто добавляет еще одну службу перед autofs, чтобы sssd получил еще немного времени.) В некоторых случаях этого недостаточно. Другое решение предлагается в ошибке https://bugzilla.redhat.com/show_bug.cgi?id=1189767. Добавить
ExecStartPre=/bin/sleep 10
на ваш sssd.unit