Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Оцените статью

У меня уже есть небольшая инструкция по установке NFS-клиент-серверного взаимодействия в CentOS, и теперь нужно дополнить её вариантом для Ubuntu Linux. В этой статье мы подробно разберём настройку NFS-клиента на Ubuntu — от установки необходимых пакетов до автоматического монтирования удалённых директорий при загрузке системы.

Установка необходимых пакетов

Прежде всего, откройте терминал и выполните обновление списка пакетов, а затем установите клиентскую часть NFS. Для этого введите следующие команды:

# apt update
# apt install nfs-common

Что такое nfs-common?
Это пакет, который содержит все необходимые клиентские утилиты для работы с NFS, включая программу mount.nfs, которая отвечает за монтирование удалённых файловых систем. Без этого пакета вы не сможете подключиться к NFS-серверу.

Примечание: Если вы используете Ubuntu Server или десктопную версию, пакет nfs-common обычно не установлен по умолчанию, поэтому его нужно добавить вручную.

2. Проверка доступности NFS-сервера

После установки клиента убедитесь, что NFS-сервер доступен в сети и экспортирует нужные вам директории. Для этого используйте команду showmount:

# showmount -e <IP_адрес_или_имя_сервера>

Пример:

# showmount -e 192.168.1.100

В ответ вы должны увидеть список экспортированных (доступных для монтирования) директорий, например:

/shared 192.168.1.0/24
/backups 192.168.1.0/24

Если команда не выводит ничего или выдаёт ошибку, проверьте, работает ли NFS-сервер и не блокирует ли его фаервол.

Совет: Для диагностики можно также использовать ping и telnet к порту 2049 (стандартный порт NFS).

3. Создание точки монтирования

Теперь создайте локальный каталог, в который будет монтироваться удалённая NFS-директория. Обычно такие точки размещают в /mnt или /media, но вы можете выбрать любое удобное место.

# sudo mkdir /mnt/nfs

Пример с другим именем:

# mkdir /mnt/shared

Зачем создавать отдельную точку монтирования?
Это позволяет организовать файловую систему: вы точно знаете, где находятся удалённые данные, и можете легко отмонтировать их при необходимости.

4. Ручное монтирование NFS-директории

Для разового подключения используйте команду mount с указанием типа файловой системы nfs:

# mount -t nfs <сервер>:<экспортированная_директория> <точка_монтирования>

Пример:

# mount -t nfs 192.168.1.100:/shared /mnt/nfs

После этого вы сможете обращаться к файлам на сервере через каталог /mnt/nfs.

Основные опции монтирования

При монтировании можно задать дополнительные параметры через ключ -o.

  • rw — монтирование с правами на чтение и запись.
  • ro — монтирование только для чтения.
  • soft — мягкий режим: при недоступности сервера операция завершится с ошибкой, а не будет бесконечно ждать.
  • hard — жёсткий режим (по умолчанию): при недоступности сервера операции будут повторяться бесконечно.
  • intr — позволяет прерывать операции NFS (например, с помощью Ctrl+C) в случае зависания. Устарела в новых ядрах.
  • nointr — запрещает прерывание операций NFS.
  • timeo=N — устанавливает время ожидания (в десятых долях секунды) до повторной попытки отправки запроса при отсутствии ответа от сервера.
  • retrans=N — задаёт количество повторных попыток отправки запроса при отсутствии ответа от сервера.
  • actimeo=N — устанавливает время кэширования атрибутов файлов (в секундах). Уменьшение значения снижает нагрузку на сеть, но увеличивает число запросов к серверу.
  • mountport=N — указывает порт для монтирования (используется для старых версий NFS).
  • port=N — задаёт порт для подключения к NFS-серверу.

Безопасность и аутентификация

  • sec=mode — задаёт режим аутентификации:
    • sec=sys — стандартная аутентификация (по умолчанию);
    • sec=krb5 — аутентификация через Kerberos;
    • sec=krb5i — аутентификация Kerberos с проверкой целостности данных;
    • sec=krb5p — аутентификация Kerberos с шифрованием данных.
  • rwuser=userlist — список пользователей, которым разрешено чтение и запись на клиенте.
  • rouser=userlist — список пользователей, которым разрешено только чтение на клиенте.

Управление кэшированием и производительностью

  • noac — отключает кэширование атрибутов файлов. Повышает согласованность данных, но снижает производительность.
  • directio — включает прямой ввод‑вывод (обходит системный кэш), что может быть полезно для определённых рабочих нагрузок.
  • rsize=N — задаёт максимальный размер блока чтения (в байтах).
  • wsize=N — задаёт максимальный размер блока записи (в байтах).

Дополнительные опции

  • bg — при использовании с hard: если первый запрос к серверу не удался, последующие попытки монтирования выполняются в фоновом режиме, позволяя продолжить загрузку системы.
  • fg — при использовании с hard: если первый запрос к серверу не удался, все последующие попытки монтирования выполняются в переднем плане (система «зависнет» до восстановления соединения).
  • nfsvers=N — задаёт версию протокола NFS (например, nfsvers=3 или nfsvers=4).
  • vers=N — аналогична nfsvers=N, задаёт версию протокола NFS.
  • tcp — использует протокол TCP для передачи данных (более надёжный, чем UDP).
  • udp — использует протокол UDP для передачи данных (менее надёжный, но может быть быстрее в локальных сетях).
  • nolock — отключает блокировку файлов (file locking). Может быть полезен, если блокировка не требуется или вызывает проблемы.
  • noexec — запрещает выполнение файлов на смонтированном разделе.
  • nodev — игнорирует специальные устройства (например, /dev) на смонтированном разделе.
  • nosuid — игнорирует биты setuid и setgid на файлах в смонтированном разделе.

