Вопрос или проблема
Только что начал работать с NFS v4. У меня есть следующие настройки в /etc/fstab
:
1.2.3.4:/mnt/exports/content-nl /data2/objects nfs4 minorversion=1,ro,defaults,_netdev 0 0
2.2.2.4:/mnt/exports/www-nl /data/nl nfs4 minorversion=1,ro,defaults,_netdev 0 0
3.2.3.4:/mnt/exports/content-be /data2/be_objects nfs4 minorversion=1,ro,defaults,_netdev 0 0
4.2.3.4:/mnt/exports/www-be /data/be nfs4 minorversion=1,ro,defaults,_netdev 0 0
IP-адреса вымышленные…
После перезагрузки клиента я вижу следующие сообщения в /var/log/messages
Apr 19 12:25:51 node1 systemd: data2-be_objects.mount монтирование завершилось таймаутом. Остановка.
Apr 19 12:25:51 node1 systemd: data-be.mount монтирование завершилось таймаутом. Остановка.
Apr 19 12:25:51 node1 systemd: Монтировано /data2/be_objects.
Apr 19 12:25:51 node1 systemd: Монтировано /data/be.
Apr 19 12:25:51 node1 systemd: data-nl.mount монтирование завершилось таймаутом. Остановка.
Apr 19 12:25:51 node1 kernel: NFS: nfs4_discover_server_trunking необработанная ошибка -512. Завершение с ошибкой EIO
Apr 19 12:25:51 node1 systemd: Монтировано /data/nl.
Apr 19 12:25:51 node1 systemd: data2-objects.mount монтирование завершилось таймаутом. Остановка.
Apr 19 12:25:51 node1 kernel: NFS: nfs4_discover_server_trunking необработанная ошибка -512. Завершение с ошибкой EIO
Apr 19 12:25:51 node1 kernel: NFS: nfs4_discover_server_trunking необработанная ошибка -512. Завершение с ошибкой EIO
Apr 19 12:25:51 node1 kernel: NFS: nfs4_discover_server_trunking необработанная ошибка -512. Завершение с ошибкой EIO
Apr 19 12:25:51 node1 systemd: Монтировано /data2/objects.
Apr 19 12:25:51 node1 systemd: Достигнута цель Удаленные файловые системы.
Apr 19 12:25:51 node1 systemd: Запуск удаленных файловых систем.
Монтирование действительно произошло, и я могу выполнять записи на монтированной файловой системе.
Что означает сообщение ядра? Должен ли я что-то менять в своей конфигурации или эти сообщения можно игнорировать?
Искал в интернете, но ничего подходящего не нашел.
Использую CentOS 7.3
Вещи, которые я бы попробовал:
- Передача параметра
sec=sys
- Отключение любых опций GSS/Kerberos NFS, которые вы можете увидеть в вашей дистрибутиве, если вы их не используете
Если ни одно из этого не сработает (это не сработало для меня), вы можете попробовать просто внести rpcsec_gss_krb5
в черный список через modprobe.d:
echo 'blacklist rpcsec_gss_krb5' > /etc/modprobe.d/blacklist-rpcsec-gss-krb5.conf
перезагрузить
Очевидно, вы должны сделать это только если не используете никаких функций Kerberos и просто хотите вернуть автоматическое монтирование NFS 🙂
Другой момент в том, что это, вероятно, ошибка и должно просто работать. Например, есть недавний отчет об ошибке Redhat для “nfs4_discover_server_trunking необработанная ошибка -512”, который был отмечен как дубликат непубличной ошибки.
Ответ или решение
Ошибка nfs4_discover_server_trunking unhandled error -512
в системе NFS v4, как показано в вашем случае после перезагрузки клиента, может указывать на несколько потенциальных проблем, связанных с конфигурацией или механизмами обеспечения безопасности. Рассмотрим более детально возможные причины и способы их устранения.
Что означает ошибка?
Сообщение об ошибке, которое вы видите в файле /var/log/messages
, указывает на то, что клиент NFS не смог корректно обнаружить возможности серверного "трубинга" (trunking), что является функцией, обеспечивающей устойчивую работу и распределение нагрузки. Код ошибки -512 указывает на сбой ввода-вывода (EIO) и может свидетельствовать о проблемах в сетевом взаимодействии или конфигурации.
Ваша текущая конфигурация
Ваши настройки в файле /etc/fstab
выглядят следующим образом:
1.2.3.4:/mnt/exports/content-nl /data2/objects nfs4 minorversion=1,ro,defaults,_netdev 0 0
2.2.2.4:/mnt/exports/www-nl /data/nl nfs4 minorversion=1,ro,defaults,_netdev 0 0
3.2.3.4:/mnt/exports/content-be /data2/be_objects nfs4 minorversion=1,ro,defaults,_netdev 0 0
4.2.3.4:/mnt/exports/www-be /data/be nfs4 minorversion=1,ro,defaults,_netdev 0 0
Возможные решения
-
Параметр безопасности (sec=sys)
Поскольку вы не указываете в конфигурации использование Kerberos, вы можете попробовать передать параметр
sec=sys
, который отключит любые механизмы безопасности, основанные на GSS/Kerberos. Попробуйте изменить записи в/etc/fstab
на следующую:1.2.3.4:/mnt/exports/content-nl /data2/objects nfs4 minorversion=1,ro,defaults,_netdev,sec=sys 0 0
-
Отключение GSS/Kerberos
Если вы не планируете использовать функции Kerberos, вы можете отключить их в конфигурации вашей системы. Это можно сделать с помощью команды:
echo 'blacklist rpcsec_gss_krb5' > /etc/modprobe.d/blacklist-rpcsec-gss-krb5.conf reboot
Однако, перед применением данного метода убедитесь, что ваш сценарий работы с NFS не зависит от Kerberos.
-
Проверка сетевой конфигурации
Убедитесь, что сетевые настройки клиента и сервера NFS корректны. Сообщение об ошибке может возникнуть из-за временных сбоев в работе сети после перезагрузки. Убедитесь, что порты, используемые NFS, открыты и доступ к серверам возможен.
-
Обновление системы
Используемая вами версия CentOS 7.3 достаточно старая. Попробуйте обновить систему и все установленные пакеты. Возможно, ошибка была исправлена в более поздних версиях.
Заключение
Ошибка nfs4_discover_server_trunking unhandled error -512
является достаточно распространённой при работе с NFS v4, и если ваше приложение работает корректно, вы можете игнорировать эти сообщения, но лучше всего постараться их устранить. Рассмотренные выше методы могут помочь вам решить проблему. Если проблема сохраняется, возможно, стоит обратиться к дополнительной поддержке или форумам, связанным с NFS и CentOS.
При этом, важно помнить, что из-за возможных ошибок в реализации в версии вашего дистрибутива, такие сообщения могут быть связаны с багами, о которых уже сообщалось в системе отслеживания ошибок.