NFS — настройка
На сервере ставим пакет nfs-kernel-server — он и отдаёт каталоги по сети. Перед установкой обновляем список пакетов:
sudo apt update && sudo apt install -y nfs-kernel-server
Создаем папку для расшаривания:
sudo mkdir /nfs/backup/veeam-quadro-host -p
Каталог создан от root, поэтому владельцем будет root:
ls -la /nfs/backup/veeam-quadro-host
Output
drwxr-xr-x 2 root root 4096 May 14 18:36 .
По умолчанию NFS не доверяет root-у на клиенте и подменяет его на nobody:nogroup (механизм root squash). Чтобы клиент мог писать в каталог, назначаем ему тех же владельца и группу:
sudo chown nobody:nogroup /nfs/backup/veeam-quadro-host
Теперь рассмотрим подробнее файл конфигурации NFS и настроим общий доступ к этим ресурсам.
Откройте на хосте файл /etc/exports в текстовом редакторе с привилегиями root.
sudo nano /etc/exports
Файл содержит комментарии, показывающие общую структуру каждой строки конфигурации. Синтаксис выглядит следующим образом:
Нам нужно создать строку для каждого каталога, к которому мы планируем предоставить общий доступ. Обязательно замените сокращение client_ip своим реальным IP-адресом:
/nfs/backup/veeam-quadro-host client_ip(rw,sync,no_subtree_check)
rw: эта опция дает клиенту доступ к чтению и записи на соответствующем томе.sync: эта опция принудительно заставляет NFS записывать изменения на диске, прежде чем отправлять ответ. В результате мы получаем более стабильную и согласованную среду, поскольку в ответе отражается фактическое состояние удаленного тома. Однако при этом снижается скорость операций с файлами.no_subtree_check: данная опция предотвращает проверку вложенного дерева, когда хост проверяет фактическую доступность файла в экспортированном дереве при каждом запросе. Это может вызвать много проблем в случае переименования файла, когда он открыт на клиентской системе. Проверку вложенного дерева в большинстве случаев лучше отключить.no_root_squash: по умолчанию NFS преобразует запросы удаленного пользователя root в запросы пользователя без привилегий на сервере. Это предназначено для обеспечения безопасности, чтобы пользователь root клиентской системы не мог использовать файловую систему хоста с правами root. Опцияno_root_squashотключает такое поведение для определенных общих ресурсов.
Когда вы закончите внесение изменений, сохраните и закройте файл. Чтобы сделать общие ресурсы доступными для настроенных клиентов, перезапустите сервер NFS с помощью следующей команды:
sudo systemctl restart nfs-kernel-server