По крайней мере на системах Sun чистые серверы NFS представляют собой наиболее простые для конфигурирования широкомасштабные серверы, главным образом потому, что они работают с одним и тем же кодом операционной системы (имеется только одна реализация сервера NFS, которую можно найти на Sun, поскольку она представляет собой связанный с операционной системой продукт). Более того, сами по себе сервисы NFS относительно просты, так как NFS выполняет всего 18 операций, которые своей семантикой ограничены размещением удаленных файлов и обеспечением к ним доступа. Они намного менее сложны, например, по сравнению с сервисами реляционной базы данных, где имеются более 75 операций, определенных стандартом SQL, причем эти операции применяются к сложному набору единиц данных, которые включают структурные отношения. NFS решает только часть этих проблем и поэтому гораздо проще.
Ниже в таблице 3.1 представлены 18 операций NFS. Шесть из них являются основными и представляют громадное большинство реально выполняемых операций как по количеству, так и по потреблению ресурсов: getattr, setattr, lookup, readlink, read и write. Эти операции реализуют поиск и модификацию атрибутов файла, поиск имени файла, разрешение символических связей, а также чтение и запись данных соответственно. Можно явно выделить два принципиально разных набора операций: в частности, операции read и write манипулируют действительным содержимым файла, в то время как другие операции манипулируют атрибутами файлов. Отличия между этими наборами операций определяются прежде всего типом нагрузки, которая ложится при выполнении соответствующего запроса на серверные и сетевые ресурсы системы.
Таблица 4.1. Операции NFS
Операция | Назначение операции
|
getattr | Получает атрибуты файла такие как тип, размер, права доступа и даты модификации
|
setattr | Изменяет значения атрибутов файла/каталога
|
root | Выбирает корень удаленной файловой системы в настоящее время не используется)
|
lookup | Разыскивает файл в каталоге и возвращает расширенный дескриптор файла
|
readlink | Следует символической связи на сервере
|
read | Читает блок данных размером 8 Кбайт
|
wrcache | Записывает блок данных размером 8 Кбайт в удаленный кэш (в настоящее время не используется)
|
write | Записывает блок данных размером 8 Кбайт
|
create | Создает индексный дескриптор файловой системы; может быть файлом или символической связью
|
remove | Удаляет индексный дескриптор файловой системы
|
rename | Изменяет строку имени каталога файла
|
link | Создает жесткую связь в удаленной файловой системе
|
symlink | Создает символическую связь в удаленной файловой системе
|
mkdir | Создает каталог
|
rmdir | Удаляет каталог
|
readdir | Читает строку каталога
|
fsstat | Выбирает динамическую информацию файловой системы
|
null | Ничего не делает; используется для тестирования и хронометража ответа сервера
|
В каждой строке каталога файловой системы имеется некоторое количество характеристик, которые описывают файл или доступ к нему, такие как тип строки (файл, символическая связь, каталог), размер, даты обращений, права доступа и т.п. Большинство операций NFS связано с манипулированием этими атрибутами файла.
[Предыдущая глава]
[Оглавление]
[Следующая глава]