Изменение версии NFS с 4 на 3

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

0

Мне нужно использовать версию nfs 3 в организации для bitbucket datacenter.

Я выполнил следующие шаги.

1) Обновления конфигурации NFS-сервера: открыл файл /etc/default/nfs-kernel-server, чтобы отключить версии NFS 2 и 4 и установить фиксированный порт для mountd:

RPCMOUNTDOPTS=”–manage-gids –port 9024″ RPCNFSDOPTS=”-N 4 -N 2″

Настроил файл /etc/default/nfs-common для установки фиксированных портов для statd и lockd: NEED_STATD=yes STATDOPTS=”–port 9028 –outgoing-port 9029″ LOCKD_OPTS=”-p 9027 -o 9026″

Обновил файл /etc/modprobe.d/lockd.conf, чтобы установить конкретные порты TCP и UDP для lockd:

options lockd nlm_tcpport=9027 options lockd nlm_udpport=9028

Применил конфигурации и перезапустил службы:

sudo systemctl restart nfs-kernel-server rpcbind sudo systemctl daemon-reload

Наблюдения из вывода rpcinfo -p: После применения вышеуказанных конфигураций вывод rpcinfo -p показал следующее:

program vers proto port service … 100005 1 udp 40661 mountd 100005 1 tcp 45805 mountd 100005 2 udp 55256 mountd 100005 2 tcp 50431 mountd 100005 3 udp 34768 mountd 100005 3 tcp 47275 mountd

Несмотря на установку RPCMOUNTDOPTS=”–port 9024″ в /etc/default/nfs-kernel-server, mountd продолжал использовать случайные порты (например, 40661, 45805). Это указывает на то, что конфигурация могла не примениться правильно.

Ошибка монтирования (mount.nfs: Время соединения истекло) может быть вызвана тем, что служба mountd привязывается к случайным портам вместо указанного порта (9024). Это приводит к несовпадению конфигураций брандмауэра и групп безопасности, что вызывает истечение времени во время попытки монтирования.

Пожалуйста, не пропустил ли я что-то? Нужно ли мне что-то изменить, чтобы использовать фиксированный порт для mountD?

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

Изменение версии NFS с 4 на 3: Подробное руководство

Необходимость использовать NFS версии 3 для Bitbucket Data Center обусловлена требованиями вашей организации по совместимости или специальным настройкам. Это руководство освещает шаги, которые вы предприняли для перехода на NFS версии 3, а также решает проблемы с настройкой фиксированного порта для службы mountd.

Шаги конфигурации NFS-сервера

Вы уже предприняли несколько важных шагов:

  1. Обновление конфигурации NFS-сервера:

    • Вы отредактировали файл /etc/default/nfs-kernel-server, чтобы отключить версии NFS 2 и 4 и установить фиксированный порт для mountd:
      RPCMOUNTDOPTS="--manage-gids --port 9024"
      RPCNFSDOPTS="-N 4 -N 2"
  2. Настройка фиксации портов для statd и lockd:

    • Изменения в /etc/default/nfs-common для установки фиксированных портов:
      NEED_STATD=yes
      STATDOPTS="--port 9028 --outgoing-port 9029"
      LOCKD_OPTS="-p 9027 -o 9026"
  3. Конфигурация модулей:

    • Вы обновили файл /etc/modprobe.d/lockd.conf для задания конкретных TCP и UDP портов для lockd:
      options lockd nlm_tcpport=9027
      options lockd nlm_udpport=9028
  4. Применение конфигураций и перезапуск служб:

    sudo systemctl restart nfs-kernel-server rpcbind
    sudo systemctl daemon-reload

Наблюдения из вывода rpcinfo -p

После выполнения этих конфигураций вы проверили настройки с помощью команды rpcinfo -p, которая показала, что служба mountd продолжает использовать случайные порты, несмотря на указанный вами фиксированный порт (9024). Вот что вы увидели:

program vers proto port service ...
100005   1 udp 40661 mountd
100005   1 tcp 45805 mountd
100005   2 udp 55256 mountd
100005   2 tcp 50431 mountd
100005   3 udp 34768 mountd
100005   3 tcp 47275 mountd

Причины проблемы

Проблема с ошибкой подключения (например, mount.nfs: Connection timed out) может быть связана с рядом причин:

  1. Неправильная конфигурация: Возможно, изменения в конфигурации не были применены должным образом, или файл не был корректно отредактирован.

  2. Проблемы с разрешениями: Убедитесь, что пользователь, который выполняет команды, имеет необходимые права на доступ к ресурсам NFS.

  3. Необходимость дополнительных шагов конфигурации: В некоторых случаях может потребоваться более детальная настройка, включая:

    • Проверку конфигурации брандмауэра для разрешения трафика на указанные порты.
    • Убедитесь, что службы NFS действительно слушают на указанных портах, используя команду netstat -tuln | grep 9024.

Рекомендации по устранению недоработок

Чтобы обеспечить использование фиксированного порта для mountd, выполните следующие действия:

  1. Повторная проверка конфигураций: Убедитесь, что все изменения были сохранены и конфигурационные файлы не содержат синтаксических ошибок.

  2. Очистка кэша и перезапуск: После изменения конфигураций попробуйте очистить кэш служб:

    sudo systemctl stop nfs-kernel-server
    sudo systemctl stop rpcbind
    sudo systemctl start rpcbind
    sudo systemctl start nfs-kernel-server
  3. Проверка логов: Анализируйте логи NFS:

    sudo journalctl -u nfs-kernel-server
  4. Тестирование соединения: Используйте showmount -e на клиенте, чтобы протестировать доступность NFS-сервера.

Заключение

Обеспечение работы NFS версии 3 требует внимательной настройки и тестирования. Проверьте предложенные шаги, и, возможно, проблема с некорректным привязыванием port mountd решится. Следуя этому руководству, вы сможете успешно настроить систему NFS под ваши требования и устранить возникающие преграды на пути к его успешному функционированию.

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

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