How to Set Up NFS Server and Client on CentOS 8

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

RHELСистемы хранения данных

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

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

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

 

 

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

 

 

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

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

 

Install-NFS-on-CentOS-8

 

 

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

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

 

Verify-NFS-Server-Status

 

 

Обратите внимание, что автоматически запускаются и другие службы, необходимые для работы сервера 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 export):

  • 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

 

Export-NFS-Shares

 

 

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

# exportfs -s

 

List-NFS-Shares

 

 

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

 

Open-NFS-Services-on-Firewall

 

 

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

 

View-NFS-Shares-on-Client-System

 

 

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

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

 

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

# mount | grep nfs

 

Check-NFS-Mounts-on-Client-System

 

 

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

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

 

Permanently-Mount-NFS-Share-on-Client-System

 

 

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]

 

Test-NFS-Setup-from-Client

 

 

Затем выполните обратное:

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

 

Test-NFS-Setup-from-Server

 

 

13. Размонтировать удаленную файловую систему на стороне клиента:

# umount /mnt/backups

 

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

NFS-Mount-Error

 

 

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

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
RHELСистемы хранения данных

Больше похожих постов

Lemp on RHEL8

Как установить LEMP на RHEL 8

240
0
Многие хорошо знают о LAMP, но меньше людей знают о стеке LEMP, который заменяет веб-сервер Apache на облегченный Nginx. Каждый…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Меню