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

Как настроить сервер и клиент NFS на CentOS 8


Сетевая файловая система (NFS), также известная как файловая система клиент/сервер, представляет собой популярный кроссплатформенный протокол распределенной файловой системы, используемый для экспорта локальных файловых систем по сети, поэтому что клиенты могут делиться каталогами и файлами с другими по сети и взаимодействовать с ними, как если бы они были смонтированы локально.

В CentOS/RHEL 8 поддерживаются версии NFS NFSv3 и NFSv4, а версия NFS по умолчанию — 4.2, в которой реализована поддержка списков управления доступом ( ACL), копирование на стороне сервера, разреженные файлы, резервирование пространства, маркировка NFS, улучшения макета и многое другое.

В этой статье вы узнаете, как установить и настроить сервер NFS и клиент NFS в дистрибутивах CentOS/RHEL 8 Linux.

Предпосылки:

  1. Руководство по установке CentOS 8
  2. RHEL 8 Минимальная установка
  3. Включить подписку RHEL в RHEL 8
  4. Установите статический IP-адрес в CentOS/RHEL 8

Наша среда тестирования:

NFS Server IP:	10.20.20.8
NFS Client IP:	10.20.20.9	

Настройка NFS-сервера на CentOS 8

1. Сначала начните с установки необходимых пакетов на сервер NFS. Это пакеты nfs-utils, которые предоставляют демон для сервера NFS ядра и связанные с ним инструменты, такие как содержащий программу showmount.

Выполните следующую команду, чтобы установить пакет на сервер NFS (используйте sudo, если вы администрируете систему от имени пользователя без полномочий root).

dnf install nfs-utils

2. После завершения установки запустите службу nfs-server, включите ее автоматический запуск при загрузке системы, а затем проверьте ее статус с помощью команд systemctl.

systemctl start nfs-server.service
systemctl enable nfs-server.service
systemctl status nfs-server.service

Обратите внимание, что другие службы, необходимые для запуска сервера NFS или подключения общих ресурсов NFS, такие как nfsd, nfs-idmapd, rpcbind, >rpc.mountd, lockd, rpc.statd, rpc.rquotad и rpc.idmapd > будет запущен автоматически.

Файлы конфигурации для сервера NFS:

  • /etc/nfs.conf – основной файл конфигурации для демонов и инструментов NFS.
  • /etc/nfsmount.conf – файл конфигурации монтирования NFS.

3. Затем создайте файловые системы для экспорта или совместного использования на сервере NFS. Для этого руководства мы создадим четыре файловые системы, три из которых используются сотрудниками трех отделов: отдела кадров, финансов и маркетинга для обмена файлами, а одна — для резервных копий пользователей root.

mkdir -p  /mnt/nfs_shares/{Human_Resource,Finance,Marketing}
mkdir  -p /mnt/backups
ls -l /mnt/nfs_shares/

4. Затем экспортируйте указанные выше файловые системы в файл конфигурации сервера NFS /etc/exports, чтобы определить локальные физические файловые системы, доступные клиентам NFS.

/mnt/nfs_shares/Human_Resource  	10.20.20.0/24(rw,sync)
/mnt/nfs_shares/Finance			10.20.10.0/24(rw,sync)
/mnt/nfs_shares/Marketing		10.20.30.0/24(rw,sync)
/mnt/backups				10.20.20.9/24(rw,sync,no_all_squash,root_squash)

Вот некоторые параметры экспорта (дополнительную информацию и параметры экспорта читайте в разделе man Exports):

  • rw – разрешает доступ как для чтения, так и для записи в файловой системе.
  • sync — указывает серверу NFS выполнять операции записи (запись информации на диск) по запросу (применяется по умолчанию).
  • all_squash — сопоставляет все UID и GID из клиентских запросов с анонимным пользователем.
  • no_all_squash — используется для сопоставления всех UID и GID из клиентских запросов с идентичными UID и GID на сервере NFS.
  • root_squash — сопоставляет запросы от пользователя root или UID/GID 0 от клиента с анонимным UID/GID.

5. Чтобы экспортировать указанную выше файловую систему, запустите команду exportfs с флагом -a, что означает экспорт или отмену экспорта всех каталогов, - r означает повторный экспорт всех каталогов, синхронизацию /var/lib/nfs/etab с /etc/exports и файлами в /etc/exports.d и -v обеспечивают подробный вывод.

exportfs -arv

6. Чтобы отобразить текущий список экспорта, выполните следующую команду. Обратите внимание, что в таблице exports также применяются некоторые параметры exports по умолчанию, которые не определены явно, как показано на следующем снимке экрана.

exportfs  -s

7. Далее, если у вас запущена служба firewalld, вам необходимо разрешить трафик к необходимым службам NFS (mountd, nfs , rpc-bind) через брандмауэр, затем перезагрузите правила брандмауэра, чтобы применить изменения, как показано ниже.

firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload

Настройка клиента NFS в клиентских системах

8. Теперь на клиентских узлах установите необходимые пакеты для доступа к общим ресурсам NFS в клиентских системах. Запустите соответствующую команду для вашего дистрибутива:

dnf install nfs-utils nfs4-acl-tools         [On CentOS/RHEL]
sudo apt install nfs-common nfs4-acl-tools   [On Debian/Ubuntu]

9. Затем запустите команду showmount, чтобы просмотреть информацию о монтировании сервера NFS. Команда должна вывести экспортированную файловую систему на клиенте, как показано на скриншоте.

showmount -e 10.20.20.8

9. Затем создайте локальную файловую систему/каталог для монтирования удаленной файловой системы NFS и смонтируйте ее как файловую систему ntf.

mkdir -p /mnt/backups
mount -t nfs  10.20.20.8:/mnt/backups /mnt/backups

10. Затем подтвердите, что удаленная файловая система смонтирована, выполнив команду mount и отфильтровав монтирования nfs.

mount | grep nfs

11. Чтобы монтирование оставалось постоянным даже после перезагрузки системы, выполните следующую команду, чтобы ввести соответствующую запись в файл /etc/fstab.

echo "10.20.20.8:/mnt/backups     /mnt/backups  nfs     defaults 0 0">>/etc/fstab
cat /etc/fstab

12. Наконец, проверьте, работает ли установка NFS, создав файл на сервере, и проверьте, виден ли этот файл на клиенте.

touch /mnt/backups/file_created_on_server.text     [On NFS Server]
ls -l /mnt/backups/file_created_on_server.text     [On NFS client]

Затем сделайте обратное.

touch /mnt/backups/file_created_on_client.text     [On NFS Client]
ls -l /mnt/backups/file_created_on_client.text     [On NFS Server]

13. Чтобы отключить удаленную файловую систему на стороне клиента.

umount /mnt/backups

Обратите внимание, что вы не можете размонтировать удаленную файловую систему, если работаете в ней, как показано на следующем снимке экрана.

Вот и все! В этом руководстве мы показали, как установить и настроить сервер и клиент NFS в CentOS/RHEL 8. Если у вас есть какие-либо мысли или вопросы, воспользуйтесь формой комментариев. ниже, чтобы вернуться к нам.