Серверы NFS · 3 min read · Oct 27, 2025
Настройка NFS сервера и клиента на CentOS 8

NFS означает “Сетевую файловую систему” и является протоколом распределенной файловой системы, используемым для обмена файлами и папками между операционными системами на базе Linux. С помощью NFS вы можете монтировать удаленную файловую систему локально через сеть. С помощью NFS вы можете делиться файлами и каталогами с несколькими машинами и обновлять файлы через общий доступ. NFS — лучший выбор для вас, если вы ищете централизованное решение для хранения.
В этом руководстве мы покажем вам, как настроить NFS сервер и клиент под управлением CentOS 8.
Требования
- Два сервера, работающих под управлением CentOS 8.
- Статический IP-адрес 172.20.10.4 настроен на NFS сервере, а 172.20.10.3 настроен на NFS клиенте.
- Пароль root настроен на обоих серверах.
Начало работы
По умолчанию SELinux включен на сервере CentOS 8. Поэтому вам нужно будет сначала отключить его.
Вы можете сделать это, отредактировав файл /etc/selinux/config:
nano /etc/selinux/configВнесите следующие изменения:
SELINUX=disabledСохраните и закройте файл. Затем перезагрузите систему, чтобы применить изменения.
Установка NFS сервера
По умолчанию пакет NFS доступен в стандартном репозитории CentOS 8. Вы можете установить его, выполнив следующую команду:
dnf install nfs-utilsПосле установки NFS сервера запустите службу NFS и включите ее для автоматического запуска после перезагрузки системы:
systemctl start nfs-server
systemctl enable --now nfs-serverВы также можете проверить статус службы NFS с помощью следующей команды:
systemctl status nfs-serverВы должны увидеть следующий вывод:
? nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
Active: active (exited) since Thu 2019-11-07 02:07:09 EST; 1s ago
Process: 9721 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
Process: 9699 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
Process: 9698 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Main PID: 9721 (code=exited, status=0/SUCCESS)
Nov 07 02:07:09 centos8 systemd[1]: Starting NFS server and services...
Nov 07 02:07:09 centos8 systemd[1]: Started NFS server and services.Создание NFS общего доступа
В этом разделе мы создадим две директории /nfsshare/data и /nfsshare/backup и поделимся ими с NFS.
Сначала создайте необходимые директории с помощью следующих команд:
mkdir -p /nfsshare/data
mkdir -p /nfsshare/backupЗатем предоставьте полные права на директорию с помощью следующей команды:
chmod -R 777 /nfsshareЗатем вам нужно будет экспортировать созданные директории, отредактировав файл /etc/exports:
nano /etc/exportsДобавьте следующие строки:
/nfsshare/data 172.20.10.0/24(rw,sync,no_subtree_check)
/nfsshare/backup 172.20.10.0/24(ro,sync,no_subtree_check,no_root_squash)Сохраните и закройте файл. Затем выполните следующую команду, чтобы сделать вашу директорию доступной в сети:
exportfs -raВам нужно будет выполнять вышеуказанную команду каждый раз, когда вы изменяете файл /etc/exports.
Вы можете увидеть активные экспорты с помощью следующей команды:
exportfs -vВы должны увидеть следующий вывод:
/nfsshare/data 172.20.10.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/nfsshare/backup
172.20.10.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,no_root_squash,no_all_squash)Настройка брандмауэра
Далее вам нужно будет разрешить SSH (для административных целей) и службу NFS через firewalld, чтобы получить доступ к NFS общему доступу с удаленной системы. Выполните следующую команду, чтобы разрешить SSH и службу NFS через firewalld:
firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --reloadУстановка NFS клиента
Теперь войдите в систему NFS клиента и установите пакет NFS клиента с помощью следующей команды:
dnf install nfs-utilsПосле завершения установки вы можете проверить доступные NFS общие ресурсы на сервере NFS с помощью следующей команды:
showmount -e 172.20.10.4Вы должны увидеть следующий вывод:
Export list for 172.20.10.4:
/nfsshare/backup 172.20.10.0/24
/nfsshare/data 172.20.10.0/24Монтирование NFS общих ресурсов на клиенте
Далее создайте две директории на клиентской машине, где вы хотите смонтировать NFS общие ресурсы.
mkdir /home/backup
mkdir /home/dataЗатем смонтируйте директории, общие на сервере NFS, с помощью следующих команд:
mount -t nfs4 172.20.10.4:/nfsshare/data /home/data
mount -t nfs4 172.20.10.4:/nfsshare/backup /home/backupТеперь вы можете проверить смонтированные NFS общие ресурсы с помощью следующей команды:
df -hВы должны увидеть следующий вывод:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 92G 36G 51G 42% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 65M 1.9G 4% /run/shm
none 100M 44K 100M 1% /run/user
/dev/sda5 184G 104G 71G 60% /home
172.20.10.4:/nfsshare/data 13G 1.8G 11G 14% /home/data
172.20.10.4:/nfsshare/backup 13G 1.8G 11G 14% /home/backupЕсли вы хотите размонтировать NFS общие ресурсы, выполните следующие команды:
umount /home/data
umount /home/backupАвтоматическое монтирование NFS общих ресурсов
Если вы хотите, чтобы NFS общие ресурсы монтировались автоматически при каждой перезагрузке, отредактируйте файл /etc/fstab на клиентской машине:
nano /etc/fstabДобавьте следующие строки:
172.20.10.4:/nfsshare/data /home/data nfs4 rw,sync,hard,intr 0 0
172.20.10.4:/nfsshare/backup /home/backup nfs4 rw,sync,hard,intr 0 0Сохраните и закройте файл, когда закончите.
Теперь вы можете перезагрузить машину, и точки монтирования будут постоянными даже после перезагрузки.
Заключение
Поздравляем! вы успешно установили и настроили NFS сервер и клиент на CentOS 8. Ваш сервер теперь готов к обслуживанию файлов. Помните, что NFS не имеет высокой безопасности, поэтому рекомендуется включить аутентификацию Kerberos.
Get new posts in your inbox
No spam. Unsubscribe anytime.