SystemdDoctor

Клиенты не видят новый ресурс сетевой файловой системы

Список ресурсов читается службой при запуске и по команде перечитывания. Правка файла без перечитывания ничего не меняет, а клиент получает отказ доступа — сообщение, по которому трудно догадаться, что дело в непрочитанном файле.

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

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

  1. Список ресурсов не перечитан

    Служба держит прежний список. Новый ресурс для клиентов не существует.

  2. Ресурс описан с ограничением по адресу, не включающим клиента

    Описание задаёт, кому разрешён доступ. Клиент вне списка получает отказ.

  3. Служба не перезапущена после смены версий протокола

    Изменение включённых версий протокола требует перезапуска службы, а не только перечитывания списка.

Диагностика

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

Действующий список ресурсов с ограничениями.

sudo exportfs -v

Сообщения службы об обращениях клиентов.

sudo journalctl -u nfs-server -n 30 --no-pager

Что видят клиенты в списке ресурсов.

showmount -e localhost 2>/dev/null

Решение

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

1. Список ресурсов не перечитан
Почему происходит
Служба держит прежний список. Новый ресурс для клиентов не существует.
Как проверить
Посмотрите действующий список и файл описания.
sudo exportfs -v 2>/dev/null | head
sudo grep -vE "^#|^$" /etc/exports 2>/dev/null
Как исправить
Перечитайте список ресурсов штатной командой. Перезапуск службы для этого не нужен и обрывает работу клиентов.
sudo exportfs -ra
2. Ресурс описан с ограничением по адресу, не включающим клиента
Почему происходит
Описание задаёт, кому разрешён доступ. Клиент вне списка получает отказ.
Как проверить
Сравните адрес клиента и ограничение в описании.
sudo exportfs -v 2>/dev/null
sudo journalctl -u nfs-server -n 20 --no-pager | grep -i "refused"
Как исправить
Расширьте ограничение до нужной сети. Разрешать доступ всем нельзя: сетевая файловая система доверяет клиенту в вопросах прав.
3. Служба не перезапущена после смены версий протокола
Почему происходит
Изменение включённых версий протокола требует перезапуска службы, а не только перечитывания списка.
Как проверить
Посмотрите включённые версии.
sudo cat /proc/fs/nfsd/versions 2>/dev/null
sudo grep -iE "^RPCNFSDOPTS|vers" /etc/nfs.conf /etc/default/nfs-kernel-server 2>/dev/null | head
Как исправить
Перезапустите службу после смены версий протокола, предупредив клиентов: их монтирования на это время оборвутся.

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

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

$ sudo grep -v "^#" /etc/exports
/srv/share  10.0.0.0/24(rw,sync,no_subtree_check)
/srv/new    10.0.0.0/24(rw,sync,no_subtree_check)

$ sudo exportfs -v
/srv/share    10.0.0.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw)

rpc.mountd[12700]: refused mount request from 10.0.0.9 for /srv/new: not exported

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

Где встречается чаще всего

Источники

  • exports(5)
    Описание ресурсов и ограничения по адресам.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • exportfs(8)
    Перечитывание списка ресурсов без перезапуска службы.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено правкой описания без перечитывания списка.
    собственная проверка, systemd 255
    сверено 15 сентября 2026