Файловая система NFS на Debian

Файловая система NFS (Network File System) позволяет предоставлять файловые ресурсы одних компьютеров в сети для других. Файловая система NFS позволяет монтировать сетевые дисковые ресурсы с помощью обычной команды "mount", поэтому с точки зрения пользователя сетевые ресурсы NFS не отличаются от локальных дисковых ресурсов. Для настройки нам понадобится как серверная, так и клиентская часть файловой системы NFS.


Серверная часть.
Серверная часть файловой системы не обязательно должна находиться на сервере. Если вы собираетесь предоставлять свои файловые ресурсы другим пользователям в сети, то вам необходимо установить серверную часть, а если вы собираетесь воспользоваться файловыми ресурсами других пользователей или серверов посредством NFS, то вам необходимо установить клиентскую часть. Начнем с серверной части.

user$ su
root# aptitude update
root# aptitude safe-upgrade
root# aptitude install nfs-kernel-server

Все зависимости подтянутся автоматически. После установки основного пакета, необходимо определить какие именно файловые ресурсы будут предоставлены пользователям. Настройки доступа определяются в файле "/etc/exports".
root# mcedit /etc/exports

Каждый разделяемый ресурс пишется с новой строки, ниже пример разделяемого ресурса
...
/home/user 192.168.1.0/24(ro, async, no_subtree_check)
...

Некоторое пояснения формата строки:
/home/user - предоставляемый ресурс другим пользователям в сети, директория не обязательно должна находиться в каталоге /home предложено как пример;
192.168.1.0/24 - адрес сети с префиксом или 192.168.1.0/255.255.255.0 так же может быть указан конкретный IP адрес (например 10.0.0.145) или имя узла с применением шаблонов (например *.comp?.mynet.lan - разрешено использование ресурса всех узлов из поддоменов comp1, comp2, compd и т.д. домена mynet.lan);
ro - указывает, что ресурс предоставляется только для чтения. Если необходимо предоставить режим чтение/запись необходимо указать - rw;
async - разрешает отвечать клиенту до того, как будут завершены предыдущие операции записи (в оригинальном протоколе NFS это запрещено), что повышает быстродействие;
no_subtree_check - не осуществлять проверку вложенных каталогов;
no_root_squash – по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать.
Когда будут завершены определения всех ресурсов - сохраняем файл "/etc/exports" и перезапускаем службу NFS.
root# /etc/init.d/<span id="fullpost">nfs-kernel-server</span> restart

Серверная часть службы NFS готова к работе. Посмотреть какие ресурсы предоставлены можно командой:
root# showmount -e

Если вы только добавляли ресурсы в файл "/etc/exports", то их можно активировать без перезапуска службы NFS. Команда полезна при длительных операциях чтения/запись.
root# exportfs -a

На этом настройку серверной части файловой системы NFS можно завершить и приступить к настройке клиентской части.
Клиентская часть.

Устанавливаем клиента файловой системы NFS
user$ su
root# aptitude install portmap nfs-common

Клиентская часть установлена, можно приступить к монтированию. Монтирование можно осуществлять двумя способами: автоматическое монтирование при загрузке системы или вручную по требованию. Рассмотрим оба варианта начиная с ручного, т.к. оба они могут быть востребованы.

Для ручного монтирования необходимо определить точку монтирования, либо использовать уже имеющуюся, для наглядности создадим в домашнем каталоге папку "testmount"
user$ mkdir ~testmount

Теперь можно приступать к непосредственному монтированию файловой системы NFS.
user$ su
root# mount 10.0.0.10:/home/user /home/user/testmount

Файловая система смонтирована, стоит прокомментировать последнюю команду:
mount - команда монтирования;
10.0.0.10:/home/user - здесь 10.0.0.10 адрес удаленного узла (может быть имя см. выше), :/home/user - ресурс, который предоставляет сервер (вы должны его знать);
/home/user/testmount - точка монтирования, созданная нами;
Для автоматического монтирования файловых систем NFS можно их прописать в файл "/etc/fstab", тогда во время загрузки системы они будут смонтированы автоматически.
root# mcedit /etc/fstab

Добавляем запись с нашими настройками
..
10.0.0.10:/home/user /home/user/testmount nfs intr,soft
..

Напоминаю! Что после всех добавленных строк в файл "/etc/fstab" последняя строка должна быть пустой, иначе можно схватить очень неприятный глюк в виде не загружаемой системы (когда его поправят не ясно). Рассмотрим опции монтирования.
10.0.0.10:/home/user - монтируемый ресурс, детально см. выше;
/home/user/testmount - точка монтирования;
nfs - тип монтируемой файловой системы, в нашем случае NFS;
intr - позволяет прерывать процесс, работающий с файловой системой;
soft - спасает от безнадежного зависания, если удаленный ресурс не доступен;
Теперь при следующем запуске системы файловые системы NFS смонтируются автоматически, а если они будут не доступны на момент монтирования, то загрузка продолжится с пропуском монтирования. По требованию их можно будет смонтировать вручную или вызвать команду монтирования файловых устройств описанных в "/etc/fstab"
root# mount - a

На этом можно закончить. Приятной работы.

http://www.qdesnic.ru

Обновлено: 13.03.2015