Настройка сервера и клиента NFS в CentOS 8
NFS означает «Сетевая файловая система» и представляет собой протокол распределенной файловой системы, используемый для совместного использования файлов и папок между операционными системами на базе Linux. С помощью NFS вы можете смонтировать удаленную файловую систему локально по сети. С помощью NFS вы можете обмениваться файлами и каталогами с несколькими компьютерами и обновлять файлы через общий ресурс. NFS — лучший выбор для вас, если вы ищете централизованное решение для хранения данных.
В этом уроке мы покажем вам, как настроить сервер и клиент NFS под CentOS 8.
Требования
- Два сервера под управлением CentOS 8.
- Статический IP-адрес 172.20.10.4 настроен на сервере NFS, а 172.20.10.3 настроен на клиенте NFS.
- На обоих серверах настроен пароль root.
Начиная
По умолчанию SELinux включен на сервере CentOS 8. Поэтому вам нужно будет сначала отключить его.
Вы можете сделать это, отредактировав файл /etc/selinux/config:
nano /etc/selinux/config
Внесите следующие изменения:
SELINUX=disabled
Сохраните и закройте файл. Затем перезагрузите систему, чтобы применить изменения.
Установить NFS-сервер
По умолчанию пакет NFS доступен в репозитории CentOS 8 по умолчанию. Вы можете установить его, выполнив следующую команду:
dnf install nfs-utils
После установки сервера NFS запустите службу NFS и разрешите ее запуск после перезагрузки системы:
systemctl start nfs-server
systemctl enable --now nfs-server
Вы также можете проверить состояние службы NFS с помощью следующей команды:
systemctl status nfs-server
Вы должны увидеть следующий вывод:
? nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
Active: active (exited) since Thu 2019-11-07 02:07:09 EST; 1s ago
Process: 9721 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
Process: 9699 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
Process: 9698 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Main PID: 9721 (code=exited, status=0/SUCCESS)
Nov 07 02:07:09 centos8 systemd[1]: Starting NFS server and services...
Nov 07 02:07:09 centos8 systemd[1]: Started NFS server and services.
Создать общий ресурс NFS
В этом разделе мы создадим два каталога /nfsshare/data и /nfsshare/backup и опубликуем их в NFS.
Сначала создайте необходимые каталоги с помощью следующих команд:
mkdir -p /nfsshare/data
mkdir -p /nfsshare/backup
Затем дайте полные права доступа к каталогу с помощью следующей команды:
chmod -R 777 /nfsshare
Далее вам нужно будет экспортировать созданные каталоги, отредактировав файл /etc/exports:
nano /etc/exports
Добавьте следующие строки:
/nfsshare/data 172.20.10.0/24(rw,sync,no_subtree_check)
/nfsshare/backup 172.20.10.0/24(ro,sync,no_subtree_check,no_root_squash)
Сохраните и закройте файл. Затем выполните следующую команду, чтобы сделать ваш каталог доступным для общего доступа в сети:
exportfs -ra
Вам нужно будет запускать указанную выше команду каждый раз, когда вы изменяете файл /etc/exports.
Вы можете увидеть активный экспорт с помощью следующей команды:
exportfs -v
Вы должны увидеть следующий вывод:
/nfsshare/data 172.20.10.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/nfsshare/backup
172.20.10.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,no_root_squash,no_all_squash)
Настроить брандмауэр
Далее вам нужно будет разрешить SSH (для целей администратора) и службе NFS через firewalld доступ к общему ресурсу NFS из удаленной системы. Выполните следующую команду, чтобы разрешить службу SSH и NFS через firewalld:
firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --reload
Установить NFS-клиент
Теперь войдите в систему клиента NFS и установите клиентский пакет NFS с помощью следующей команды:
dnf install nfs-utils
После завершения установки вы можете проверить общие ресурсы NFS, доступные на сервере NFS, с помощью следующей команды:
showmount -e 172.20.10.4
Вы должны увидеть следующий вывод:
Export list for 172.20.10.4:
/nfsshare/backup 172.20.10.0/24
/nfsshare/data 172.20.10.0/24
Подключите общие ресурсы NFS на клиенте
Затем создайте два каталога на клиентском компьютере, куда вы хотите смонтировать общие ресурсы NFS.
mkdir /home/backup
mkdir /home/data
Затем смонтируйте общие каталоги на сервере NFS с помощью следующих команд:
mount -t nfs4 172.20.10.4:/nfsshare/data /home/data
mount -t nfs4 172.20.10.4:/nfsshare/backup /home/backup
Теперь вы можете проверить смонтированные общие ресурсы NFS с помощью следующей команды:
df -h
Вы должны увидеть следующий вывод:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 92G 36G 51G 42% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 65M 1.9G 4% /run/shm
none 100M 44K 100M 1% /run/user
/dev/sda5 184G 104G 71G 60% /home
172.20.10.4:/nfsshare/data 13G 1.8G 11G 14% /home/data
172.20.10.4:/nfsshare/backup 13G 1.8G 11G 14% /home/backup
Если вы хотите отключить общие ресурсы NFS, выполните следующие команды:
umount /home/data
umount /home/backup
Автомонтирование общих ресурсов NFS
Если вы хотите автоматически монтировать общие ресурсы NFS при каждой перезагрузке, отредактируйте файл /etc/fstab на клиентском компьютере:
nano /etc/fstab
Добавьте следующие строки:
172.20.10.4:/nfsshare/data /home/data nfs4 rw,sync,hard,intr 0 0
172.20.10.4:/nfsshare/backup /home/backup nfs4 rw,sync,hard,intr 0 0
Сохраните и закройте файл, когда закончите.
Теперь вы можете перезагрузить компьютер, и точки монтирования останутся постоянными даже после перезагрузки.
Заключение
Поздравляем! вы успешно установили и настроили сервер и клиент NFS в CentOS 8. Теперь ваш сервер готов обслуживать файлы. Помните, что NFS не обеспечивает достаточной безопасности, поэтому рекомендуется включить аутентификацию Kerberos.