Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
03.06.2014
Размер:
88.58 Кб
Скачать

Сетевая файловая система

Сетевая файловая система, которую все называют сокращенно 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 "бепамятна", то серверу все равно, какие запросы клиент делал (или не делал) ранее. В частности, клиент сам должен убедиться, что сервер подтвердил запросы на запись до того, как удалять свою собственную копию данных, подлежащих записи.

Соседние файлы в папке lect_doc