Как настроить NFS в RHEL/CentOS/Fedora и Debian/Ubuntu

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

NFS (сетевая файловая система) в основном разработана для совместного использования файлов и папок между системами Linux/Unix компанией Sun Microsystems в 1980 году. Она позволяет вам монтировать локальные файловые системы через сеть и удаленные хосты для взаимодействия с ними, так как они монтируются локально в той же системе. С помощью NFS мы можем настроить обмен файлами между Unix для системы Linux и Linux для системы Unix.

Преимущества NFS
  • NFS позволяет локальный доступ к удаленным файлам.
  • Он использует стандартную архитектуру клиент/сервер для обмена файлами между всеми компьютерами на *nix.
  • При использовании NFS не обязательно, чтобы обе машины работали в одной и той же ОС.
  • С помощью NFS мы можем настроить решения для централизованного хранения.
  • Пользователи получают свои данные независимо от физического местоположения.
  • Не требуется обновление вручную для новых файлов.
  • Более новая версия NFS также поддерживает acl, pseudo root mounts.
  • Может быть защищен с помощью брандмауэров и Kerberos.

 

Службы NFS

Это сервис, запущенный System V. Серверный пакет NFS включает три средства, включенные в пакеты portmap и nfs-utils.

portmap: сопоставляет вызовы, сделанные с других компьютеров, с правильным сервисом RPC (не требуется для NFSv4).
NFS: он переводит запросы удаленного обмена файлами в запросы в локальной файловой системе.
rpc.mountd: этот сервис отвечает за монтирование и размонтирование файловых систем.

 

Важные файлы для конфигурации NFS

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

 

Установка и настройка монтирования NFS на сервере и клиенте Linux

Для настройки монтирования NFS нам понадобится как минимум две машины Linux/Unix. Здесь, в этом уроке, я буду использовать два сервера, один в качестве сервера, второй — клиента.

  • Сервер NFS: nfsserver.example.com с IP-192.168.0.100
  • Клиент NFS: nfsclient.example.com с IP-адресом 192.168.0.101

 

Установка NFS-сервера и NFS-клиента

Нам нужно установить пакеты NFS на нашем сервере NFS, а также на компьютере клиента NFS. Мы можем установить его через установщики пакетов «yum» (Red Hat Linux) и «apt-get» (Debian и Ubuntu).

[[email protected] ~]# yum install nfs-utils nfs-utils-lib
[[email protected] ~]# yum install portmap (not required with NFSv4)

 

 

[[email protected] ~]# apt-get install nfs-utils nfs-utils-lib

 

 

Теперь запустите службы на обеих машинах.

[[email protected] ~]# /etc/init.d/portmap start
[[email protected] ~]# /etc/init.d/nfs start
[[email protected] ~]# chkconfig --level 35 portmap on
[[email protected] ~]# chkconfig --level 35 nfs on

 

 

После установки пакетов и запуска служб на обеих машинах нам необходимо настроить обе машины для обмена файлами.

 

 

Настройка сервера NFS

Сначала мы будем настраивать сервер NFS.

Настроить каталог экспорта

Для совместного использования каталога с NFS нам нужно сделать запись в файле конфигурации «/etc/exports». Здесь я создам новый каталог с именем «nfsshare» в разделе «/» для совместного использования с клиентским сервером, вы также можете поделиться уже существующим каталогом с NFS.

[[email protected] ~]# mkdir /nfsshare

 

 

Теперь нам нужно сделать запись в «/etc/exports» и перезапустить службы, чтобы сделать наш каталог доступным в сети.



[[email protected] ~]# vi /etc/exports

/nfsshare 192.168.0.101(rw,sync,no_root_squash)

 

 

В приведенном выше примере есть каталог с именем «/nfsshare», совместно используемый с IP-адресом клиента «192.168.0.101» с привилегией read и write (rw), вы также можете использовать имя хоста клиента вместо IP в приведенный выше пример.

 

Параметры NFS

Некоторые другие параметры, которые мы можем использовать в файле «/etc/exports» для обмена файлами, следующие.

