Настройка nfs centos 7

Обновлено: 05.07.2024

NFS - сетевая файловая система, стандарт для обемна общими папками в мире Линукс. Очень легко настраивается и работает без проблем, так же очень полезна для размещения общих файлов, таких как образы операционных систем, для гипервизоров.

Настройка будем производить на сервере с операционной системой CentOS7

Установка демона nfs

sudo yum install nfs-utils

sudo systemctl start rpcbind

sudo systemctl enable rpcbind

sudo systemctl start nfs-server

sudo systemctl enable nfs-server

sudo systemctl start rpc-statd

sudo systemctl start nfs-idmapd

Рассмотрим за что отвечают данные демоны:

  • rpcbind - преобразовывает RPC в универсальные номера;
  • nfs-server - предоставляет доступ к директория для NFS-клиентов;
  • nfs-statd - демон блокировки файлов NFS, реализует восстановления блокированных файлов после сбоя или перезагрузки сервера;
  • nfs-idmapd - преобразует id пользователей и груп в имена и наоборот.

Настройка общей директории NFS

Создаем директорию, например ISO

Насзначаем ей права

sudo chmod 777 /ISO

Теперь редактируем файл с настройками NFS, /etc/exports

/ISO - указывается директория, которая будет раздаваться;

* - указывает что доступ к NFS-папке будет иметь любой хост (возможно указание адреса хоста, сети, указание макси имени хоста и * - означает любой);

Далее в скобках идут параметры NFS

  • rw - подключение клиентов в режиме чтения и записи (можно указать, только запись - ro);
  • sync - все изменения в подключенной клиентом папке, сразу будут сохраняться на сервер (async - работает быстрее, но в случае сбоя данные могут быть потеряны);
  • no_root_squash - говорит NFS, что root на клиентском компьютере, бедут иметь тот же уровнеь доступа, что и root на сервере (по-умолчанию, root на клиенте имеет уровнеь доступа как nobody на сервере)

Мы рассмотрели самые распространенные опции, их намного больше, для ознакомления обратитесь к официальной документации демона или man exports.

Для управления NFS используется утилита exportfs с различными опциями:

  • -v - просмотр доступных NFS директорий;
  • -a - экспортировать все директории указанные в файле /etc/exports;
  • -u - отменить экспорт указанной директории;
  • -r - обновить экспорт директорий указанных в /etc/exports, после изменения.

Для коректной работы NFS необходимо разрешить подключение на следующих сетевых портах:

В рамках данной заметки рассмотрим процесс установки NFS сервера в локальной сети на базе Linux CentOS 7. Данная файловая шара мне потребовалась для работы с XenServer 6.5 (установка ОС на виртуальные машины с ISO NFS library).

Выполняем к командной строке (нужны привилегии супер пользователя) следующие операции. Сначала устанавливает требуемые пакеты:

sudo yum install nfs-utils nfs-utils-lib

Затем включаем установленную службу:

sudo systemctl enable rpcbind

sudo systemctl enable nfs-server

sudo systemctl enable nfs-lock

sudo systemctl enable nfs-idmap

sudo systemctl start rpcbind

sudo systemctl start nfs-server

sudo systemctl start nfs-lock

sudo systemctl start nfs-idmap

sudo mkdir -p /home/nfs

sudo chmod -R 777 /home/nfs

и добавляем строку:

/home/nfs – расшариваемая директория

192.168.10.0/24 – IP адрес клиента (или, как в моем случае, возможность подключения для всей подсети)

rw – разрешение на запись

sync – синхронизация указанной директории

no_root_squash – включение root привилегий

Выполняем в командной строке exportfs -a ,чтобы подключить этот каталог в список экспортируемых. В завершение настройки NFS сервера перезапускаем его:

sudo systemctl restart nfs-server

Теперь добавляем (открываем) порты NFS сервера в брандмауэре (firewalld) для корректной работы в сети:

Готово! Установка и настройка NFS сервера на CentOS 7 завершена.

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