Пример с опциями:

# mount -t nfs -o nfsvers=4,soft,timeo=10,retry=0 192.168.1.100:/shared /mnt/nfs

Разница между soft и hard:
soft — если сервер перестал отвечать, клиент через некоторое время выдаст ошибку и продолжит работу. Риск: возможна потеря данных при записи.
hard — клиент будет ждать восстановления связи бесконечно. Процессы, обращающиеся к файлам, могут «зависнуть». Рекомендуется использовать с опцией intr, чтобы можно было прервать операцию.

5. Автоматическое монтирование при загрузке (fstab)

Чтобы NFS-директория монтировалась автоматически каждый раз при старте системы, добавьте соответствующую строку в файл /etc/fstab. Отредактируйте его с правами root:

# nano /etc/fstab

Добавьте строку следующего вида:

192.168.1.100:/shared /mnt/nfs nfs defaults,nofail,nfsvers=4,soft,timeo=10,retry=0 0 0

Пояснение полей:

  1. 192.168.1.100:/shared — адрес сервера и экспортированная директория.
  2. /mnt/nfs — локальная точка монтирования (должна существовать).
  3. nfs — тип файловой системы.
  4. defaults,nofail,nfsvers=4,soft,timeo=10,retry=0 — опции монтирования.
  5. defaults — стандартный набор (rw, suid, dev, exec, auto, nouser, async).
  6. nofail — система продолжит загрузку, даже если NFS-сервер недоступен (иначе загрузка может зависнуть).
  7. Остальные опции мы уже разобрали выше.
  8. 0 — поле dump (0 — не создавать резервную копию утилитой dump).
  9. 0 — поле pass (0 — не проверять файловую систему при загрузке).

После сохранения файла проверьте корректность монтирования командой:

# mount -a

Если ошибок нет, удалённая директория будет смонтирована. Чтобы убедиться, выполните df -h — вы должны увидеть строку с NFS-ресурсом.

Важно: Если вы изменили точку монтирования в fstab, не забудьте создать соответствующий каталог (например, /mnt/nfs), иначе монтирование не сработает.

Дополнительные советы и примеры

Монтирование нескольких директорий

Вы можете добавить несколько строк в /etc/fstab для разных серверов или разных экспортов:

192.168.1.100:/shared /mnt/shared nfs defaults,nofail 0 0
192.168.1.101:/backups /mnt/backups nfs defaults,nofail 0 0

Использование autofs (автоматическое монтирование по требованию)

Если вы не хотите, чтобы NFS-директории монтировались постоянно, можно настроить autofs. Это демон, который монтирует ресурс только при обращении к нему. Установка:

# apt install autofs

Настройка выходит за рамки данной статьи, но это удобный способ для экономии ресурсов.

Проверка версии NFS

Узнать, какая версия NFS используется при монтировании, можно командой:

mount | grep nfs

Вы увидите что-то вроде 192.168.1.100:/shared on /mnt/nfs type nfs4 (rw,...) — версия указана как nfs4.

Заключение

Мы подробно рассмотрели настройку NFS-клиента в Ubuntu Linux: от установки пакетов до автоматического монтирования через fstab. Теперь вы можете легко подключаться к удалённым файловым хранилищам и работать с ними как с локальными. Не забывайте про опции безопасности (например, nfsvers=4 и soft) и всегда проверяйте доступность сервера перед монтированием.

Если у вас остались вопросы или вы столкнулись с ошибками, пишите в комментариях — постараюсь помочь!

Похожие записи

Конфигурация MySQL для микро-vps (минимизация потребления памяти)

Давайте немного поэкспериментируем с Микро-VPS. Из коробки MySQL сконфигурирован для автоматической подстройки под окружение, но на совсем ограниченных ресурсах я стабильно ловлю OOM-Killer и мне это не нравится, а переплачивать…

Подробная инструкция по локальной установке Next Cloud server в Ubuntu 24.04 с использованием Nginx и PHP-FPM

Nextcloud — это бесплатное и открытое программное обеспечение для создания собственного облачного хранилища данных. Оно позволяет пользователям хранить файлы, синхронизировать их между устройствами, делиться ими с другими пользователями, а также…

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Конфигурация MySQL для микро-vps (минимизация потребления памяти)

Конфигурация MySQL для микро-vps (минимизация потребления памяти)

Подробная инструкция по локальной установке Next Cloud server в Ubuntu 24.04 с использованием Nginx и PHP-FPM

Подробная инструкция по локальной установке Next Cloud server в Ubuntu 24.04 с использованием Nginx и PHP-FPM

Руководство по установке и настройке Gitea: от Docker до локальной инсталляции на Ubuntu 24.04

Руководство по установке и настройке Gitea: от Docker до локальной инсталляции на Ubuntu 24.04

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Немного о настройке UFW в Ubuntu: от основ до продвинутых правил

Немного о настройке UFW в Ubuntu: от основ до продвинутых правил