ro: с помощью этой опции мы можем предоставить доступ только для чтения к общим файлам, т.е. клиент сможет только читать.
rw: эта опция позволяет клиентскому серверу иметь права на чтение и запись в общем каталоге.
sync: синхронизация подтверждает запросы к общему каталогу только после того, как изменения были зафиксированы.
no_subtree_check: эта опция предотвращает проверку поддерева. Когда общий каталог является подкаталогом более крупной файловой системы, nfs выполняет сканирование каждого каталога над ним, чтобы проверить его разрешения и детали. Отключение проверки поддерева может повысить надежность NFS, но снизить безопасность.
no_root_squash: эта фраза позволяет пользователю root подключаться к указанному каталогу.
Для получения дополнительной информации о «/etc/exports» рекомендуется прочитать справочные страницы для экспорта.

 

 

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

После настройки сервера NFS нам нужно смонтировать этот общий каталог или раздел на клиентском сервере.

Монтирование общих каталогов на клиенте NFS

Теперь на стороне клиента NFS нам нужно смонтировать этот каталог на нашем сервере, чтобы получить к нему локальный доступ. Для этого сначала нужно выяснить, какие общие ресурсы доступны на удаленном сервере или NFS-сервере.



[[email protected] ~]# showmount -e 192.168.0.100

Export list for 192.168.0.100:
/nfsshare 192.168.0.101

 

 

Приведенная выше команда показывает, что каталог с именем «/nfsshare» доступен по адресу «192.168.0.100», чтобы поделиться с вашим клиентом.

 

Подключить общий каталог NFS

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

[[email protected] ~]# mount -t nfs 192.168.0.100:/nfsshare /mnt/nfsshare

 

 

Приведенная выше команда смонтирует этот общий каталог в «/mnt/nfsshare» на клиентском сервере. Вы можете проверить это следующей командой.



[[email protected] ~]# mount | grep nfs

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.0.100:/nfsshare on /mnt type nfs (rw,addr=192.168.0.100)

 

 

Приведенная выше команда mount временно смонтировала общий каталог nfs на клиенте nfs, чтобы постоянно монтировать каталог NFS в вашей системе при перезагрузках, нам нужно сделать запись в «/etc/fstab».

[[email protected] ~]# vi /etc/fstab

 

 

Добавьте следующую новую строку, как показано ниже.

192.168.0.100:/nfsshare /mnt nfs defaults 0 0

 

 

Проверьте работу установки NFS

Мы можем протестировать настройку нашего сервера NFS, создав тестовый файл на стороне сервера и проверив его доступность на стороне клиента nfs или наоборот.

На стороне NFS сервера

Я создал новый текстовый файл с именем «nfstest.txt» в этом общем каталоге.



[[email protected] ~]# cat > /nfsshare/nfstest.txt

This is a test file to test the working of NFS server setup.

 

 

Удаление NFS монтирования

Если вы хотите размонтировать этот общий каталог со своего сервера после того, как вы закончили с общим доступом к файлам, вы можете просто размонтировать этот конкретный каталог с помощью команды «umount». Смотрите этот пример ниже.

[email protected] ~]# umount /mnt/nfsshare

 

 

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

[[email protected] ~]# df -h -F nfs

 

 

Вы увидите, что эти общие каталоги больше не доступны.

Важные команды для NFS

Еще несколько важных команд для NFS.

  • showmount -e: показывает доступные общие ресурсы на вашем локальном компьютере.
  • showmount -e <server-ip или hostname>: список доступных общих ресурсов на удаленном сервере.
  • showmount -d: список всех подкаталогов
  • exportfs -v: отображает список общих файлов и параметров на сервере.
  • exportfs -a: экспортирует все ресурсы, перечисленные в /etc/exports или по имени
  • exportfs -u: отменяет экспорт всех ресурсов, перечисленных в /etc/exports, или имени
  • exportfs -r: обновить список серверов после изменения /etc/exports

 

На данный момент это все с монтированием NFS, это было только начало, я расскажу о дополнительных возможностях и возможностях NFS в наших будущих статьях.

 

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

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

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

Чтобы знать больше и выделяться знаниями среди толпы 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, подайте заявку или получите бесплатную консультацию.
Системы хранения данных

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

How to Set Up NFS Server and Client on CentOS 8

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

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

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

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

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

Most Viewed Posts
Меню