В завершении данной заметки рассмотрим процесс настройки клиента для подключения (работы) с развернутым ранее NFS сервером. В моем случае, чаще всего клиентом будет какой-либо хост виртуализации (например, VMware ESXi или Xen Server) и его установка и настройка не требуется. Только необходимо запустить мастер подключения и указать параметры подключения. Для других сервисов или серверов выполняем следующие команды:

sudo yum install nfs-utils nfs-utils-lib

Включаем сервис и активируем автозагрузку:

systemctl enable rpcbind

systemctl enable nfs-server

systemctl enable nfs-lock

systemctl enable nfs-idmap

systemctl start rpcbind

systemctl start nfs-server

systemctl start nfs-lock

systemctl start nfs-idmap

Создаем каталог, куда будем монтировать шару:

sudo mkdir /media/nfs_share

mount -t nfs 192.168.10.101:/home/nfs/ /media/nfs_share/

Добавление автомонтирования при включение системы:

Проверяем, что все примонтировалось правильно:

Нашли ошибку в тексте? Выделите фрагмент текста и нажмите Ctrl+Enter

Установка и настройка сервера и клиента NFS в CentOS Linux 7.2

В этой статье мы рассмотрим простой пример того, как установить и настроить Network File System (NFS) в CentOS Linux 7.2. На стороне сервера будет настроена NFS-шара, а на стороне клиента эта шара будет подключена.

В некоторых дистрибутивах Linux NFS-сервер и клиент устанавливаются при установке ОС. Например в CentOS 6 NFS-сервер устанавливался по умолчанию, но служба не была включена в автозагрузку. В CentOS 7 серверные и клиентские компоненты NFS нужно устанавливать самостоятельно. При этом в CentOS 7 используется обновлённая усовершенствованная версия NFS 4.1.

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

Устанавливаем пакеты для организации NFS-сервера

Включаем автозагрузку для служб rpcbind и nfs-server:

Проверяем для каких версий NFS способен принимать подключения наш NFS-сервер:

Как видим, наш NFS сервер должен принимать подключения как NFSv3 так и NFSv4.

Создаём каталог под NFS-шару

Создаём NFS-шару в файле /etc/exports:

/var/nfs - путь к папке, для которой предоставляется общий доступ; (rw,sync,no_root_squash,no_all_squash) - набор опций для шары.

Описание использованных опций позаиствовано отсюда:

rw – доступ на чтение и запись (может принимать значение ro-только чтение);

sync – синхронный режим доступа(может принимать обратное значение- async). sync (async) - указывает, что сервер должен отвечать на запросы только после записи на диск изменений, выполненных этими запросами. Опция async указывает серверу не ждать записи информации на диск, что повышает производительность, но понижает надежность, т.к. в случае обрыва соединения или отказа оборудования возможна потеря данных;

no_root_squash – запрет подмены uid/gid для суперпользователя (root). По умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать;

all_squash / no_all_squash - установка подмены идентификатора от всех пользователей all_squash - подмена запросов от ВСЕХ пользователей (не только root) на анонимного uid/gid, либо на пользователя, заданного в параметре anonuid/anongid. Используется обычно для публичного экспорта директорий. no_all_squash - запрет подмены uid/gid для от всех пользователей

Чтобы служба nfs-server перечитала конфигурацию, выполним

Выполнив команду exportfs убедимся в том, что ресурс опубликован:

Добавляем разрешающие правила брандмауэра:

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

Устанавливаем пакетов поддержки NFS:

Включаем и запускаем включаем службы NFS:

Создаем каталог, в который будет смонтирована шара и монтируем шару:

Проверяем то, что каталог примонтирован:

Проверим возможность записи в шару

Настраиваем автоматическое монтирование шары при перезагрузке системы, добавляя запись в конец файла /etc/fstab:


Автор первичной редакции:
Алексей Максимов
Время публикации: 01.09.2016 15:30


В этой статье мы рассмотрим простой пример того, как установить и настроить файловый сервер Network File System (NFS) в CentOS Linux 7.2. На стороне сервера будет настроена NFS-шара, а на стороне клиента эта шара будет подключена.

