Network File System (NFS), также известная как файловая система «клиент/сервер», представляет собой популярный кроссплатформенный протокол распределенной файловой системы, используемый для экспорта локальных файловых систем по сети, чтобы клиенты могли обмениваться каталогами и файлами с другими по сети и взаимодействовать друг с другом, и с файлами, как будто они установлены локально.
В CentOS/RHEL 8 поддерживаемыми версиями NFS являются NFSv3 и NFSv4, а версией NFS по умолчанию является 4.2, в которой предусмотрена поддержка списков контроля доступа (ACL), копирование на стороне сервера, распределенные файлы, резервирование пространства, маркировка NFS, улучшения макета и еще много чего.
В этой статье вы узнаете, как установить и настроить сервер NFS и клиент NFS в дистрибутивах CentOS/RHEL 8 Linux.
Предпосылки:
- Установка CentOS 8.0 со скриншотами
- Установка RHEL 8
- Как включить подписку RHEL в RHEL 8?
- 3 способа установить статический IP-адрес в RHEL 8
Наша среда тестирования:
Настройка сервера NFS в CentOS 8
1. Сначала начните с установки необходимых пакетов на сервере NFS. Пакеты представляют собой nfs-utils, который устанавливает демон для NFS-сервера ядра и связанные с ним инструменты, например, содержит программу showmount.
Выполните следующую команду, чтобы установить пакет на сервере NFS (используйте sudo, если вы управляете системой как пользователь без полномочий root):
Как настроить NFS-сервер
2. После завершения установки запустите службу nfs-server, включите её автоматический запуск при загрузке системы, а затем проверьте её состояние с помощью команд systemctl:
Как настроить NFS-сервер
Обратите внимание, что автоматически запускаются и другие службы, необходимые для работы сервера 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. Для этой статьи мы создадим две файловые системы.
4. Затем экспортируйте указанные выше файловые системы в файл конфигурации сервера NFS — /etc/exports, чтобы определить локальные физические файловые системы, доступные для клиентов NFS:
Вот некоторые из параметров экспорта (для получения дополнительной информации о параметрах экспорта прочитайте 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 включает подробный вывод:
Как настроить NFS-сервер
Чтобы отобразить текущий список экспорта, выполните следующую команду. Обратите внимание, что в таблице экспорта также применяются некоторые параметры экспорта по умолчанию, которые не определены явно, как показано на следующем скриншоте:
7. Затем, если у вас запущена служба firewalld, вам нужно разрешить трафик к необходимым службам NFS (mountd, nfs, rpc-bind) через брандмауэр, затем перезагрузите правила брандмауэра, чтобы применить изменения, как показано ниже:
Как настроить NFS-сервер
Настройка клиента NFS в клиентских системах
8. Теперь на клиентском узле(ах) установите необходимые пакеты для доступа к общим ресурсам NFS в клиентских системах. Запустите соответствующую команду для вашего дистрибутива:
9. Затем выполните команду showmount, чтобы показать информацию о монтировании для NFS-сервера. Команда должна вывести экспортированную файловую систему на клиент, как показано на скриншоте:
9. Затем создайте локальную файловую систему/каталог для монтирования удаленной файловой системы NFS и смонтируйте её как файловую систему nfs:
10. Затем убедитесь, что удаленная файловая система была смонтирована, запустив команду mount и отфильтровав nfs mounts:
11. Чтобы сделать монтирование постоянным даже после перезагрузки системы, введите следующую команду, чтобы ввести соответствующую запись в /etc/fstab:
Как настроить NFS-сервер
12. Наконец, проверьте, работает ли установка NFS, создав файл на сервере, и проверьте, виден ли этот файл на клиенте:
Затем выполните обратное:
13. Размонтировать удаленную файловую систему на стороне клиента:
Обратите внимание, что вы не можете размонтировать удаленную файловую систему, если вы работаете в ней.
В этой статье мы показали, как установить, настроить сервер и клиент NFS в CentOS/RHEL 8. Если у вас есть какие-либо мысли или вопросы, используйте форму комментариев ниже, чтобы связаться с нами.
Спасибо за уделенное время на прочтение статьи о том, как настроить NFS-сервер и клиент на CentOS 8!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
3 комментария. Оставить новый
Доброго времени суток!
Столкнулся с проблемой, на примонтированной шаре остаются файлы вроде:
.nfs000000000000472100000001
и их не получается никак удалить, lsof и fuser ничего не показывают, помогает только ребут хоста. Зараннее благодарен за любые ответы.
OS: Centos-8 nfs-utils-2.3.3-31.el8.x86_64
Мне кажется, вы в 12 пункте кое что перепутали с каталогами.
Вы забыли добавить, что если клиент работает из под рута, то нужно добавить no_root_squash, иначе, клиент не сможет записывать данные на nfs диск.
vim /etc/exports
/mnt/nfs_shares/F1 192.168.1.22/24(rw,sync,no_root_squash)
exportfs -arv