Новая редакция статьи находится здесь.
Network File System (NFS) — это сетевая файловая система, позволяющая пользователям обращаться к файлам и каталогам, расположенным на удалённых компьютерах, как если бы эти файлы и каталоги были локальными. Главным преимуществом такой системы является то, что отдельно взятые рабочие станции могут использовать меньше собственного дискового пространства, так как совместно используемые данные хранятся на отдельной машине и доступны для других машин в сети. NFS – это клиент-серверное приложение. Т.е. в системе пользователя должен быть установлен NFS-клиент, а на компьютерах, которые предоставляют свое дисковое пространство – NFS-сервер. Здесь я хочу показать, как просто установить и настроить эти программы в [K]Ubuntu Linux. (Вся информация рассчитана для новичка в Linux. Если вы имели опыт установки NFS в Linux – ничего нового, вероятно, вы здесь не найдете. Целью статьи является, показать как легко это может быть реализовано.)
Установка и настройка NFS-сервера.
Устанавливаем NFS-сервер:
$sudo apt-get install nfs-kernel-server nfs-common portmap
Настраиваем, какие именно директории мы хотим открыть для совместного пользования и кому. Все это делается в файле /etc/exports:
$sudo vi /etc/exports
В приведенном ниже примере я выделил директорию /data (директория с данными на сервере) в совместное пользование всем компьютерам с IP – 192.168.1.1 – 192.168.1.255 с правами чтения и записи:
/data 192.168.1.1/24(rw,no_root_squash,async)
Или еще пример:
/home/serhiy/ 192.168.1.34(ro,async)
домашняя директория пользователя serhiy стала доступной в режиме только чтение для компьютера с IP 192.168.1.34. Все остальные компьютеры сети к этому разделу доступа не имеют.
Опции:
ro – права только на чтение. Можно и не указывать, так как она установлена по умолчанию.
rw – дает клиентам право на запись.
no_root_squash – по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать.
noaccess – запрещает доступ к указанной директории. Может быть полезной, если перед этим вы задали доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.
О других опция можно почитать здесь.
Теперь нужно перезапустить nfs-kernel-server:
$sudo /etc/init.d/nfs-kernel-server restart
Если после этого вы захотите поменять что-нибудь в файле /etc/exports, то для того, чтобы изменения вступили в силу, достаточно запустить следующую команду:
$sudo exportfs -a
Все. NFS-сервер установлен и настроен. Можно переходить к настройке NFS клиента.
Установка и настройка NFS-клиента.
Установка:
$sudo apt-get install portmap nfs-common
Монтирование:
Создаем точку монтирования. Допустим, это будет папка в вашей домашней директории с названием data:
$cd ~ $mkdir data
Монтировать можно двумя способами – каждый раз вручную или прописав опции монтирования в файл /etc/fstab. Мне больше нравится второй способ:
$sudo vi /etc/fstab
и в конце дописываем следующую строку:
192.168.1.1:/data ~/data nfs rw,hard,intr 0 0
Вместо 192.168.1.1:/data впишите IP или имя сервера и путь к директории совместного пользования.
Опции монтирования можно изменить.
Записав и сохранив изменения, можно монтировать:
$sudo mount ~/data
Если все прошло успешно, то набрав в терминале
$cd ~/data $ls
вы увидете содержимое папки /data, находящейся на NFS-сервере. Можете проверить скорость работы и запустить, например, фильм с этого раздела.
Если после всего проделанного, у вас все же что-нибудь не получилось, не бросайте сразу эту затею, а напишите об этом в комментариях. Если же все получилось и вам хочется чего-нибудь большего, например лучше разобраться в различных опциях и принципах работы, советую почитать русский перевод NFS HOWTO.
источник “Let’s Learn Linux Together”
Network File System (NFS)
— протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Основан на протоколе вызова удалённых процедур (ONC RPC, Open Network Computing Remote Procedure Call, RFC 1057, RFC 1831). Позволяет подключать (монтировать) удалённые файловые системы через сеть, описан в RFC 1094, RFC 1813, и RFC 3530.
NFS абстрагирована от типов файловых систем как сервера, так и клиента, существует множество реализаций NFS-серверов и клиентов для различных операционных систем и аппаратных архитектур. В настоящее время (2007) используется наиболее зрелая версия NFS v.4 (RFC 3010), поддерживающая различные средства аутентификации (в частности, Kerberos и LIPKEY с использованием протокола RPCSEC_GSS) и списки контроля доступа (как POSIX, так и Windows-типов).
Стандарты
- RFC 1094 NFS: Network File System Protocol Specification] (March 1989)
- RFC 1813 NFS Version 3 Protocol Specification] (June 1995)
- RFC 2224 NFS URL Scheme
- RFC 2339 An Agreement Between the Internet Society, the IETF, and Sun Microsystems, Inc. in the matter of NFS V.4 Protocols
- RFC 2623 NFS Version 2 and Version 3 Security Issues and the NFS Protocol’s Use of RPCSEC_GSS and Kerberos V5
- RFC 2624 NFS Version 4 Design Considerations
- RFC 3010 NFS version 4 Protocol
- RFC 3530 Network File System (NFS) version 4 Protocol
Ссылки
источник Википедия