Подготовка NFS-медиахранилища
- RPM
- DEB
Установите необходимые пакеты:
sudo dnf install nfs-utils
Запустите службы NFS-сервера:
sudo systemctl start nfs-server.service
sudo systemctl enable nfs-server.service
sudo systemctl status nfs-server.serviceСоздайте файловые системы для экспорта или обмена на сервере NFS и задайте владельца и группу:
sudo mkdir -p /mnt/data_storage/
sudo chown -R 23041:23041 /mnt/data_storage/Экспортируйте файловые системы в файл конфигурации сервера NFS —
/etc/exports
, чтобы определить локальные физические файловые системы, доступные для клиентов NFS:Шаблон пути/mnt/data_storage/ <IP-адрес_клиента/сеть/маска/*>(rw,sync,all_squash,anonuid=23041,anongid=23041)
Пример пути/mnt/data_storage/ 192.168.131.0/24(rw,sync,all_squash,anonuid=23041,anongid=23041)
После внесения изменений, чтобы они вступили в силу, выполните команду:
sudo exportfs -arv
Обход встроенных утилит безопасности:
В дистрибутивах на основе RPM (например, CentOS, RHEL, Fedora) утилита безопасности SELinux может блокировать доступ к NFS, если он не настроен должным образом.
Чтобы временно отключить SELinux для тестирования:
sudo setenforce 0
Чтобы настроить SELinux для работы с NFS:
sudo setsebool -P nfs_export_all_rw 1
sudo setsebool -P nfs_export_all_ro 1
Также убедитесь, что firewall не блокирует порты, необходимые для работы NFS. Откройте их:
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --reload
Установите необходимые пакеты:
sudo apt update
sudo apt install nfs-kernel-serverЗапустите службы NFS-сервера:
sudo systemctl start nfs-kernel-server.service
sudo systemctl enable nfs-kernel-server.service
sudo systemctl status nfs-kernel-server.serviceСоздайте файловые системы для экспорта или обмена на сервере NFS и задайте владельца и группу:
sudo mkdir -p /mnt/data_storage/
sudo chown -R 23041:23041 /mnt/data_storage/Экспортируйте файловые системы в файл конфигурации сервера NFS —
/etc/exports
, чтобы определить локальные физические файловые системы, доступные для клиентов NFS:Шаблон пути/mnt/data_storage/ <IP-адрес_клиента/сеть/маска/*>(rw,sync,all_squash,anonuid=23041,anongid=23041)
Пример пути/mnt/data_storage/ 192.168.131.0/24(rw,sync,all_squash,anonuid=23041,anongid=23041)
После внесения изменений, чтобы они вступили в силу, выполните команду:
sudo exportfs -arv
Обход встроенных утилит безопасности:
В дистрибутивах на основе DEB (например, Ubuntu, Debian) также может потребоваться настройка firewall, чтобы разрешить доступ к NFS.
Чтобы проверить статус firewall и при необходимости открыть порты для NFS:
sudo ufw status
sudo ufw allow from <IP-адрес_клиента> to any port nfs
sudo ufw allow 2049/tcp
sudo ufw allow 111/tcp
sudo ufw allow 111/udpЕсли используется AppArmor, убедитесь, что профили для NFS настроены должным образом. В некоторых случаях может потребоваться их корректировка или временное отключение.
sudo aa-status
Если AppArmor мешает работе NFS, его можно временно отключить для тестирования:
sudo systemctl stop apparmor
sudo systemctl disable apparmor