Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СОС_1.docx
Скачиваний:
7
Добавлен:
16.04.2019
Размер:
1.15 Mб
Скачать

Процедура монтирования

  1. При загрузке с сервера сценарий etc/rc.nfs запускает команду exportfs, которая считывает файл etc/exports и передает данные из него ядру.

  2. Затем тот же сценарий запускает rpc.mountd и несколько nfsd (по умолчанию 8)

  3. При запуске клиента тот же сценарий запускает несколько служб biod, присылающих запросы клиентов на монтирование соответствующего сервера.

  4. Тот же сценарий выполняет команду mount в отношении каталогов, значащихся в etc/filesystems

  5. Команда mount определяет сервер, экспортировавший эти каталоги.

  6. Команда mount запрашивает у одного или нескольких серверов разрешение на доступ к каталогам.

  7. На сервере служба rpc.mountd получает запросы на монтирование и определяет права доступа. Если доступ разрешен, rpc.mountd передает ядру клиента идентификатор, описатель файла

  8. Ядро клиента связывает описатель файла с точкой монтирования (каталогом)

При работе с файлами после монтирования программа клиента biod передает описатель файла на сервер, где одна из программ nfsd выполняет запрос.

Управление nfs

Службами NFS управляет SRC-контроллер (System Resource Controller). Для запуска, остановки и получения состояния служб используется команда SRC. Через контроллер нельзя управлять службами rpc.rexd, rpc.rusersd, rpc.rwalld, rpc.rsprayd. Эти службы запускает и останавливает служба inetd.

Rpc в nfs. Блокировка файлов.

NFS реализована для самых разнообразных типов компьютеров, операционных систем и сетевых архитектур. Подобная универсальность NFS достигается благодаря использованию протокола Вызова удаленных процедур (RPC).

Протокол Вызова удаленных процедур (RPC)

RPC представляет собой библиотеку процедур. Процедуры позволяют процессам клиента запускать процессы сервера и выполнять с их помощью различные действия точно так же, как если бы процесс клиента выполнял запросы в своем собственном адресном пространстве. Так как сервер и клиент - это два отдельных процесса, они могут физически находиться в разных системах.

NFS реализована в виде набора вызовов RPC, которые сервер выполняет по запросу клиентов. В соответствии с операциями над файлами, выполняемыми процессом клиента, клиент передает необходимые запросы серверу. Таким образом, NFS можно рассматривать как приложение RPC.

Поскольку сервер и клиент могут располагаться на разных физических системах с совершенно различной архитектурой, то и способ представления данных может оказаться различным. Поэтому протокол RPC использует внешнее представление данных (XDR).

тображение файлов в системе NFS имеет следующие три недостатка:

  • Оно не обеспечивает в достаточной степени возможности совместного использования данных клиентами.

  • Изменения, внесенные в файл на одном клиенте, не будут видны остальным клиентам.

  • Поочередная блокировка и разблокирование областей файлов не обеспечивает эффективного согласования данных между клиентами.

Если файл NFS будет применяться для обмена данными между различными клиентами, необходимо применять блокирование записей и обычные функции read и write.

Использование отображения файлов несколькими программами на одном клиенте обеспечивает повышение производительности. Согласовать обновления файла на клиенте можно путем поочередного блокирования всего файла. Несколько клиентов могут совместно использовать только такие отображения файлов, данные которых никогда не изменяются (например, статические базы данных).