Почему nfsd версии 4 исчез из вывода rpcinfo?

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

На Solaris я включаю nfs4 с такими опциями

vim /etc/default/nfs

# Устанавливает минимальную версию протокола NFS, которая будет зарегистрирована
# и предложена сервером. По умолчанию - 2.
NFS_SERVER_VERSMIN=4

# Устанавливает максимальную версию протокола NFS, которая будет зарегистрирована
# и предложена сервером. По умолчанию - 4.
NFS_SERVER_VERSMAX=4

Я пробую то же самое на Linux (синтаксис отличается)

RPC_NFSD_OPTS="-N 2 -N 3"

NFS монтирование работает на всех хостах. Но происходит очень странная вещь с RPC

На Linux

rpcinfo -t 192.168.0.2 nfs
192.168.0.2: RPC: Программа не зарегистрирована

На Solaris

rpcinfo -t 192.168.201.3 nfs
program 100003 version 4 ready and waiting

Почему RPC не регистрирует nfs4 на Linux?
Дистрибутив Linux – Slackware 15.0
версия ядра 6.11.10

Решение найдено: вероятно, ошибка в скриптах. Объясняю:

Я перезагружаюсь (все команды выполняются на Linux)

rpcinfo -t 192.168.0.2 nfs
program 100003 version 3 ready and waiting
program 100003 version 4 ready and waiting

Я перезапускаю RPC и NFS

/etc/rc.d/rc.nfsd restart
/etc/rc.d/rc.rpc restart

и…

rpcinfo -t 192.168.0.2 nfs
192.168.0.2: RPC: Программа не зарегистрирована

Ответ или решение

Теория (Theory):

Сервис NFS (Network File System) предоставляет возможность удаленным файлам быть доступными, как если бы они находились на локальной файловой системе. Данный сервис активно используется в Unix-подобных операционных системах, включая Solaris и Linux. В системе NFS имеется несколько версий протоколов, из которых четвёртая версия (NFSv4) отличается улучшенной производительностью, безопасностью и функциями по сравнению с предыдущими версиями.

Демон nfsd отвечает за предоставление файловых услуг для клиентов NFS. Процесс регистрации его версий на сервере осуществляется через взаимодействие с сервисом RPC (Remote Procedure Call), который используется для межпроцессного взаимодействия и реализации удаленных вызовов процедур на других машинах в сети.

В рамках настройки NFS на различных операционных системах могут возникать непредвиденные проблемы, связанные с различиям в конфигурации и управлении демонами RPC и NFS на различных платформах. В данном случае представлена ситуация, где в системе Solaris регистрация NFSv4 проходит корректно, в то время как на Linux наблюдается исчезновение этой версии из списка зарегистрированных программ после перезапуска демонов.

Пример (Example):

Настраивая серверы с использованием NFS на Solaris и Linux, вы изменили конфигурацию, чтобы указать, что как минимум и максимум поддерживаемая версия сервера NFS должна быть 4. На Solaris это выполнено путем редактирования /etc/default/nfs. На Linux, используя Slackware 15.0 с ядром версии 6.11.10, вы применили опции для demona RPC через переменную RPC_NFSD_OPTS, чтобы исключить версии 2 и 3, предполагая поддержку только NFSv4.

Однако, после запуска команд rpcinfo, наблюдается отсутствие ожидаемой регистрации программ. На Linux, команда rpcinfo -t 192.168.0.2 nfs возвращает ошибку "RPC: Program not registered", в то время как на системе Solaris аналогичный вызов подтверждает доступность NFSv4.

Дополнительно ситуация ухудшается после перезапуска демонов nfsd и rpc, когда снова исчезает регистрация NFS, что указывает на то, что дефолтные сценарии этих систем могут не поддерживать корректную инициализацию NFSv4 без дальнейших ручных настроек.

Применение (Application):

  1. Проверка конфигурации. Хотя интересные настройки NFSv4 были сделаны в обеих системах, важно удостовериться, что они корректно применяются. Убедитесь, что все изменения конфигурационных файлов сохранены и на правильных местах. Поскольку настройки конфигурации могут значительно отличаться между дистрибутивами Linux и Solaris, внимательно пересмотрите документацию Slackware или любых иных сопутствующих пакетов.

  2. Запуск инициализирующих демонов. После изменений в конфигурации, демоны NFS и RPC должны быть перезапущены, чтобы новые настройки вступили в силу. Однако, как показывает ваш опыт, перезапуск может не всегда срабатывать должным образом. Может быть полезно также проверить журналы для изучения ошибок или предупреждений.

  3. Ручная регистрация. Поскольку автоматическая регистрация может иногда зависеть от стартовых скриптов, возможно стоит зарегистрировать прогаммы NFS вручную, используя команды низкого уровня, чтобы убедиться, что они поддерживают соответствующую версию. Например, для ручной проверки и регистрации программ можно использовать команды наподобие rpcinfo и rpcbind.

  4. Обновление сценариев и версий. Учитывая, что проблема может быть в устаревших скриптах или несовместимости определённых версий пакетов, рекомендуется рассмотреть обновление до последних пакетов NFS и RPC, а также убедиться, что все соответствующие зависимости обновлены.

  5. Документация и сообщество. В случае если проблема продолжает сохраняться, может быть полезным связаться с сообществом Slackware или ознакомиться с документацией на соответствующих ресурсах пользователей Linux. Вероятно, у кого-то уже были аналогичные проблемы, и решения уже изложены на форумах или в статьях.

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

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

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