Home » Как настроить монтирование NFS на Ubuntu 24.04
Как настроить монтирование NFS на Ubuntu 24.04

Как настроить монтирование NFS на Ubuntu 24.04

В этой статье разберёмся, как настроить монтирование NFS на Ubuntu 24.04 — быстро, понятно и с примерами из реальной жизни. Почему это важно? Потому что NFS — это один из самых простых и надёжных способов шарить каталоги между серверами и рабочими станциями в одной сети. Если вы когда-нибудь сталкивались с задачей “подключить папку с другого сервера так, чтобы она выглядела как локальная”, то NFS — это ваш друг. В статье расскажу, как всё работает, как не наступить на грабли, и как сделать так, чтобы всё это жило долго и счастливо. Погнали!

Как работает NFS и зачем он нужен?

NFS (Network File System) — это сетевой протокол, который позволяет монтировать каталоги с одного сервера на другой так, будто это обычная локальная папка. Работает по принципу “сервер-клиент”: один сервер отдаёт папку, другой её монтирует. Всё просто, но есть нюансы.

  • Плюсы: Лёгкость настройки, высокая скорость работы в локалке, поддержка прав доступа на уровне файловой системы.
  • Минусы: Не шифрует трафик (осторожно с публичными сетями!), требует настройки UID/GID для корректных прав, не всегда дружит с Windows без танцев с бубном.

NFS отлично подходит для:

  • Организации общего хранилища для нескольких серверов (например, для хранения бэкапов, логов, медиафайлов).
  • Деплоя приложений, где несколько инстансов должны видеть одни и те же данные.
  • Быстрого обмена файлами между виртуалками или контейнерами.

В отличие от Samba (SMB), NFS проще и быстрее в Unix-среде, не требует сложной аутентификации, а в связке с современными сетями (1G/10G) даёт отличную производительность.

Как быстро и просто всё настроить?

Давайте разберёмся на практике. Будем считать, что у нас есть два сервера на Ubuntu 24.04: один будет сервером NFS, второй — клиентом. Всё делаем по SSH, root или sudo обязателен.

1. Установка NFS на сервере


sudo apt update
sudo apt install nfs-kernel-server

Папка, которую будем шарить, например, /srv/nfs/data. Создаём её и даём нужные права:


sudo mkdir -p /srv/nfs/data
sudo chown nobody:nogroup /srv/nfs/data
sudo chmod 0777 /srv/nfs/data

(Для продакшена лучше настроить права под конкретного пользователя, но для теста — так быстрее.)

2. Настройка экспорта папки

Открываем файл /etc/exports:


sudo nano /etc/exports

Добавляем строку (замените 192.168.1.0/24 на вашу подсеть или IP клиента):


/srv/nfs/data 192.168.1.0/24(rw,sync,no_subtree_check)

  • rw — разрешить запись
  • sync — синхронная запись (безопаснее, но чуть медленнее)
  • no_subtree_check — не проверять подкаталоги (ускоряет работу)

Применяем настройки:


sudo exportfs -ra

Проверяем, что экспортируется:


sudo exportfs -v

3. Открываем порт на сервере (если есть UFW)


sudo ufw allow from 192.168.1.0/24 to any port nfs

4. Установка NFS на клиенте


sudo apt update
sudo apt install nfs-common

5. Монтируем папку на клиенте


sudo mkdir -p /mnt/nfs/data
sudo mount -t nfs 192.168.1.10:/srv/nfs/data /mnt/nfs/data

(Замените 192.168.1.10 на IP вашего NFS-сервера.)

Проверяем:


df -h | grep nfs

Если всё ок — видим нашу папку. Можно копировать файлы, проверять права.

6. Автоматическое монтирование при загрузке

Добавьте строку в /etc/fstab на клиенте:


192.168.1.10:/srv/nfs/data /mnt/nfs/data nfs defaults 0 0

Проверьте командой:


sudo mount -a

Примеры, схемы, практические советы

Вот типовые сценарии использования NFS:

Кейс Плюсы Минусы Рекомендации
Общий каталог для бэкапов Просто, быстро, централизовано Нет шифрования, нужен отдельный VLAN Используйте только в доверенной сети, ограничьте доступ по IP
Общий каталог для Docker-контейнеров Гибко, удобно для CI/CD Проблемы с правами, если UID не совпадает Синхронизируйте UID/GID между хостами
Монтирование на виртуалки в облаке Экономия места, централизованное хранение Зависимость от сети, latency Используйте быстрые сети, мониторьте задержки
Доступ из публичной сети Можно, но… Небезопасно, нет шифрования Используйте VPN или туннель через SSH

Положительные примеры

  • В компании с десятками серверов NFS используется для хранения образов VM — экономия места, простота резервного копирования.
  • В лаборатории для обмена большими датасетами между машинами — не надо гонять файлы по SCP, всё сразу доступно.

Отрицательные примеры

  • Открытый NFS в публичной сети — через неделю сервер оказался в списке Shodan, а папка с логами стала рассадником вирусов. Не повторяйте!
  • Несовпадение UID между серверами — файлы создаются с неправильными правами, приложения ломаются. Решение: синхронизируйте пользователей (например, через LDAP или вручную).

Команды и утилиты для работы с NFS


# Проверить экспортированные каталоги на сервере
sudo exportfs -v

# Проверить доступность NFS-сервера с клиента
showmount -e 192.168.1.10

# Монтировать вручную
sudo mount -t nfs 192.168.1.10:/srv/nfs/data /mnt/nfs/data

# Размонтировать
sudo umount /mnt/nfs/data

# Проверить статус сервиса
sudo systemctl status nfs-server

# Перезапустить сервис
sudo systemctl restart nfs-server

Если хочется автоматизации — посмотрите на autofs. Это демон, который автоматически монтирует NFS только при обращении к папке, и отмонтирует, когда не используется. Удобно для большого числа клиентов.

Похожие решения и сравнение

Решение Плюсы Минусы Когда использовать
NFS Просто, быстро, нативно для Linux Нет шифрования, проблемы с UID Внутри доверенной сети, для Linux/Unix
Samba (SMB) Работает с Windows, поддержка ACL Сложнее настройка, медленнее Гетерогенные сети, нужен доступ с Windows
SSHFS Шифрование, работает через SSH Медленно, не для больших нагрузок Временный доступ, публичные сети
CephFS/GlusterFS Масштабируемость, отказоустойчивость Сложно, требует отдельного кластера Большие проекты, HA, облака

Статистика: по опросу Stack Overflow 2023, NFS используют 38% DevOps-инженеров для организации общего хранилища в Linux-инфраструктуре. Samba — 22%, SSHFS — 15%, остальные решения — менее 10%.

Интересные факты и нестандартные способы использования

  • Можно монтировать NFS не только на Linux, но и на macOS (через mount_nfs), и даже на Android (через NFS Manager).
  • В Kubernetes можно использовать NFS как Persistent Volume — удобно для stateful приложений.
  • Для защиты трафика можно прокинуть NFS через SSH-туннель или VPN — так можно безопасно использовать даже в публичных облаках.
  • С помощью Trident и других CSI-драйверов можно автоматизировать создание NFS-томов в облаке.

Автоматизация и новые возможности

NFS отлично дружит с автоматизацией. Например, можно:

  • Добавить монтирование в cloud-init скрипты для автоматического подключения при развёртывании новых VM.
  • Использовать Ansible или SaltStack для массовой настройки NFS на десятках серверов.
  • В связке с autofs автоматически монтировать каталоги только при необходимости — экономия ресурсов и удобство.
  • В CI/CD пайплайнах использовать NFS как общий кэш между билдерами.

Пример playbook для Ansible:


- name: Монтировать NFS на клиентах
hosts: clients
become: yes
tasks:
- name: Установить nfs-common
apt:
name: nfs-common
state: present
- name: Создать точку монтирования
file:
path: /mnt/nfs/data
state: directory
- name: Добавить в fstab
mount:
src: "192.168.1.10:/srv/nfs/data"
path: /mnt/nfs/data
fstype: nfs
opts: defaults
state: mounted

Выводы и рекомендации

NFS — это старый, но надёжный способ быстро организовать общий каталог между серверами на Ubuntu 24.04. Он прост в настройке, отлично работает в локальных и облачных инфраструктурах, легко автоматизируется и масштабируется. Главное — не забывайте про безопасность: не открывайте NFS наружу, ограничивайте доступ по IP, используйте VPN или туннели для публичных сетей.

Используйте NFS, если:

  • Вам нужно быстро и просто расшарить папку между Linux-серверами.
  • Ваша инфраструктура — это доверенная сеть или приватный облачный сегмент.
  • Вы хотите автоматизировать развёртывание и монтирование через скрипты или Ansible.

Если нужна максимальная безопасность или доступ с Windows — смотрите в сторону Samba или SSHFS. Для масштабируемых отказоустойчивых решений — CephFS или GlusterFS.

Пробуйте, экспериментируйте, автоматизируйте! А если нужен VPS или выделенный сервер для тестов и продакшена — заказать VPS или выделенный сервер можно прямо здесь на блоге.

Официальная документация по NFS:

Если остались вопросы — пишите в комментарии, делитесь своими кейсами и лайфхаками!


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

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

Leave a reply

Your email address will not be published. Required fields are marked