NFS v4 – nfs4_discover_server_trunking необработанная ошибка -512 после перезагрузки

Вопрос или проблема

Только что начал работать с 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

Возможные решения

  1. Параметр безопасности (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
  2. Отключение GSS/Kerberos

    Если вы не планируете использовать функции Kerberos, вы можете отключить их в конфигурации вашей системы. Это можно сделать с помощью команды:

    echo 'blacklist rpcsec_gss_krb5' > /etc/modprobe.d/blacklist-rpcsec-gss-krb5.conf
    reboot

    Однако, перед применением данного метода убедитесь, что ваш сценарий работы с NFS не зависит от Kerberos.

  3. Проверка сетевой конфигурации

    Убедитесь, что сетевые настройки клиента и сервера NFS корректны. Сообщение об ошибке может возникнуть из-за временных сбоев в работе сети после перезагрузки. Убедитесь, что порты, используемые NFS, открыты и доступ к серверам возможен.

  4. Обновление системы

    Используемая вами версия CentOS 7.3 достаточно старая. Попробуйте обновить систему и все установленные пакеты. Возможно, ошибка была исправлена в более поздних версиях.

Заключение

Ошибка nfs4_discover_server_trunking unhandled error -512 является достаточно распространённой при работе с NFS v4, и если ваше приложение работает корректно, вы можете игнорировать эти сообщения, но лучше всего постараться их устранить. Рассмотренные выше методы могут помочь вам решить проблему. Если проблема сохраняется, возможно, стоит обратиться к дополнительной поддержке или форумам, связанным с NFS и CentOS.

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

Оцените материал
Добавить комментарий

Капча загружается...