Рейтинг:0

Фоновый клиент NFS4 не запускается при перезагрузке и тайм-ауте соединения

флаг in

Версия сортировки

Крепление NFS4 в фстаб обычно запускает фоновую службу для повторных попыток, когда хост монтирования недоступен. Однако только во время перезагрузки и тайм-аута подключения фоновая служба не запускается. Если в соединении отказано при перезагрузке или в любом другом случае после перезагрузки, запускается фоновая служба.

Длинная версия

Это на Oracle8, который является разновидностью RHEL8/CentOS8. В /etc/fstab я имею

[xx:xx:xx:xx:xx:xx:xx:xx]:/example /mnt/example nfs4 по умолчанию 0 0

И в /etc/nfsmount.conf я имею

[ NFSMount_Global_Options ]
по умолчаниюверс=4
нфсверс=4
фон = правда
RW=истина
жестко = верно
синхронизация = истина
размер = 32k
wsize=32k
нордирплюс=истина
актимео=3
_netdev=истина

я подтвердил в /прок/монтирует что глобальные настройки применяются к монтированию, когда оно работает. Когда фоновая служба запустится, как и ожидалось, вы увидите, что она работает.

[root@01b1 /]# ps добавочный | grep нфс
корень 1077 0.0 0.0 0 0 ? I< 18:31 0:00 \_ [nfsiod]
root 1506 0.0 0.1 221928 1036 pts/0 S+ 19:16 0:00 \_ grep --color=auto nfs
корень 1466 0,0 0,0 47812 588 ? Ss 18:36 0:00 /sbin/mount.nfs4 [xx:xx:xx:xx:xx:xx:xx:xx]:/example /mnt/example -o rw

И чтобы было ясно, когда хост-сервер доступен, монтирование работает каждый раз. Ниже приведены случаи, когда хост недоступен, например, его перезагрузка, порт заблокирован, nfs-сервер останавливается и т.д.

Когда фоновая служба запускается при перезагрузке, она показывает это в /var/журнал/сообщения

8 июня 17:42:29 01b1 systemd[1]: mnt-example.mount: Каталог /mnt/example для монтирования не пустой, монтируется в любом случае.
8 июня 17:42:29 01b1 systemd[1]: Монтаж /mnt/example...
8 июня 17:42:31 01b1 mount[1027]: подключение к серверу NFS 'xx:xx:xx:xx:xx:xx:xx:xx' не удалось: подключение отклонено, повторная попытка
8 июня 17:42:31 01b1 mount[1018]: mount.nfs4: backgrounding "[xx:xx:xx:xx:xx:xx:xx:xx]:/example"
8 июня 17:42:31 01b1 mount[1018]: mount.nfs4: параметры монтирования: "rw,vers=4,bg,rw,hard,sync,rsize=32768,wsize=32768,nordirplus,actimeo=3,_netdev "
8 июня 17:42:31 01b1 systemd[1]: mnt-example.mount: Процесс монтирования завершен, но монтирования нет.
8 июня 17:42:31 01b1 systemd[1]: mnt-example.mount: Ошибка с результатом «протокол».
8 июня 17:42:31 01b1 systemd[1]: не удалось смонтировать /mnt/example.
8 июня 17:42:32 01b1 mount[1128]: подключение к серверу NFS 'xx:xx:xx:xx:xx:xx:xx:xx' не удалось: подключение отклонено, повторная попытка
8 июня 17:42:34 01b1 mount[1128]: подключение к серверу NFS 'xx:xx:xx:xx:xx:xx:xx:xx' не удалось: подключение отклонено, повторная попытка

Но когда ему не удается запустить фоновую службу при перезагрузке, он показывает это

8 июня 17:49:05 01b1 systemd[1]: mnt-example.mount: Каталог /mnt/example для монтирования не пуст, монтируется в любом случае.
8 июня 17:49:05 01b1 systemd[1]: Монтаж /mnt/example...
8 июня 17:50:35 01b1 systemd[1]: mnt-example.mount: превышено время ожидания монтирования. Прекращение.
8 июня, 17:50:35 01b1 systemd[1]: mnt-example.mount: процесс монтирования завершен, код = статус killed = 15
8 июня 17:50:35 01b1 systemd[1]: mnt-example.mount: Ошибка с результатом «тайм-аут».
8 июня 17:50:35 01b1 systemd[1]: не удалось смонтировать /mnt/example.

При перезагрузке, когда хост-порт открыт, но nfs-сервер не работает, в соединении отказано, а фоновая служба запущена.

При перезагрузке, когда хост выключен или порт заблокирован, время ожидания соединения истекает, а фоновая служба не запускается.

Если хост недоступен, клиент не перезагружается, и я вручную гора -а, фоновая служба всегда будет запускаться, даже если в соединении будет отказано или время ожидания истекло.

Любая идея, почему фоновая служба не запускается только при перезагрузке и тайм-ауте подключения? Есть ли способ исправить это, чтобы фон всегда запускался, когда хост недоступен?

--- ОБНОВИТЬ ---

Я пробовал случайные настройки, чтобы посмотреть, поможет ли что-то. Я обнаружил, что настройка параметров тайм-аута/повторения позволяет запускать фоновую службу при перезагрузке как при тайм-ауте, так и при отказе в подключении.

/etc/nfsmount.conf

# По умолчанию timeo=600
# Ретрансляция по умолчанию=2
время = 20
ретранс=4

Однако я чувствую, что это лейкопластырь, а не решение. Это не имеет для меня никакого смысла, если только это не ошибка RHEL. Я предполагаю, что при более длительном тайм-ауте возникает какая-то проблема с гонкой.Я не доверяю этому, потому что что, если эти условия гонки изменятся, и он снова сломается.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.