Для примера используем:

  • Сервер s11.rbsoft.local с адресом 192.168.102.11
  • На всех хостах настроен первым DNS в сетевых настройках адрес локального DNS-сервера, который имеет запись о хосте s11.rbsoft.local.
  • Локальная сеть у нас 192.168.102.0/24
  • Клиент подключается с адреса 192.168.102.10

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

Устанавливаем пакеты для организации NFS-сервера

Включаем автозагрузку для служб rpcbind и nfs-server:

Проверяем для каких версий NFS способен принимать подключения наш NFS-сервер:

Как видим, наш NFS сервер должен принимать подключения как NFSv3 так и NFSv4.

Создаём каталог под NFS-шару

Создаём NFS-шару в файле /etc/exports:

  • /var/nfs — путь к папке, для которой предоставляется общий доступ;
  • 192.168.102.0/24 –IP-подсеть, которой разрешён доступ к шаре;
  • (rw,sync,no_root_squash,no_all_squash) — набор опций для шары.

Описание использованных опций позаимствовано отсюда:

rw – доступ на чтение и запись (может принимать значение ro-только чтение);

sync – синхронный режим доступа(может принимать обратное значение- async). sync (async) — указывает, что сервер должен отвечать на запросы только после записи на диск изменений, выполненных этими запросами. Опция async указывает серверу не ждать записи информации на диск, что повышает производительность, но понижает надежность, т.к. в случае обрыва соединения или отказа оборудования возможна потеря данных;

no_root_squash – запрет подмены uid/gid для суперпользователя (root). По умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать;

all_squash / no_all_squash — установка подмены идентификатора от всех пользователей all_squash — подмена запросов от ВСЕХ пользователей (не только root) на анонимного uid/gid, либо на пользователя, заданного в параметре anonuid/anongid. Используется обычно для публичного экспорта директорий. no_all_squash — запрет подмены uid/gid для от всех пользователей

Чтобы служба nfs-server перечитала конфигурацию, выполним

Выполнив команду exportfs убедимся в том, что ресурс опубликован:

Добавляем разрешающие правила брандмауэра:

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

Устанавливаем пакетов поддержки NFS:

Включаем и запускаем включаем службы NFS:

Создаем каталог, в который будет смонтирована шара и монтируем шару:

Проверяем то, что каталог примонтирован:

Проверим возможность записи в шару

Настраиваем автоматическое монтирование шары при перезагрузке системы, добавляя запись в конец файла /etc/fstab:


В этой статье мы обсудим, как мы можем настроить кластеризацию высокой доступности nfs-сервера (активный-пассивный) с кардиостимулятором на CentOS 7 или RHEL 7.

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

Выполните следующие шаги, чтобы настроить активно-пассивную кластеризацию NFS-сервера на CentOS 7 / RHEL 7.

Шаг 1) Установите имя хоста на обоих серверах nfs и обновите файл /etc/hosts

Обновите файл / etc / hosts на обоих серверах nfs,

Шаг 2) Обновите оба сервера nfs и установите пакеты ПК

Установите ПК и пакеты с агентами на оба сервера nfs,

После установки пакетов ПК и агентов ограждения разрешите связанные с ПК порты в брандмауэре ОС с обоих серверов nfs,

Теперь запустите и включите службу pcsd на обоих узлах nfs, используя следующие команды:

Шаг 3) Аутентифицируйте узлы nfs и сформируйте кластер

Установите пароль для пользователя hacluster, служба pcsd будет использовать этого пользователя для аутентификации узлов кластера, поэтому давайте сначала установим пароль для пользователя hacluster на обоих узлах,

Теперь пришло время сформировать кластер с именем « nfs_cluster » и добавить к нему оба узла nfs. Выполните команду « Установка кластера ПК » с любого узла nfs,

Включите службу кластера ПК на обоих узлах, чтобы узлы автоматически присоединялись к кластеру после перезагрузки. Выполните команду ниже с любого из узлов nfs,

