RHEL6 NFSv4 клиент, действующий как NFSv3?

Насколько я понимаю, клиенты NFSv4 должны немедленно подключиться к службе NFSv4 на сервере, полностью пропуская взаимодействия rpcbind portmapper и mountd, но я вижу, что мой клиент RHEL6 всегда сначала связывается со службой rpcbind, чтобы получить порт mountd, получая список экспортируйте форму mountd, затем, наконец, подключитесь к службе NFSv4. Наблюдается с помощью tcpdump.

По всем признакам (вывод команды mount и проверка TCP), когда операция монтирования завершена, клиент и сервер используют NFSv4.

Это происходит даже тогда, когда я делаю все, с чем сталкиваюсь, пытаясь принудительно установить только NFSv4 на клиенте. Примеры:

  • Установка Nfsvers=4 в /etc/nfsmount.conf
  • Явный монтаж с опцией vers = 4
  • Явно установите порт NFS. (с помощью команды mount и в nfsmount.conf)

Я совершенно не в своей базе или что-то не так? Это проблема для меня, потому что клиент NFS настаивает на том, чтобы иметь возможность достигнуть rpcbind на сервере через UDP, прежде чем он будет монтировать любой экспорт NFSv4, и я получаю таинственную потерю пакетов UDP (да, я работаю с сетевым парнем на это фронт), что приводит к тому, что крепления время от времени полностью выходят из строя или занимают много времени.

Я взглянул на источник libtirpc и увидел что-то, что всегда использует UDP для подключения к RPC portmapper, но я хочу полностью исключить службу portmapper и mountd из уравнения.

Я попытался отменить регистрацию службы UDP portmapper на сервере NFS с помощью "rpcinfo -d", но это привело к сбоям всех монтирований NFS, нацеленных на этот сервер (опять же клиенты настаивают на том, чтобы сервер прослушивал rpcbind на порте UDP 111). Я также попытался возиться с /etc/netconfig без удачи.

Кто-нибудь сталкивался с этим поведением или знает достаточно о NFSv4, чтобы сказать мне, что у меня нереальные ожидания?

1 ответ

Решение

Я проследил это обратно к авторам. Было настроено использовать /etc/auto.net для получения списка экспорта с помощью команды showmount. Команда showmount отвечала за доступ к rpcbind и mountd до того, как когда-либо происходило монтирование NFS, поэтому попытки изменить параметры монтирования не имели никакого эффекта.

Я пересмотрел /etc/auto.net и моя проблема исправлена.

Примечание: использование параметров "-hosts" в auto.master, как я видел в различных местах, также привело к доступу к rpcbind и mountd. Я закончил тем, что auto.net смонтировал корень всех серверов NFSv4, что, как я понимаю, нормально, если все мои хосты - NFSv4.

Другие вопросы по тегам