- •Глава 11
- •В.Г.Олифер, н.А.Олифер. Сетевые операционные системы. Учебное пособие.-сПб.:бхв-Петербург, 2006.-536с.
- •В.А.Шеховцов. Операційні системи. Підручник .-к.:Виканавча група внv. 2005. 576с.
- •Столлингс в. Операционные системы. М.: Вильямс, 2001. -672с.
- •Раздел 11
- •11.1. Многопроцессорные системы
- •11.1.1. Типы многопроцессорных систем
- •11.1.2. Поддержка многопроцессорной в операционных системах
- •11.1.3. Производительность многопроцессорных систем
- •11.1.4. Планирование в многопроцессорных системах
- •11.1.5. Родство процессора
- •11.1.6. Поддержка многопроцессорности в Linux
- •11.1.7. Поддержка многопроцессорной в Windows xp
- •11.2. Принципы разработки распределенных систем
- •11.2.1. Отдалены вызовы процедур
- •11.2.2. Использование Sun rpc
- •11.2.3. Использование Microsoft rpc
- •11.2.4. Обработка ошибок и координация в распределенных системах
- •11.3. Распределеные файловые системы
- •11.3.1. Организация распределенных файловых систем
- •11.3.2. Файловая система nfs
- •11.3.3. Файловая система Microsoft dfs
- •11.4. Современные архитектуры распределенных систем
- •11.4.1. Кластерные системы
- •11.4.2. Grid-системы
- •Контрольные вопросы и задания
11.3.3. Файловая система Microsoft dfs
Раньше рассматривались особенности реализации общего использования файлов в Windows ХР. Невзирая на то, что такое использование имеет много преимуществ, оно не определяет РФС с прозрачностью доступа.
-
UNC-имена дают возможность унифицировано обращаться к сетевым ресурсам, но не скрывают использования сети. Имя отдаленного компьютера нужно для каждого обращения к ресурсу.
-
Отображение имен сетевых ресурсов на имена томов скрывает использование сети, но не позволяет создать единственную файловую систему на базе сетевых ресурсов. Каждый ресурс имеет вид для пользователя как отдельный том, одновременно может быть доступно столько ресурсов, сколько есть свободных букв алфавита.
Этих недостатков лишенная распределеная файловая система DFS (Distributed File System), доступная у ОС линии Windows XP.
Принципы организации DFS
Данная файловая система дает возможность создать единственное логическое дерево каталогов, которые отображают сетевые ресурсы, во многом аналогичное стандартной файловой системе UNIX, которая использует NFS-разделы. Корень дерева называют корневым каталогом DFS (DFS root). Его создают на NTFS-разделе жесткого диска компьютера, который называют DFS-сервером. Начиная от этого корня, администратор может создавать DFS-связи (DFS links). Каждая такая связь отображает отдаленный сетевой ресурс (для его создания необходимо указать UNC-имя этого ресурса). Компьютер, который предоставляет сетевой ресурс, называют справочным компьютером (referral computer). Доступ к DFS-связи для клиента аналогичный доступу к обычному каталогу через UNC-имя:
\\DFS-сepвep\корневой_каталог _DFS\DFS-связь\ имя_файла
Разные связи могут отвечать ресурсам на разных отдаленных компьютерах, отображать разные файловые системы - для пользователя или прикладной программы это не суть важно - их всех видно как части одного дерева каталогов (аналогично к UNIX). Для доступа к сетевому ресурсу через DFS-связь достаточно, чтобы клиент, DFS-сервер и справочный компьютер использовали общий сетевой протокол.
Сегодня поддержка DFS является встроенной в стандартный CIFS-редиректор, потому Windows-системы могут получать доступ к DFS-каталогам без дополнительной настройки.
С другой стороны, справочные компьютеры тоже не требуют дополнительных настроек (кроме создания сетевых ресурсов), поскольку информация о структуре DFS сохраняется лишь на DFS-сервере.
Дубликатные наборы и стойкость к сбоям
DFS дает возможность задавать дубликатные наборы (replica sets) для отдельных DFS-звязей. В такой набор может входить несколько сетевых ресурсов на разных компьютерах (конечно — одноименных каталогов), которые поддерживают в синхронизированном состоянии.
При этом реализовано балансирование нагрузки (в случае доступа к связи случайно выбирают один из ресурсов набора, из которого и будут получены данные) и стойкость к сбоям (если выйдет из строя один ресурс набора, все запросы будет автоматически переадресованы другим ресурсам).
Архитектура DFS
Поддержка DFS на сервере состоит из фонового процесса dfssvc.exe (службы DFS) и драйвера файловой системы dfs.sys.
Служба DFS отвечает за управление основной структурой данных DFS - таблицей информации о разделах (Partition Knowledge Table, PKT), которая содержит сведения о соответствии между DFS-связями и физическими серверами, на которых находятся данные.
Драйвер DFS непосредственно отвечает за превращение конфигурации DFS (что находится в РКТ) на информацию об отдаленном ресурсе, которую возвращают клиенту.
Понятие ссылки. Поиск информации в DFS
Отдельный элемент РКТ называют ссылкой (referral). Он хранит информацию о DFS-связи вместе с UNC-именем отдаленного ресурса или набором его дубликатов.
DFS-клиент содержит локальный РКТ-кэш, предназначенный для хранения ссылок. В случае доступа к DFS-каталогу клиент проверяет, не сохранено ли в его РКТ-кэше ссылки, которая отвечает этому каталогу. Если такой ссылки нет, клиент спрашивает его у DFS-сервера. Сервер отыскивает ссылку в РКТ и возвращает клиенту, который использует соответствующее UNC-имя для доступа к ресурсу, а именно ссылка заносит в кэш. Если ссылка была найдена в кэше, UNC-имя из него используют немедленно без обращения к серверу. Когда ссылка содержит набор дубликатов, DFS-сервер определяет IP-адрес клиента и случайно (но с некоторым преимуществом для ресурсов, более близких к клиенту) выбирает сетевой ресурс из этого набора.
Для управления DFS-службой используют RPC, для обмена данными -стандартные средства CIFS.
