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
У наступному висновку ви повинні побачити файл і каталог, які ви створили на клієнтській машині: