- Home »

Как настроить монтирование 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:
Если остались вопросы — пишите в комментарии, делитесь своими кейсами и лайфхаками!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.