Поиск по сайту:

Настройка сервера и клиента 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.

Статьи по данной тематике: