24.04 Сервер NFS-v2 – не удается заставить его работать

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

Я обновился с 22.04 LTS (x86_64), где у меня работал сервер NFS версии 2 (см. советы из нескольких старых постов). Я попробовал несколько предложений, чтобы принудительно использовать версию 2 через различные конфигурационные файлы.

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

Если нет решения, может кто-то порекомендовать сервер NFS в пользовательском пространстве, который поддерживает версию 2. Это не очень требовательное приложение, нет проблем с безопасностью, нужно только сделать несколько файлов доступными для загрузки устройства.

Мне удалось заставить работать nfsv2. Для этого мне нужно было перекомпилировать установленное ядро с установкой CONFIG_NFSD_V2 в значение yes. Посмотрите здесь: https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel Я следовал этим инструкциям более или менее.

Я также вручную скомпилировал nfs-utils, клонированные через git, и отменил коммит, который удалил настройку vers2 в nfs.conf. После этого я смог использовать свой десктоп с нашими старыми встроенными устройствами для загрузки. Репозиторий git: git://git.linux-nfs.org/projects/steved/nfs-utils.git Коммит git, который я отменил: 2c2c36c59fa1de2ff7fd28917e54700ecb39b730

Надеюсь, это поможет вам вернуть ваши клиенты к работе… Но в любом случае это лишь временное решение, так как ваши обновления перестанут работать. Обновите или замените встроенное устройство :).

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

Настройка NFS v2 на сервере с Ubuntu 24.04

Введение

После перехода с Ubuntu 22.04 LTS на 24.04 у вас возникли проблемы с работой NFS v2, который служит для передачи прошивок на встроенные устройства. Данная ситуация требует детального подхода к настройке и устранению неполадок. В данной статье мы рассмотрим необходимые шаги для успешного развертывания NFS v2, а также альтернативные решения, если самостоятельная настройка не увенчается успехом.

Проблемы с NFS v2 после обновления

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

  1. Пересборка ядра с поддержкой NFS v2:

    • Вам необходимо было установить флаг CONFIG_NFSD_V2 в «да», что возможно через пересборку ядра. Подробные указания можно найти по следующей ссылке: Ubuntu Kernel Build Guide.
  2. Настройка nfs-utils:

    • Вам также потребовалась ручная компиляция пакета nfs-utils из репозитория, с возвратом изменений, удаляющих поддержку версии 2. Это дает возможность сделать конфиг, соответствующий вашим требованиям.

Пошаговая инструкция

Вот более детализированный план действий для настройки NFS v2.

1. Пересборка ядра

  • Сначала загрузите исходные коды ядра, используя команду apt-get source linux-image-$(uname -r).

  • Затем выполните следующую команду для установки необходимых зависимостей:

    sudo apt-get build-dep linux
  • Отредактируйте конфигурационный файл ядра:

    make menuconfig

    В разделе File Systems найдите и убедитесь, что CONFIG_NFSD_V2 установлен на "yes".

  • Соберите и установите новое ядро:

    make
    sudo make modules_install
    sudo make install

2. Компиляция nfs-utils

  • Клонируйте репозиторий nfs-utils:

    git clone git://git.linux-nfs.org/projects/steved/nfs-utils.git
    cd nfs-utils
  • Верните изменения, связанные с удалением версии 2. Используйте хеш 2c2c36c59fa1de2ff7fd28917e54700ecb39b730, чтобы откатить изменения.

  • Далее выполните сборку и установку:

    ./configure
    make
    sudo make install

3. Конфигурация NFS сервера

В файле конфигурации /etc/nfs.conf убедитесь, что указана поддержка для NFS v2.

Пример минимальной конфигурации:

[nfsd]
vers2=n

4. Запуск NFS сервиса

Запустите службу NFS:

sudo systemctl start nfs-server

Проверьте статус:

sudo systemctl status nfs-server

Альтернативные решения

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

Заключение

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

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

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