SystemdDoctor
мешает работе монтирование automount сеть

Automount: каталог монтируется не вовремя или отваливается

Unit вида .automount монтирует ресурс при первом обращении к каталогу и отмонтирует его после простоя. Это удобно для редко используемых сетевых ресурсов, но создаёт два неожиданных эффекта: задержку на первом обращении и разрыв после простоя.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Ресурс отмонтируется во время работы службы

    TimeoutIdleSec= отмонтирует каталог после простоя. Если служба обращается к нему редко, между обращениями монтирование может исчезнуть, и очередная операция упадёт.

  2. Первое обращение занимает секунды

    Монтирование выполняется в момент обращения. Для сетевого ресурса это ощутимая задержка, которая выглядит как подвисание службы.

  3. Включён .mount вместо .automount

    В автозапуск нужно ставить именно automount-unit. Если включён mount-unit, ресурс монтируется при загрузке, и смысл автомонтирования теряется.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Все точки автомонтирования и их состояния.

systemctl list-units --type=automount --no-pager

История монтирований и отмонтирований: видно, как часто ресурс отваливается.

journalctl -u mnt-share.mount -u mnt-share.automount --no-pager | tail -30

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Ресурс отмонтируется во время работы службы
Почему происходит
TimeoutIdleSec= отмонтирует каталог после простоя. Если служба обращается к нему редко, между обращениями монтирование может исчезнуть, и очередная операция упадёт.
Как проверить
Посмотрите значение таймаута простоя и историю монтирований.
systemctl cat mnt-share.automount | grep -i idle
journalctl -u mnt-share.mount --no-pager | tail -20
Как исправить
Увеличьте TimeoutIdleSec= или откажитесь от автомонтирования в пользу обычного .mount с зависимостью RequiresMountsFor=.
2. Первое обращение занимает секунды
Почему происходит
Монтирование выполняется в момент обращения. Для сетевого ресурса это ощутимая задержка, которая выглядит как подвисание службы.
Как проверить
Измерьте время первого обращения.
sudo systemctl stop mnt-share.mount; time ls /mnt/share >/dev/null
Как исправить
Для служб, чувствительных к задержкам, монтируйте ресурс заранее обычным mount-unit.
3. Включён .mount вместо .automount
Почему происходит
В автозапуск нужно ставить именно automount-unit. Если включён mount-unit, ресурс монтируется при загрузке, и смысл автомонтирования теряется.
Как проверить
Посмотрите состояния обоих unit.
systemctl is-enabled mnt-share.automount mnt-share.mount
Как исправить
Включите automount и отключите mount: systemctl enable --now mnt-share.automount.

Пример вывода

Ресурс отмонтирован после простоя и снова смонтирован при обращении. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

systemd[1]: mnt-share.automount: Got automount request for /mnt/share, triggered by 9120 (myapp)
systemd[1]: Mounting mnt-share.mount - Shared files...
systemd[1]: Mounted mnt-share.mount - Shared files.
systemd[1]: mnt-share.mount: Unmounting due to idle timeout (60s).

Связанные ошибки

Источники

  • systemd.automount(5)
    TimeoutIdleSec= и порядок работы автомонтирования.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Проверено с TimeoutIdleSec=60 на сетевом ресурсе.
    собственная проверка, systemd 255
    сверено 15 сентября 2026