Сетевая файловая система (NFS) – это популярный протокол распределенной файловой системы, который позволяет пользователям монтировать удаленные каталоги на своем компьютере. NFS довольно хорошо работает c каталогами, к которым пользователям требуется частый доступ. Практически во всех версиях Linux команды будут одинаковые. Мы рассмотрим как монтировать общий ресурс NFS на примере сервера Ubuntu 18.04.
Пусть компьютеры будут иметь следующие адреса:

Сервер: 192.168.1.5
Клиент: 192.168.1.100

Требуется подключить существующую папку /home и специально созданную папку /var/nfs с сервера к клиенту.

Установка пакетов

Прежде всего, требуется установить необходимые компоненты как на сервере, так и на клиентских компьютерах. На сервере вам потребуется установить пакет nfs-kernel-server , который позволит использовать совместный доступ к вашим каталогам.

sudo apt update
sudo apt install nfs-kernel-server

На клиентском компьютере вам потребуется установить пакет nfs-common.

sudo apt update
sudo apt install nfs-common

Создание общего каталога на сервере

Мы будем монтировать специально созданный на сервере каталог на клиентский компьютер. Создадим каталог nfs.

sudo mkdir /var/nfs

Назначим права:

sudo chown nobody:nogroup /var/nfs

Теперь отредактируем файл, отвечающий за совместное использование ресурсов NFS

sudo nano /etc/exports

Здесь нужно создать строку для каждого из каталогов, которые должны быть общими и указать с какими компьютерами мы разделяем ресурсы. В нашем примере IP-адрес клиента – 192.168.1.100, поэтому строки должны выглядеть примерно так:

/home 192.168.1.100(rw,sync,no_root_squash,no_subtree_check)
/var/nfs 192.168.1.100(rw,sync,no_subtree_check)

В случае если нужно раздать каталог на все компьютеры подсети вместо 192.168.1.100 нужно указать 192.168.1.0/24

Давайте разберем, что здесь написано.

rw: эта опция позволяет клиентскому компьютеру как читать, так и записывать в данный каталог.
sync: заставляет NFS записывать изменения на диск перед ответом, что приводит к более стабильной и согласованной среде. Это связано прежде всего с тем, что ответ повторяет фактическое состояние удаленного тома.
no_subtree_check: эта опция предотвращает проверку поддеревьев. Сервер при каждом запросе проверяет, действительно ли файл все еще доступен в экспортируемом дереве. Отключение проверки уменьшает безопасность, но увеличивает скорость передачи данных.
no_root_squash: по умолчанию NFS переводит запросы от пользователя root на клиентском компьютере в непривилегированного на сервере. Это параметр безопасности который не позволяет учетной записи root на клиенте использовать файловую систему сервера в качестве root.

После того, как необходимые изменения внесены и сохранены, выполним команду:

sudo exportfs -a

и запустим службу NFS

sudo service nfs-kernel-server start

Данная команда сделает ваши ресурсы доступными для клиентов, которых вы настроили. Теперь перейдем к следующему шагу.

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

Сперва создадим точки монтирования удаленных ресурсов.

sudo mkdir -p /mnt/nfs/home
sudo mkdir -p /mnt/nfs/var/nfs

Подключаем.

sudo mount 192.168.1.5:/home /mnt/nfs/home
sudo mount 192.168.1.5:/var/nfs /mnt/nfs/var/nfs

Автоматическое монтирование производится через fstab

sudo nano /etc/fstab

Допишем в конец файла

192.168.1.5:/home /mnt/nfs/home nfs auto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=1800 0 0
192.168.1.5:/var/nfs /mnt/nfs/var/nfs nfs auto,noatime,nolock,bg,nfsvers=4,sec=krb5p,intr,tcp,actimeo=1800 0 0

Если вам больше не требуется монтировать удаленный каталог в вашей системе, вы можете легко размонтировать его используя следующие команды:

sudo umount /mnt/nfs/home
sudo umount /mnt/nfs/var/nfs

NFS предлагает простой и быстрый механизм доступа к удаленным системам по сети. Однако протокол является не зашифрованным. Если вы намерены использовать это в производственной среде, рекомендуется рассмотреть возможность запуска NFS через SSH или VPN-соединение.

Как настроить сервер NFS и смонтировать общие ресурсы NFS в Linux
Метки:         

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

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