CentOS Linux 7.2: Файловый сервер NFS
> LinuxДата обновления: 23 мая 2024 г. Дата публикации: 23 мая 2024 г. Автор: Стрекаловский Александр
В этой статье мы рассмотрим простой пример того, как установить и настроить файловый сервер 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-сервера
# yum install nfs-utils
Включаем автозагрузку для служб rpcbind и nfs-server:
# systemctl enable rpcbind nfs-server
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service
to /usr/lib/systemd/system/nfs-server.service.
Запускаем службы:
# systemctl start rpcbind nfs-server
Проверяем для каких версий NFS способен принимать подключения наш NFS-сервер:
# rpcinfo -p localhost
program vers proto port service
...
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
...
Как видим, наш NFS сервер должен принимать подключения как NFSv3 так и NFSv4.
Создаём каталог под NFS-шару
# mkdir -p /var/nfs
# chmod -R 777 /var/nfs
Создаём NFS-шару в файле /etc/exports:
# cat /etc/exports
/var/nfs 192.168.102.0/24(rw,sync,no_root_squash,no_all_squash)
/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 -r
Выполнив команду exportfs убедимся в том, что ресурс опубликован:
# exportfs
/var/nfs
192.168.102.0/24
Добавляем разрешающие правила брандмауэра:
# firewall-cmd --permanent --zone=public --add-service=nfs
# firewall-cmd --permanent --zone=public --add-service=mountd
# firewall-cmd --permanent --zone=public --add-service=rpc-bind
# firewall-cmd --reload
Установка и настройка клиента NFS
Устанавливаем пакетов поддержки NFS:
# yum install nfs-utils
Включаем и запускаем включаем службы NFS:
# systemctl start rpcbind
# systemctl enable rpcbind
Создаем каталог, в который будет смонтирована шара и монтируем шару:
# mkdir /mnt/nfs-share
# mount -t nfs s11.rbsoft.local:/var/nfs/ /mnt/nfs-share/
Проверяем то, что каталог примонтирован:
# mount | grep nfs4
s04.rbsoft.local:/var/nfs/ on /mnt/nfs-share type nfs4
(rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,
namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,
clientaddr=192.168.102.10,local_lock=none,addr=192.168.102.11)
# df -hT | grep nfs4
s11.rbsoft.local:/var/nfs nfs4 3.6T 88M 3.4T 1% /mnt/nfs-share
Проверим возможность записи в шару
# touch /mnt/nfs-share/test.txt
# rm /mnt/nfs-share/test.txt
Настраиваем автоматическое монтирование шары при перезагрузке системы, добавляя запись в конец файла /etc/fstab:
# cat /etc/fstab
...
s04.rbsoft.local:/var/nfs/ /mnt/nfs-share/ nfs defaults 0 0