Инструменты пользователя

Инструменты сайта


nfs

NFS

Талмуд честно скомунизжен с данного ресурса. Основное отличие, в том что установка производится на Debian stretch.

NFS является клиент-серверным приложением. В системе пользователя должен быть установлен NFS-клиент, а на компьютерах, которые предоставляют свое дисковое пространство – NFS-сервер.

Главным преимуществом Network File System является то, что отдельно взятые рабочие станции могут использовать меньше собственного дискового пространства, так как совместно используемые данные хранятся на отдельной машине и доступны для других машин в сети.

Установка

Для установки и сервера, и клиента необходимы одни и те же пакеты nfs-kernel-server и nfs-common

apt-get install nfs-kernel-server nfs-common

Настройка сервера

Все настройки сервера NFS хранятся в файле - /etc/exports. Давайте ка приведем его в вертикальное положение. По умолчанию, в файле присутствуют только закомментированные примеры. Если в них нет надобности, отчистим файл

:> /etc/exports

Создадим директорию, которой будем делится:

mkdir /data

Ну вот, теперь когда файл конфигурации сервера NFS девственно чист, добавим в него строку (строк может быть любое количество):

/data 10.10.10.0/255.255.255.0(rw,insecure,nohide,all_squash,anonuid=1000,anongid=1000,no_subtree_check)

Теперь подробнее о том, что из себя представляет эта строка:

  • /data –- путь к директории, для которой раздается доступ;
  • 10.10.10.0 сеть, для которой раздается доступ, можно указать отдельный IP адрес (в этом случае запись примет вид 10.10.10.14/24)
  • (rw,no_root_squash,sync) –- набор опций, рассмотрим подробнее каждую из них:
    • rw –чтение запись (может принимать значение ro-только чтение);
    • no_root_squash – по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Эта опция снимаем данное ограничение. В целях безопасности этого лучше не делать;
    • nohide - NFS автоматически не показывает нелокальные ресурсы (например, примонтированные с помощью mount –bind), эта опция включает отображение таких ресурсов;
    • sync – синхронный режим доступа (может принимать обратное значение – async). sync (async) – указывает, что сервер должен отвечать на запросы только после записи на диск изменений, выполненных этими запросами. Опция async указывает серверу не ждать записи информации на диск, что повышает производительность, но понижает надежность, т.к. в случае обрыва соединения или отказа оборудования возможна потеря данных;
    • noaccess – запрещает доступ к указанной директории. Может быть полезной, если перед этим, был задан доступ всем пользователям сети к определенной директории, и теперь нужно ограничить доступ в поддиректории лишь некоторым пользователям.
    • all_squash – подразумевает, что все подключения, будут выполниться от анонима.
    • subtree_check (no_subtree_check) – в некоторых случаях приходится экспортировать не весь раздел, а лишь его часть. При этом сервер NFS должен выполнять дополнительную проверку обращений клиентов, чтобы убедиться в том, что они предпринимают попытку доступа лишь к файлам, находящимся в соответствующих подкаталогах. Такой контроль поддерева (subtree checks) несколько замедляет взаимодействие с клиентами, но если отказаться от него, могут возникнуть проблемы с безопасностью системы. Отменить контроль поддерева можно с помощью опции no_subtree_check. Опция subtree_check, включающая такой контроль, предполагается по умолчанию. Контроль поддерева можно не выполнять в том случае, если экспортируемый каталог совпадает с разделом диска;
    • anonuid=1000 – привязывает анонимного пользователя к существующему пользователю;
    • anongid=1000 – привязывает анонимного пользователя к группе «местного» пользователя.

Для определения uid пользователя воспользуемся командой id

id UserName

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

systemctl restart nfs-kernel-server.service

В дальнейшем, в случае изменений в файле /etc/exports, демона можно перезапускать таким макаром:

exportfs -a

Настройка клиента

Для монтирования сетевой папки необходимо определится, куда, мы ее будем монтировать. Создадим для этого директорию:

mkdir ~/common

Монтирование вручную

Чтобы посмотреть точный путь к ресурсу сервера nfs, выполним команду:

showmount -e <NFS server name>

Для монтирования директории, введем своими волосатыми ручищами следующею команду

mount -t nfs -O uid=1000,iocharset=utf-8 10.10.10.1:/data ~/common

Монтирование с записью в fstab

Создадим директорию

mkdir /media/common

В файл /etc/fstab внесем следующею запись:

10.10.10.1:/data /media/common nfs user,rw,auto 0 0

В случае, если пользователь работает через GUI, и нет надобности монтировать каталог при старте, можно указать опцию noauto. В дальнейше, пользователь может в Nautilus примонтировать диск одним кликом.

При монтировании удаленных директорий NFS посредством fstab, в ситуации, когда сеть с сервером будет не доступна, ноутбук невозможно выключить или отправить в спящий режим. Для использования удаленных директорий NFS на ноутбуке, лучше воспользоваться монтированием при помощи autofs

Монтирование с помощью autofs

Демон autofs, служит для упрощения монтирования сетевых шар

cd /nfs/server/

Для реализации этой фичи, нужно будет установить вот такой пакет:

apt install autofs

Настройка производится в файле /etc/auto.master, в который добавим такую строку:

/nfs /etc/auto.nfs --timeout=60

где:

  • timeout=60, указывает отмонтировать раздел при отсутствии активности на нём, в течение более чем 60 секунд.

Создадим директории:

touch /etc/auto.nfs &&  mkdir /nfs

В файл /etc/auto.nfs добавляем строку:

nfs  -fstype=nfs,intr  10.10.10.140:/volume6/storage

где:

  • nfs — имя точки монтирования;
  • -fstype=nfs,intr — опции монтирования, файловая система nfs, intr (interrupt) означает, что после длительного неиспользования файловая система автоматически отмонтируется;
  • 10.10.10.140:/volume6/storage собственно сам сервер и каталог NFS

Перезапустим демон autofs:

systemctl restart autofs.service

ite, missa est

nfs.txt · Последнее изменение: 2020/01/16 16:34 — admin