Вопрос или проблема
Я настроил монтирование NFS в файле /etc/fstab
на машине с Ubuntu 16.04.6.
NFS не работает при каждой загрузке, я заметил, что когда появляется Unity Greeter, значок сети в правом верхнем углу экрана показывает, что сеть отключена, и через 5 секунд начинается процесс подключения, который завершается успешно. В этот момент, если я войду в систему и выполню mount -a
от имени суперпользователя, все работает просто отлично.
Я пробовал множество опций, чтобы заставить systemd дождаться сети, но ничего не работает…
Как я могу заставить NetworkManager подключиться до того, как я дойду до greeter?
Меня не беспокоит дополнительная задержка во времени загрузки.
Я наконец-то нашел обходной путь:
Кажется, это связано с тем, как DHCP работает в Ubuntu, поэтому я отключил переименование сетевых интерфейсов при загрузке, таким образом разрешения DHCP стали быстрее.
Ответ или решение
Решение проблемы "Systemd mount.nfs fails: Network is unreachable" на Ubuntu 16.04
Если вы столкнулись с проблемой, когда NFS-монтирование не удается при загрузке Ubuntu 16.04 из-за ошибки "Network is unreachable", то ниже представлен детальный план действий по ее устранению.
Фон проблемы
На Ubuntu 16.04 наблюдается ситуация, когда NFS монтирование, указанное в файле /etc/fstab
, не выполняется при старте системы. После загрузки, при появлении Unity Greeter, значок сети показывает, что сеть еще не подключена, и только через несколько секунд подключение устанавливается. Однако, позднее выполнение команды mount -a
вручную как пользователь с суперпользовательскими правами работает безошибочно. Это указывает на то, что система пытается монтировать NFS до того, как установлено сетевое соединение.
Решения
-
Перенос времени монтирования до установки сети
Чтобы заставить
systemd
дождаться установки сетевого соединения перед монтированием NFS, можно внести изменения в настройкиsystemd
. Это можно сделать, добавив опциюx-systemd.requires=network-online.target
в соответствующую строку вашего файла/etc/fstab
. Пример:server:/path/to/nfs /local/mountpoint nfs defaults,x-systemd.requires=network-online.target 0 0
-
Обеспечьте, чтобы NetworkManager был настроен должным образом
Убедитесь, что NetworkManager настроен для автоматического подключения к сети во время загрузки. Проверьте файл конфигурации NetworkManager или используйте графическую утилиту, чтобы убедиться, что соответствующий параметр активирован.
-
Ускорение конфигурации DHCP
Согласно вашему наблюдению, проблема может быть связана с настройками DHCP. Отключение переименования интерфейсов может сократить время на получение IP-адреса. Для этого отредактируйте файл
/etc/default/grub
и измените строку:GRUB_CMDLINE_LINUX=""
на
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
Затем выполните
sudo update-grub
и перезагрузите систему.
Заключение
Эти шаги должны помочь решить проблему с монтированием NFS при загрузке путем гарантии, что сетевое соединение будет установлено до любой попытки монтирования. Помимо этого, ускоренная работа DHCP сервиса также внесет свой вклад в повышение надежности процесса. Оперативное разрешение подобных проблем способствует бесперебойной работе вашего серверного оборудования и безопасному хранению данных.