Шаг 4) Определите устройство ограждения для каждого узла кластера

В этом руководстве мы используем общий диск размером 1 ГБ (/ dev / sdc) в качестве устройства ограждения. Давайте сначала узнаем идентификатор диска / dev / sdc

In this tutorial we are using a shared disk of size 1 GB (/dev/sdc) as a fencing device. Let’s first find out the id of /dev/sdc disk

Запишите идентификатор диска /dev/sdc, как мы это сделаем в команде « pcs stonith ».

Теперь выполните команду «pcs stonith» на любом из узлов, чтобы создать устройство ограждения (disk_fencing).

Проверьте статус stonith, используя команду ниже,

Запустите команду « pcs status », чтобы просмотреть статус кластера.

Примечание. Если ваши узлы кластера являются виртуальными машинами и размещены на VMware, вы можете использовать агент ограждения« забор_vmware_soap ». Чтобы настроить «Забор_vmware_soap» в качестве агента ограждения, выполните следующие логические шаги:

1) Убедитесь, что узлы кластера могут подключиться к гипервизору VMware или Vcenter.

Если вы можете видеть имена виртуальных машин в выходных данных, это нормально, иначе вам нужно проверить, почему узлы кластера не могут установить соединение esxi или vcenter.

2) Определите устройство ограждения, используя команду ниже,

3) проверьте статус камня, используя команду ниже,

Шаг 5) Установите nfs и отформатируйте общий диск nfs

Установите пакет nfs-utils на оба сервера nfs

Остановите и отключите локальную службу « nfs-lock » на обоих узлах, так как эта служба будет контролироваться кардиостимулятором.

Предположим, у нас есть общий диск «/dev/sdb» размером 10 ГБ между двумя узлами кластера. Создайте на нем раздел и отформатируйте его как файловую систему xfs.

Запустите команду partprobe на обоих узлах и перезагрузитесь один раз.

Теперь отформатируйте «/dev/sdb1» как файловую систему xfs.

Создайте точку монтирования для этой файловой системы на обоих узлах,

Шаг 6) Настройте все необходимые ресурсы NFS на узлах кластера.

Ниже приведены необходимые ресурсы NFS:

  • Ресурс файловой системы
  • ресурс nfsserver
  • ресурс exportfs
  • Ресурс плавающего IP-адреса IPaddr2

Для ресурса файловой системы нам нужно общее хранилище между узлами кластера, мы уже создали раздел на общем диске (/ dev / sdb1) в вышеуказанных шагах, поэтому мы будем использовать этот раздел. Используйте приведенную ниже команду « pcs resource create », чтобы определить ресурс файловой системы с любого узла,

В приведенной выше команде мы определили файловую систему NFS как « nfsshare » в группе « nfsgrp ». Теперь все ресурсы nfs будут созданы в группе nfsgrp.

Создайте ресурс nfsserver с именем nfsd , используя следующую команду:

Создайте ресурс exportfs с именем « nfsroot ».

В приведенной выше команде clientpec указывает разрешенных клиентов, которые могут получить доступ к nfsshare.

Создайте ресурс NFS IPaddr2, используя команду ниже,

Теперь просмотрите и проверьте кластер, используя статус ПК.

Как только вы закончите с ресурсами NFS, разрешите порты сервера nfs в брандмауэре ОС с обоих серверов nfs,

Шаг 7) Попробуйте подключить общий ресурс NFS на клиентах

Теперь попробуйте смонтировать общий ресурс nfs с помощью команды mount, пример показан ниже.

Теперь перейдите на клиентский компьютер и посмотрите, доступен ли по-прежнему nfsshare. В моем случае я все еще могу получить к нему доступ и создавать на нем файлы.

Вот и все из этой статьи, она подтверждает, что мы успешно настроили активно-пассивную кластеризацию NFS с помощью кардиостимулятора. Пожалуйста, поделитесь своими отзывами и комментариями в разделе комментариев ниже.

Читайте также: