NFS (Network File System) — это протокол распределенной файловой системы, разработанный компанией Sun Microsystems для обмена файлами и папками между Linux/Unix-системами. NFS позволяет монтировать файловую систему по локальной сети. NFS использует стандартную архитектуру клиент/сервер для обмена файлами и каталогами между системами на базе Linux.
Данное руководство поможет вам настроить NFS-сервер на сервере Ubuntu 22.04.
Требования
- Сервер под управлением Ubuntu 22.04.
- Для сервера задан статический IP-адрес 192.168.0.100.
- Пользователь, не являющийся пользователем root, с правами sudo.
Начало работы
Сначала обновите систему до последней версии, выполнив следующую команду:
sudo apt update -y
sudo apt upgrade -y
После обновления перезагрузите систему, чтобы применить изменения.
Установка сервера NFS
По умолчанию NFS доступен в стандартном репозитории Ubuntu. Установить его можно, выполнив следующую команду:
sudo apt install nfs-kernel-server -y
После завершения установки можно проверить состояние NFS с помощью следующей команды:
sudo systemctl status nfs-kernel-server
Выходные данные:
Настройка NFS-сервера
Перед началом работы необходимо создать каталог, к которому будет предоставлен общий доступ с помощью NFS-сервера. Создать его можно с помощью следующей команды:
sudo mkdir /mnt/nfsshare
Затем в целях безопасности измените владельца каталога на nobody:nogroup:
sudo chown -R nobody:nogroup /mnt/nfsshare
Далее необходимо настроить NFS на экспорт созданного выше каталога. Это можно сделать, отредактировав файл конфигурации NFS по умолчанию /etc/exports:
sudo nano /etc/exports
Добавьте следующие строки:
/mnt/nfsshare 192.168.0.0/24(rw,sync,no_subtree_check)
Сохраните и закройте файл.
192.168.0.0 : Укажите диапазон IP-адресов вашей сети.
rw : Эта опция предоставляет права на чтение и запись в каталог.
no_subtree_check : Указывает, что хост не должен проверять расположение файлов, к которым осуществляется доступ, в файловой системе хоста.
sync : Эта опция заставляет NFS записывать изменения на диск перед ответом.
Затем следует перезапустить NFS-сервер для применения изменений:
sudo systemctl restart nfs-kernel-server
Установка и настройка NFS-клиента
Прежде всего, необходимо установить в систему клиент NFS. Установить его можно, выполнив следующую команду:
sudo apt install nfs-common -y
Затем создайте точку монтирования для монтирования общего каталога на клиентской машине:
sudo mkdir ~/nfsshare
Затем смонтируйте общий каталог на клиентской машине с помощью следующей команды :
sudo mount 192.168.0.100:/mnt/nfsshare ~/nfsshare
Теперь можно проверить смонтированный каталог с помощью следующей команды:
sudo df -h
Выходные данные:
Если вы хотите, чтобы монтирование NFS-объектов происходило автоматически при каждой перезагрузке. Тогда это можно сделать, отредактировав файл /etc/fstab на клиентской машине:
sudo nano /etc/fstab
Добавьте следующую строку:
192.168.0.100:/mnt/nfsshare/ /home/vyom/nfsshare nfs rw,sync,hard,intr 0 0
Сохраните и закройте файл. Затем перезагрузите клиентскую машину и проверьте, монтируется ли автоматически общий ресурс NFS или нет.
Проверка NFS
Теперь NFS-сервер и клиент являются рабочими файлами. Настало время протестировать доступ к общим ресурсам.
Сначала создайте несколько файлов и каталогов внутри /home/vyom/nfsshare на клиентской машине:
sudo mkdir /home/vyom/nfsshare/testdir
sudo touch /home/vyom/nfsshare/testfile
Далее следует проверить право собственности на вновь созданный файл и каталог:
ls -l /home/vyom/nfsshare/
Выходные данные:
Теперь проверьте каталог nfsshare на машине Server:
sudo ls -l /mnt/nfsshare
В следующем выводе вы должны увидеть файл и каталог, которые вы создали на клиентской машине: