Site icon IT Draft

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

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

NFS сервер / клиент

Network File System (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. За основу взят протокол вызова удалённых процедур. Позволяет подключать (монтировать) удалённые файловые системы через сеть.
NFS предоставляет клиентам прозрачный доступ к файлам и файловой системе сервера. В отличие от FTP, протокол NFS осуществляет доступ только к тем частям файла, к которым обратился процесс, и основное достоинство его в том, что он делает этот доступ прозрачным. Это означает, что любое приложение клиента, которое может работать с локальным файлом, с таким же успехом может работать и с NFS-файлом, без каких-либо модификаций самой программы.

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

Устанавливаем утилиту (возможно по-умолчанию уже стоит)

$ sudo yum install nfs-utils

Добавляем правила в файерволл

$ sudo firewall-cmd --permanent --zone=public --add-service=nfs
$ sudo firewall-cmd --permanent --zone=public --add-service=mountd
$ sudo firewall-cmd --permanent --zone=public --add-service=rpc-bind
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --list-all

Устанавливаем права на директорию, к которой будет доступ

$ sudo chown -R nfsnobody:nfsnobody /mnt/storage
$ sudo chmod -R 777 /mnt/storage

Отредактируем файл с настройками доступа к NFS-серверу

Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров

Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.


$ sudo nano /etc/exports
/mnt/storage           192.168.1.25(rw,sync,no_root_squash,no_subtree_check) 192.168.1.9(ro,sync,no_root_squash,no_subtree_check)

Пример настроек доступа к разным директориям

$ sudo nano /etc/exports
/srv/nfs4         192.168.33.0/24(rw,sync,no_subtree_check,crossmnt,fsid=0)
/srv/nfs4/backups 192.168.33.0/24(ro,sync,no_subtree_check) 192.168.33.3(rw,sync,no_subtree_check)
/srv/nfs4/www     192.168.33.110(rw,sync,no_subtree_check)
/data 192.168.1.100/24(rw,insecure,nohide,all_squash,anonuid=1000,anongid=1000,no_subtree_check)

Добавляем службы rpcbind и nfs в автозагрузку и запускаем их

$ sudo systemctl enable rpcbind nfs-server
$ sudo systemctl start rpcbind nfs-server

Демон nfs-server автоматически перечитывает файл /etc/exports, но бывает, что надо вручную запустить перечитывание конфига

$ sudo exportfs -r

Команда exportfs показывает какие ресурс опубликованы

$ sudo exportfs
/mnt/storage    192.168.1.25
/mnt/storage    192.168.1.9

Если при вводе появляется ошибка – Function not implemented, значит, не запущены службы rpcbind и nfs-server

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

Устанавливаем софт

$ sudo yum install nfs-utils

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

$ sudo systemctl start rpcbind
$ sudo systemctl enable rpcbind

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

$ sudo mkdir /mnt/nfs-share
$ sudo mount -t nfs 192.168.1.12:/mnt/storage /mnt/nfs-share

где 192.168.1.12 – ip-адрес NFS-сервера

Настраиваем автоматическое монтирование при перезагрузки сервера

$ sudo nano /etc/fstab
...
192.168.1.12:/mnt/storage  /mnt/nfs-share     nfs    defaults    0 0
Exit mobile version