Файловая система 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