
- •Сетевая файловая система
- •Сетевая Файловая система на стороне сервера
- •Ответы на запросы монтнрования: демон mountd
- •Файловый сервис: демон nfsd
- •Intr Позволяет прерывать с клавиатуры заблокированные операции (и заставлять их выдать сообщение об ошибке).
- •Админимстративные соглашения по nfs
- •Взаимодействие nfs с сетями
- •Автоматическое монтированне
- •Прямые карты
- •Главные карты
- •Программа automount и дублирующие файловые системы
- •Карты amd
Сетевая файловая система
Сетевая файловая система, которую все называют сокращенно NFS (Network File System), позволяет компьютерам совместно использовать файловые системы, NFS почти прозрачна для пользователей и "бестелесна", т.е. при крахе сервера информация в удаленных файловых системах не пропа дает. Клиенты просто ждут, когда сервер вновь начнет функционировать, а затем продолжают работать так, как будто ничего не произошло.
Протоколы NFS описаны в RFC1094.
Сетевую файловую систему внедрила фирма Sun Microsystems в 1985 году. Первоначально NFS была реализована как суррогат файловой системы для бездисковых клиентов, но теперь интенсивно рекламируется как панацея от всех бед, связанных с совместным использованием файлов. Действительно, сейчас трудно припомнить, какой была жизнь до появления NFS.
Большинство поставщиков UNIX-систем предлагают ту или иную версию к NFS, причем многие используют код, полученный по лицензии от Sun.
Сетевая файловая система состоит из ряда компонентов, включая протокол и сервер монтирования, протокол и сервер блокировки файлов, а также демоны, координирующие базовый файловый сервис. NFS строится на средствах XDR (External Data Representation) и RPC (Remote Procedure Calls) фирмы Sun, которые обеспечивают функционирование механизма архитектурно-независимого представления данных и сетевого интерфейса вызова удаленных процедур.
Сетевая Файловая система на стороне сервера
В BSD-контексте говорят, что сервер "экспортирует" файловую систем когда делает ее доступной для использования другими машинами. В АТТ-системах слово "экспортирует" решили изъять; АТТ-серверы совместно используют свои файловые системы. Для ясности мы будем употреблять в дальнейшем термин "экспортировать".
Для использования файловой системы клиент NFS должен смонтировать ее самостоятельно. Сервер изучает запрос на монтирование, проверяя, ее ли у клиента необходимые полномочия, а затем сообщает клиенту секретный "волшебный ключик" (некое случайное число), которое клиент затем будет использовать для получения доступа.
Схема с "волшебным ключиком" делает сервер "беспамятным", поскольку не ведутся никакие записи об аутентифицированных клиентах. Как правило, при демонтировании и перемонтировании файловой системы на сервере ее "ключик" меняется.
Есть особый случай: "ключик" сохраняется при перезагрузке, чтобы сервер после краха смог вернуться в свое нормальное состояние. Не стоит, однако пробовать загружаться в однопользовательском режиме, играться с файловой системой, а затем загружаться вновь; это отменит "ключик" и лишит клиентов возможности доступа к файловым системам, которые они смонтировали, до тех пор, пока они либо не перезагрузятся, либо не перемонтируют эти файловые системы.
Если у клиента есть "волшебный ключик", он может с помощью RPC посылать запросы на выполнение операций с файловой системой, таких как создание файла или чтение блока данных. Поскольку NFS "бепамятна", то серверу все равно, какие запросы клиент делал (или не делал) ранее. В частности, клиент сам должен убедиться, что сервер подтвердил запросы на запись до того, как удалять свою собственную копию данных, подлежащих записи.