Установка и настройка DFS и репликации файлов в Windows Server 2012
Распределенная файловая система DFS ( Distributed File System) – это технология, обеспечивающая возможности упрощения доступа к общим файловым ресурсам и глобальной репликации данных. Благодаря DFS распределённые по различным серверам общие ресурсы (каталоги и файлы) можно объединить в единую логическую UNC структуру, которая для пользователя выглядит, как единый сетевой ресурс. Даже при изменении физического местоположения целевой папки, это не влияет на доступ пользователя к ней.
Установка служб DFS в Windows Server 2012
Установить службы DFS можно с помощью консоли Server Manager или же при помощи Windows PowerShell.
Как мы уже говорили, службы DFS являются элементами роли Files and Storage Services:
Но проще и быстрее установить все DFS службы и консоль управления DFS с помощью PowerShell:
, где FS-DFS-Namespace – служба DFS Namespaces
FS-DFS-Replication – служба репликации DFS Replication
RSAT-DFS-Mgmt-Con– mmc консоль управления службами DFS — DFS Management Tools (также входит в состав Remote Server Administration Tools для Windows 10)
Настройка пространства имен DFS в Windows Server 2012
Перейдем к описанию процедуры настройки пространство имен DFS, для чего необходимо открыть панель управления DFS Management tool.
Создадим новое пространство имен (New Namespace).
Необходимо указать имя сервера, который будет содержать пространство имен (это может быть как контроллер домена, так и рядовой сервер).
Затем следует указать имя создаваемого пространства имен DFS и перейти в расширенные настройки (Edit Settings).
Здесь следует указать имя пространства имен DFS и права доступа к данному каталогу. Обычно рекомендуется указать, что доступ к сетевой папке разрешен Всем (Everyone), в этом случае права доступа проверяются на уровне файловой системы NTFS.
Далее мастер предложит указать тип создаваемого пространства имен. Это может быть Domain-based namespace (доменное пространство имен) или Stand-alone namespace (отдельное пространство имен). Domain-based namespace обладает ряд преимуществ, но для его работы нужен, собственно домен Active Directory и права администратора домена (либо наличие делегированных прав на создание доменных пространств имен DFS).
После окончания работы мастера в ветке Namespaces консоли управления DFS появится созданное нами новое пространство имен DFS. Чтобы пользователи при доступе к DFS каталогам видели только те каталоги, к которым у них имеется доступ, включим для данного пространства DFS Access-Based Enumeration (подробнее о данной технологии в статье Access-Based Enumeration в Windows). Для этого откройте окно свойств созданного пространства имен.
И на вкладке Advanced включите опцию Enable access-based enumeration for this namespace.
Чтобы посмотреть содержимое нового пространства DFS, просто наберите в окне проводника UNC путь: \\имя_домена_или_сервера\DFS
Добавление дополнительного DFS сервера
В доменное пространство имен DFS можно добавить дополнительный сервер (пункт меню Add Namespace Server), который его будет поддерживать. Делается это для увеличения доступности пространства имен DFS и позволяет разместить сервер пространства имен в том же сайте, в котором находится пользователи.
Добавление нового каталога в существующее пространство имен DFS
Теперь нужно добавить новый сетевой каталог в иерархию созданного нами пространства имен DFS. Нажмите кнопку Add Folder Target.
Укажите наименование каталога в DFS пространстве и его реальное местоположение на существующем файловом сервере (Folder targets).
Настройка DFS-репликации на Windows Server 2012
Технология репликации DFS-R предназначена для организации отказоустойчивости пространства имен DFS и балансировки нагрузки между серверами. DFS-R автоматически балансирует трафик между репликами в зависимости от их загрузки и в случае недоступности одного из серверов перенаправляет клиентов на другой сервер-реплику. Но прежде, чем говорить о DFS репликации и ее настройке в Windows Server 2012перечислим основные системные требования и ограничения:
В консоли DFS Managment выберите нужный вам DFS Namespace и щелкните ПКМ по каталогу, для которого необходимо создать реплику и выберите пункт Add Folder Target.
И укажите полный (UNC) путь к сетевому каталогу другого сервера, в котором и будет храниться реплика.
На вопрос хотите ли вы создать группу репликации отвечаем Yes.
Запускается мастер настройки репликации. Проверяем имя группы репликации и каталог.
Указываем первичный (Primary) сервер. Именно этот сервер будет источником данных при инициальной (первичной) репликации.
Затем выбираем тип топологии (соединения) между членами группы репликации. В нашем примере выбираем Full Mesh (все со всеми).
И, наконец, указываем расписание репликации и параметры bandwidth throttling – ограничение доступной для репликации полосы пропускания.
После окончания работы мастера, запуститься первоначальная синхронизация.
В случае необходимости, настройки расширенных параметры расписания репликации и максимальную полосу пропускания под данный трафик, можно задать в ветке Replication.
Создание пространства имен DFS
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows Server 2008
Чтобы создать новое пространство имен, можно использовать диспетчер сервера для создания пространства имен при установке службы роли «Пространства имен DFS». Также можно использовать командлет New-DfsnRoot из сеанса Windows PowerShell.
Модуль DFSN Windows PowerShell был введен в Windows Server 2012.
Другой вариант — использовать следующую процедуру для создания пространства имен после установки службы роли.
Создание пространства имен
Нажмите кнопку Пуск, укажите пункт Администрирование, а затем щелкните Управление DFS.
В дереве консоли щелкните правой кнопкой мыши узел Пространства имен и выберите Новое пространство имен.
Следуйте инструкциям в Мастере создания нового пространства имен.
Чтобы создать изолированное пространство имен в отказоустойчивом кластере, укажите имя экземпляра кластерного файлового сервера на странице Сервер пространства имен в Мастере создания нового пространства имен.
Не пытайтесь создавать доменное пространство имен с использованием режима Windows Server 2008, если режим работы леса — Windows Server 2003 или выше. В противном случае вы получите пространство имен, в котором не сможете удалять папки DFS. Будет появляться следующее сообщение об ошибке: «Невозможно удалить папку. Не удается завершить выполнение функции».
О службе имен DFS и ее данных конфигурации
В этой статье приводится ряд сведений о службе имен DFS и данных о ее конфигурации.
Применяется к: Windows Server 2012 R2, Windows 2008 R2 Пакет обновления 1
Исходный номер КБ: 977511
Сводка
Служба распределенной файловой системы (DFS) Namespaces хранит данные конфигурации в нескольких местах. Если некоторые из этих данных отсутствуют или недоступны, могут возникнуть сбои и не удается создать пространство имен.
Введение
В этой статье обсуждаются следующие темы, которые помогут вам создать пространство имен:
Дополнительная информация
Расположения конфигурации DFS Namespaces
В следующих расположениях хранятся различные данные конфигурации для пространств имен распределенной файловой системы (DFS):
Active Directory Domain Services (AD DS) хранит данные конфигурации пространства имен на основе домена в одном или более объектах с именами серверов пространства имен, целями папок и различными другими данными конфигурации.
Серверы пространства имен поддерживают акции для каждого хозяйского пространства имен.
Клавиши реестра на серверах пространства имен на основе домена хранят членство в пространстве имен.
На автономных серверах пространства имен ключи реестра хранят все данные конфигурации пространства имен.
Если какой-либо подмножество данных конфигурации отсутствует или является недействительным, вы можете не управлять пространством имен. Кроме того, при управлении пространствами имен DFS можно получать множество различных сообщений об ошибках с помощью оснастки microsoft Management Console (MMC) DFS, средства Dfsutil.exe или средства Dfscmd.exe или когда клиент получает доступ к пространству имен. Список возможных сообщений об ошибках см. в разделе Симптомы и сообщения об ошибках.
Примеры того, как данные конфигурации DFS Namespaces могут стать несовместимыми
Очистка и удаление конфигурации DFS Namespaces
Данные конфигурации DFS Namespaces управляются и поддерживаются средствами управления, которые используют API DFS. API DFS уведомляют контроллеры домена Active Directory и серверы имен DFS об изменениях конфигурации. Это поведение не позволяет осиротеть данные конфигурации и гарантирует согласованность данных конфигурации. Если процесс уведомления блокируется, или если данные в противном случае удаляются или теряются, выполните указанные здесь действия по очистке, чтобы удалить данные конфигурации. Эти изменения не могут быть восстановлены, если вы не сделаете резервное копирование состояния системы для контроллера домена или сервера пространства имен.
Дополнительные сведения о том, как сделать системный сервер, работающий Windows Server 2003, можно найти на следующем веб-сайте Microsoft:
https://technet.microsoft.com/library/cc759141.aspx
Дополнительные сведения о том, как сделать следующую систему состояния сервера, запущенного Windows Server 2008, посетите следующий веб-сайт Microsoft:
Следующие действия следует использовать только в том случае, если восстановление данных конфигурации невозможно или не требуется.
Дополнительные сведения о процессе восстановления пространства имен DFS нажмите на следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
969382 восстановления пространства имен DFS в Windows 2003 и 2008 гг.
Для пространства имен на основе домена DFS проверьте удаление данных конфигурации пространства имен AD DS. Перед процессом удаления необходимо точно определить объект, связанный с неисправным или несогласованным пространством имен. Чтобы удалить данные конфигурации пространства имен AD DS, выполните следующие действия:
Откройте средство Adsiedit.msc. Этот инструмент включен в Windows Server 2008 и требует установки роли или инструментов AD DS. Этот инструмент доступен в Windows Server 2003.
Дополнительные сведения о средстве Adsiedit.msc можно получить на следующем веб-сайте Майкрософт:
Найдите раздел домена домена, где размещено пространство имен на основе домена. Перемещение в следующее расположение:
CN=Dfs-Configuration, CN=System,DC=
Местообладатель — это отличительное имя домена.
Пространства имен DFS хранят объекты конфигурации в этом расположении. Пространства имен Windows 2000 Server имеют объект класса fTDfs, который называется одинаково с пространством имен. Пространства имен «Windows Server 2008» имеют объект класса msDFS-NamespaceAnchor, который называется одинаково с связанным пространством имен и может содержать дополнительные детские объекты для любых настроенных папок.
Выберите соответствующий объект, например объект «fTDfs» или «msDFS-NamespaceAnchor», а затем удалите его вместе с любыми детскими объектами.
Задержки репликации Active Directory могут оттянуть эту операцию изменения от распространения на удаленные контроллеры домена.
На всех серверах пространства имен, на которые размещено пространство имен, проверьте удаление данных конфигурации реестра имен DFS. Если на сервере находятся другие функционируют пространства имен, убедитесь, что будет удален ключ реестра только несогласованного пространства имен. Чтобы удалить данные конфигурации реестра имен DFS, выполните следующие действия:
В редакторе реестра найдите ключ реестра конфигурации пространства имен на соответствующем пути с помощью одного из следующих путей:
Доменная DFSN в режиме «Windows Server 2008»
HKEY_LOCAL_MACHINE \Software\Microsoft\Dfs\Roots\domainV2
Автономный DFSN
HKEY_LOCAL_MACHINE \Software\Microsoft\Dfs\Roots\Standalone
Доменная DFSN в режиме «Windows 2000 Server»
HKEY_LOCAL_MACHINE\Software\Microsoft\Dfs\Roots\Domain
Если найден ключ реестра, который называется одинаково с несогласованным пространством имен, используйте Dfsutil.exe для удаления ключа реестра. Например, выполните следующую команду:
dfsutil /clean /server: servername /share: sharename /verbose
Местообладатель имени сервера — это имя сервера, на которого размещено пространство имен, а местообладатель имен — корневой доли. Или удалите ключ вручную.
На сервере пространства имен перезапустите службу DFS в Windows Server 2003 или службу имен DFS в Windows Server 2008 для регистрации изменений в службе.
Удалите файл, связанный с пространством имен, с серверов пространства имен. Несоблюдение этого шага может привести к сбою в работе пространства имен, так как пространства имен DFS могут блокировать создание пространства имен.
Windows Server 2003
«Система не может перестать делиться , так как общая папка является корнем пространства имен распределенной файловой системы (DFS) «
Windows Server 2008
Система не может прекратить общий доступ к , так как общая папка — это корневой корневой раздел пространства имен распределенной файловой системы (DFS).
Изменение данных конфигурации пространства имен DFS следует рассматривать только после оценки всех других вариантов восстановления. Рекомендуется регулярно получать резервные копии системного состояния для серверов пространства имен DFS и контроллеров доменных имен на основе домена DFS. Эти резервные копии могут использоваться для восстановления конфигурации пространства имен до полной работы без риска несогласованного использования данных конфигурации пространства имен DFS.
Симптомы и сообщения об ошибках
MMC управления DFS (Dfsmgmt.msc)
В инструменте Dfsmgmt.msc можно получить следующие сообщения об ошибке:
\\ domain.com \namespace. Область имен не может быть запросвеяна. Элемент не найден.
На указанном сервере уже размещено пространство имен с этим именем. Выберите другое имя пространства имен или другой сервер для хозяйского пространства имен.
На сервере уже существует имя общей папки «пространство имен». Если используется существующая общая папка, параметр безопасности, указанный в диалоговом окне Edit Параметры, не будет применяться. Чтобы создать общую папку с этими настройками, сначала необходимо удалить существующую общую папку.
Пространство имен не является уникальным в домене, в котором был создан сервер пространства имен. Необходимо вернуться, чтобы выбрать новое имя пространства имен или изменить тип пространства имен на автономный.
\\ domain.com \ namespace1. Имя имени сервера \ сервера \ namespace1 не может быть добавлено. Не удается создать файл, если этот файл уже существует.
\\ domain.com \namespace. Пространство имен невозможно запрашивать. Не удается найти указанный файл.
\\ domain.com \namespace. Пространство имен невозможно запрашивать. Устройство не готово к использованию.
MMC распределенной файловой системы (Dfsgui.msc)
В инструменте Dfsgui.msc можно получить следующие сообщения об ошибках:
Указанный корень DFS не существует.
Корневой «namespace1» DFS уже существует. Укажи другое имя для нового корня DFS.
Следующая ошибка произошла при создании корневого сервера DFS на имени сервера: невозможно создать файл, когда этот файл уже существует.
Указанный корень DFS не существует.
Не удается найти указанный файл.
Dfsutil.exe
В инструменте Dfsutil.exe вы можете получить следующее сообщение об ошибке:
Произошла ошибка системы 1168. Элемент не найден.
Dfscmd.exe
В инструменте Dfscmd.exe вы можете получать следующие сообщения об ошибках:
Произошла ошибка системы 1168. Элемент не найден.
Произошла системная ошибка 80. Файл существует.
Произошла ошибка системы 2. Не удается найти указанный файл.
Клиенты DFS
На компьютере с клиентом DFS можно получить следующие сообщения об ошибке:
Windows не удается \ \ domain.com найти\namespace\folder. Убедитесь, что имя введите правильно, а затем попробуйте еще раз.
Windows доступ к \ \ domain.com \namespace\folder. Проверьте правильность написания имени. В противном случае может возникнуть проблема с сетью.
Дополнительные сведения:
Код ошибки: 0x80070002 система не может найти указанный файл.
Windows доступ к \ \ domain.com \namespace1. Код ошибки 0x80070035 сетевой путь не найден.
Сведения о конфигурации не могут быть прочитаны с контроллера домена либо из-за недоступности компьютера, либо отказано в доступе.
Windows доступ к \ \ domain.com \namespace. Проверьте правильность написания имени. В противном случае может возникнуть проблема с сетью. Дополнительные сведения:
Код ошибки: 0x80070035 сетевой путь не найден.
Система не может найти указанный путь.
Distributed File System. Архитектура и базовые понятия
Распределенная файловая система (Distributed File System, DFS) — серверная технология Microsoft, предназначенная для упрощения доступа к общим файловым ресурсам, распределенным по сети. С помощью DFS можно объединять в единую логическую структуру файловые ресурсы, физически находящиеся на различных серверах, а также производить между ними репликацию.
При правильном использовании DFS позволяет решить огромное количество задач. Но технология довольно специфическая, и если не учитывать эту специфику, то можно получить кучу проблем. Поэтому, не откладывая в долгий ящик, приступим к изучению особенностей DFS. Начнем с базовых понятий.
Базовые понятия
Чтобы понимать, как работает пространство имен DFS, разберем основные понятия DFS на следующем примере.
DFS namespace (Пространство имен DFS)
Единый виртуальный каталог, содержащий ссылки на общие папки, расположенные на разных файловых серверах. Пространство имен состоит из корня (root), ссылок (folders) и целевых объектов (folder targets). Пространство имен DFS может быть двух типов: автономное (Standalone) и доменное (Domain-based).
У Standalone DFS namespace сведения о конфигурации хранятся локально на корневом сервере, в системном реестре. Путь для доступа к корневому каталогу или ссылке начинается с имени корневого сервера. Автономное пространство имен располагается только на одном сервере и не является отказоустойчивым. Если корневой сервер недоступен, все пространство имен DFS также становится недоступным.
У Domain-based DFS namespace конфигурация хранится в Active Directory. Путь для доступа к корневому каталогу или ссылке начинается с имени домена. Несмотря на то, что в нашем примере показан только один сервер пространства имен, доменное пространство имен можно размещать на нескольких серверах, чтобы повысить доступность пространства имен. Это позволяет обеспечить отказоустойчивость и распределить нагрузку между серверами.
Namespace root (Корень пространства имен)
Базовая или начальная точка, от которой начинается отсчет пространства имен. В зависимости от типа корень доступен по адресу \\ServerName\RootName (Standalone) или \\DomainName\RootName (Domain-based). В нашем примере корень DFS доступен по адресу \\Contoso\Public.
Namespace server (Сервер пространства имен)
Сервер пространства имен (или корневой сервер) — физический сервер, на котором содержится пространство имен DFS. Сервер пространства имен может быть как рядовым сервером, на котором установлена роль DFS Namespace, так и контроллером домена.
Folder (Папка)
Ссылка в пространстве имен DFS, указывающая на целевую папку (или папки). Папки без конечных объектов (напр. папка Software) образуют структуру и иерархию в пространстве имен, а папки с целевыми объектами-папками (напр. папка Training Guides) предоставляют пользователям доступ к фактическому содержимому. Когда пользователь открывает папку, содержащую конечные объекты-папки в пространстве имен, клиентский компьютер получает направление (referral), которое прозрачно перенаправляет клиентский компьютер к одному из целевых объектов.
Folder targets (Целевой объект-папка)
Ссылка на общий файловый ресурс, находящийся на определенном файловом сервере и доступный по пути UNC (Universal Naming Convention). Например общая папка \\FS2\Training на сервере FS2.
Именно целевой объект-папка является конечной целью пользователя, поскольку в нем находятся нужные ему данные. Одна ссылка может указывать как на один, так и на несколько целевых объектов. К примеру, папка с именем Training Guides имеет один целевой объект-папку, а папке Tools соответствуют два целевых объекта на разных серверах. И при обращении к папке Tools пользователь, в зависимости от своего местонахождения, будет перенаправляться в общую папку \\FS1\Tools или \\FS2\Tools.
Как видно из примера, распределенная файловая система позволяет группировать общие папки, расположенные на различных физических серверах, подключая их к общему пространству имен. С помощью DFS администратор выбирает, какие общие папки должны быть представлены в пространстве имен, формирует иерархию, в которой эти папки отображаются, и определяет имена, отображаемые общими папками в пространстве имен.
Когда пользователь просматривает пространство имен, папки для него отображаются так, как будто все они находятся на одном большом диске большой, и он может свободно перемещаться по ним без необходимости знать имена серверов или адреса общих папок, в которых хранятся данные. Для пользователя весь этот процесс происходит абсолютно прозрачно.
Роли клиента и сервера
Помимо основных понятий DFS важно понимать роли клиента и сервера, участвующие в DFS.
Клиенты DFS
Клиент DFS — это компьютер, использующийся для доступа к пространству имен. Как правило, клиентами являются пользовательские рабочие станции, хотя и компьютеры, работающие под управлением серверных операционных систем Windows, также могут выступать в роли клиента DFS.
Корневые сервера
Корневые сервера, также называемые корневыми целями (Root targets) — физические сервера, на которых хранятся доменные или автономные пространства имен. В качестве корневого сервера DFS может выступать компьютер с серверной ОС, клиентские операционные системы могут быть только клиентами. Корневые серверы играют в DFS следующие роли:
• Для автономных пространств имен метаданные файловой системы DFS хранятся в реестре корневых серверов. Метаданные DFS состоят из информации обо всем пространстве имен, включая корневой каталог, корневые целевые объекты, ссылки, целевые объекты ссылок и параметры. Для доменных пространств имен метаданные DFS хранятся в Active Directory, однако на корневых серверах метаданные DFS также хранятся в оперативной памяти.
• На корневых серверах размещаются корневые папки (root folders) и подпапки (folders), соответствующие ссылкам в пространстве имен DFS.
• Когда клиент пытается получить доступ к корневому каталогу или ссылке в автономном пространстве имен или ссылке в доменном пространстве имен, корневой сервер предоставляет клиенту ссылку.
Контроллеры домена
Контроллеры домена играют важнейшую роль в функционировании DFS:
• Клиенты DFS обращаются к контроллерам домена, чтобы получить список доверенных доменов и контроллеров домена для этих доменов.
• Когда клиент DFS впервые пытается получить доступ к доменному пространству имен DFS, контроллер домена предоставляет клиенту список корневых серверов. Этот список корневых серверов известен как корневое направление (root referral).
• На контроллерах домена хранится информация о сайтах Active Directory и межсайтовых связях (site links). DFS использует эту информацию при сортировке целевых объектов в порядке наименьшей стоимости. Так в нашем примере папка Tools находится на двух разных серверах, расположенных в двух разных сайтах (London и New York). В зависимости от того, где находится клиент, он получит ссылку на ближайший к нему сервер.
Целевые объекты-папки
Целевые объекты-папки являются ссылками на общие папки (или подпапки внутри общих папок) на файловом сервере. В роли источника ссылки может выступать любая ОС с сетевой файловой системой, к которой можно обратиться через путь UNC, например Windows (SMB) или Linux (NFS). Путь UNC, указанный в ссылке, может вести к общим папкам в любой рабочей группе, общим папкам в том же домене, что и пространство имен, общим папкам в доверенных доменах и общим папкам в доверенных лесах. Также целевой объект может быть путем DFS в другом пространстве имен.
Сами общие папки, указанные в качестве целевых объектов, не имеют специальных параметров, указывающих на то, что они являются частью пространства имен DFS. Все существующие разрешения общей папки и разрешения NTFS на общую папку по-прежнему применяются, когда пользователи получают доступ к общей папке через пространство имен.
Архитектура DFS
С ролями все более менее понятно, переходим к их взаимодействию.
Компоненты архитектуры DFS на клиентах DFS, корневых серверах и контроллерах домена, а также их взаимодействие показаны на следующих рисунках.
На первом рисунке архитектура DFS контроллера домена упрощена, чтобы показать только объект DFS.
На втором рисунке показана архитектура DFS контроллера домена и упрощенное представление архитектуры клиента и корневого сервера DFS.
Обратите внимание, что контроллеры домена и корневые сервера используют похожую архитектуру DFS. Это связано с тем, что контроллеры домена играют определенную роль в направлении клиентских компьютеров к корневым серверам домена. Кроме того, контроллеры домена могут размещать пространства имен и выполнять роль корневого сервера. В этом случае контроллер домена также размещает кэш метаданных DFS (независимо от типа пространства имен) и автономные метаданные DFS в своем реестре (для автономных пространств имен).
Dfssvc.exe
Служба DFS, является ключевым компонентом архитектуры DFS, работает на корневых серверах и контроллерах домена. Основными функциями службы DFS являются обработка ссылок, управление пространствами имен и взаимодействие с драйвером DFS.
DFS Metadata
Метаданные DFS — cведения о пространстве имен DFS. Состоят из информации обо всем пространстве имен, включая корневой каталог, корневые целевые объекты, ссылки, целевые объекты ссылок и параметры. Для доменного DFS метаданные хранятся в Active Directory, в специальном объекте DFS, соответствующем пространству имен. Для автономного пространства имен DFS метаданные хранятся в реестре корневого сервера.
DFS Metadata cache
Кэш метаданных DFS — копия метаданных DFS в оперативной памяти, хранящаяся в Dfssvc.exe на корневых серверах.
Domain-based root referral cache and site caches
Кэш доменных корневых ссылок и сведений о сайте. Содержит копии доменных корневых ссылок и сведений о сайте, хранящиеся в оперативной памяти сервера. Позволяет службе DFS осуществлять быстрый поиск.
Dfs.sys
Драйвер DFS, имеется только в серверных ОС Windows. Он работает в режиме ядра (Kernel Mode) и служит для перенаправления клиентских запросов к службе DFS, работающей в пользовательском режиме (User Mode). Также драйвер обрабатывает ссылки DFS, когда они встречаются во время доступа к файловой системе.
Srv.sys
Драйвер службы SMB. В архитектуре DFS служит для передачи запросов от клиентов DFS к драйверу Dfs.sys.
I/O Manager
Менеджер ввода-вывода отвечает за обработку операций с файлами при перенаправлении UNC-путей в Mup.sys. Является частью ядра ядра (Ntoskrnl.exe) операционной системы.
Mup.sys
Mup (multiple UNC provider) в переводе означает множественный поставщик путей UNC. Mup.sys является сетевым драйвером, который обрабатывает запросы ввода-вывода (I/O) для файла или устройства, доступного по пути UNC. Если UNC путь является ссылкой DFS, Mup.sys разрешает его в физический путь UNC. После разрешения пути Mup.sys выбирает локальный перенаправитель, который будет обрабатывать путь UNC.
Mrxsmb.sys
Для реализации службы предоставления общего доступа в Windows используется протокол CIFS (Common Internet File System). Перенаправитель Mrxsmb.sys обеспечивает взаимодействие между корневыми серверами, контроллерами домена и файловыми серверами Windows, использующими протокол CIFS.
Nwrdr.sys и Mrxdav.sys
Перенаправители для Netware и Web Distributed Authoring and Versioning (WebDAV), соответственно.
Workstation service (Wkssvc.dll)
Передает информацию о контроллере домена и доменном имени в Mup.sys. Эту информацию Mup.sys использует для создания ссылок в доменном кэше клиента. Также Workstation service является компонентом клиента SMB и обеспечивает управление Mrxsmb.sys.
Ntlanman.dll
Сетевой поставщик Windows. Служит для создания и поддержки клиентских сетевых подключений к удаленным файловым ресурсам.
Referral cache
Кэш ссылок, хранит ссылки, полученные клиентом при обращении к пространству имен. Кэш ссылок (также известный как кэш PKT) поддерживается в Mup.sys.
Domain cache
Доменный кэш содержит ссылки на доменные имена и ссылки на контроллеры домена, которые хранятся в памяти на каждом клиентском компьютере. В кэше домена хранятся NetBIOS-и DNS-доменные имена для локального домена, все доверенные домены в лесу, домены в доверенных лесах и сопоставления доменных имен с контроллерами домена. Домен кэша (SPC кэш) также хранится в Mup.sys.
DFS Tools
Основные инструменты для администрирования пространства имен DFS. Сюда входит графическая оснастка Dfsgui.msc, утилита командной строки Dfscmd.exe и утилита Dfsutil.exe, используемая для выполнения расширенных задач DFS.
Netapi32.dll
Содержит API NetDFSxxx, используемые для администрирования удаленных корневых серверов. Также содержит API, используемые для просмотра и очистки кэша ссылок (кэш PKT), кэша домена (кэш SPC) и кэша MUP на клиентах.
Физические структуры DFS и кэши
Теперь копнем поглубже и рассмотрим физические структуры и кэши на контроллерах домена, корневых серверах и клиентах DFS.
Корневые сервера
Физические структуры и кэши на корневом сервере различаются в зависимости от типа пространства имен, в котором размещается корневой сервер (доменный или автономный). Серверы под управлением Windows Server могут содержать несколько автономных и доменных корней.
На следующем рисунке показаны физическая структура и кэш DFS на корневых серверах.
Stand-Alone DFS Metadata in the Registry (Автономные метаданные DFS в реестре)
Автономные метаданные DFS содержат информацию о корне, корневой цели, ссылках, целевых объектах ссылок и параметрах, определенных для каждого автономного пространства имен. Эти метаданные хранятся в реестре корневого сервера по адресу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfs\Roots\Standalone.
Корневые серверы доменного пространства имен имеют запись реестра для каждого корня в разделе KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DFS\Roots\Domain, но эти записи не содержат метаданных DFS на основе домена. При запуске службы DFS на корневом сервере служба проверяет этот путь на наличие записей реестра, соответствующих корням домена. Если эти записи существуют, корневой сервер опрашивает контролллер домена с ролью эмулятора PDC, чтобы получить метаданные DFS для каждого доменного пространства имен и сохраняет эти метаданные в памяти.
DFS Registry Entries (Записи реестра DFS)
DFS поддерживает несколько записей реестра для настройки поведения DFS на корневых серверах. Записи реестра службы DFS находятся в реестре в следующих подразделах:
Root and Link Folders (Корень и папки ссылок)
Каждый корень и ссылка в пространстве имен имеют физическое представление на томе NTFS на каждом корневом сервере, на котором размещается это пространство имен. Корень DFS соответствует общей папке, известной как корневая папка (Root Folder) на корневом сервере. При использовании инструментов DFS для добавления ссылок в корневой каталог DFS создает специальные папки под каждой корневой папкой. Эти папки, называемые папками ссылок (Link Folders), на самом деле являются точками повторного анализа, и если вы попытаетесь получить к ним доступ на локальном сервере, то получите сообщение об ошибке. Клиенты DFS, которые получают доступ к папкам ссылок по всей сети, перенаправляются на соответствующий целевой объект.
DFS Metadata Cache (Кэш метаданных DFS)
Кэш метаданных DFS на корневых серверах содержит информацию о корне, корневых целевых объектах, ссылках, целевых объектах ссылок и параметрах, определенных в пространстве имен. Для доменных пространств имен эти метаданные хранятся в объекте DFS в Active Directory, для автономных — в реестре корневого сервера.
Этот кэш хранится в оперативной памяти и обновляется каждый раз, когда корневой сервер опрашивает объект DFS в Active Directory (для доменных пространств имен) или реестр (для автономных пространств имен).
Domain-based Root Referral Cache (Корневой реферальный кэш на основе домена)
Когда клиент обращается к доменному корневому серверу напрямую, по адресу \\ServerName\RootName, корневой сервер предоставляет клиенту список корневых объектов домена (Domain-based Root Referral) для данного пространства имен.
По умолчанию корневые серверы хранят эти доменные корневые ссылки в памяти в течение 15 минут. Этот период определяется записью реестра RootReferralTimeoutInSeconds на корневом сервере. Перезапуск службы DFS на корневом сервере приводит к очистке этого кэша. Если корневые целевые объекты добавляются или удаляются, или если в корне изменяются настройки, эти изменения отражаются в доменных корневых ссылках, предоставляемых корневыми серверами, через 15 минут или после очистки кэша.
Корневой реферальный кэш домена не хранит целевые объекты в каком-либо определенном порядке. Целевые объекты сортируются в соответствии с методом выбора целевых объектов по запросу клиента. Кроме того, эти ссылки основаны на метаданных DFS, хранящихся на ближайшем контроллере домена, не только на эмуляторе PDC.
Client Site Cache (Кэш сайта клиента)
Сайт в Active Directory определяет физическое расположение. Когда клиент запрашивает ссылку DFS с корневого сервера, служба DFS на корневом сервере использует информацию о сайте Active Directory, чтобы определить сайт клиента на основе его IP-адреса. DFS хранит эту информацию в кэше клиентского сайта корневого сервера, который содержит сопоставления IP-адресов клиентов с именами сайтов. Этот кэш используется для быстрого определения сайта, к которому принадлежит клиент.
По умолчанию корневые серверы хранят записи в кэше клиентского сайта до 24 часов. Этот период определяется записью реестра SiteSupportIntervalInSeconds (12 часов) на корневом сервере, умноженной на два. Если имя сайта изменяется или клиент перемещается с одного сайта на другой и использует один и тот же IP-адрес, информация о сайте в этом кэше будет устаревать максимум в два раза больше значения записи реестра SiteSupportIntervalInSeconds (24 часа) или до тех пор, пока служба DFS не будет перезапущена на корневом сервере.
Когда процесс очистки начинается после заданного интервала времени, записи обрабатываются следующим образом: если имя сайта, соответствующее клиенту, было доступно с момента последнего процесса очистки, запись обновляется, а если имя сайта, соответствующее клиенту, не было доступно с момента последнего процесса очистки, запись будет удалена.
По умолчанию DFS может хранить 200 000 записей в кэше клиентского сайта. Это ограничение определяется записью реестра MaxClientsToCache.
Target Site Cache (Кэш целевого сайта)
Когда служба DFS запускается на корневом сервере, она собирает сведения о сайте Active Directory для всех целевых объектов-ссылок на основе текущего IP-адреса каждого целевого объекта. Служба DFS также получает информацию о сайте при добавлении новых целевых объектов ссылок. DFS кэширует эту информацию в кэше целевого сайта корневого сервера, который содержит сопоставления имен целевых серверов ссылок с именами сайтов. DFS использует эту информацию для быстрого определения сайта, к которому относится целевая ссылка.
По умолчанию корневые серверы хранят записи в кэше целевого сайта до 24 часов. Этот интервал определяется значением записи реестра SiteSupportIntervalInSeconds (12 часов) на корневом сервере, умноженным на два. После заданного интервала времени DFS обновляет информацию о сайте в этом кэше. Если имя сайта изменяется или целевой сервер ссылок перемещается с одного сайта на другой, информация о сайте в этом кэше будет устаревать максимум в два раза больше значения записи реестра SiteSupportIntervalInSeconds (24 часа) или до тех пор, пока служба DFS не будет перезапущена.
Site Cost Cache (Кэш стоимости сайта)
В Active Directory есть понятие связи сайтов (site links), которое представляет из себя логическую связь двух или более сайтов, соответствующую физическим каналам связи между сайтами. У каждой связи есть своя стоимость (cost), которая определяет пропускную способность канала связи и, соответственно, затраты на передачу данных между сайтами. Эта информация используется при репликации Active Directory для определения наилучшего маршрута.
Кэш стоимости сайта на корневых серверах DFS содержит сопоставление сайтов с соответствующими сведениями о стоимости, определенными в Active Directory. Кэш стоимости сайта используется для быстрого определения стоимости подключения, связанной с целевыми объектами ссылок, чтобы DFS могла сортировать целевые объекты ссылок в ссылках в порядке наименьшей стоимости.
Служба DFS получает информацию о стоимости сайта для целевых объектов ссылок по мере необходимости, при выполнении запросов на направление клиентов. По умолчанию корневые серверы хранят записи в кэше стоимости сайта до 12 часов. Этот период определяется значением записи реестра SiteSupportIntervalInSeconds (12 часов) на корневом сервере. Если в Active Directory изменена стоимость связи между двумя сайтами, информация о стоимости сайта в этом кэше будет устаревать максимум в течение записи реестра SiteSupportIntervalInSeconds (12 часов) или до тех пор, пока служба DFS не будет перезапущена.
Запись реестра QuerySiteCostTimeoutinSeconds на корневых серверах также используется для этого кэша, чтобы указать период ожидания для запросов стоимости сайта. По истечении периода ожидания запрос информации о стоимости сайта в Active Directory завершится ошибкой. По умолчанию тайм-аут составляет 30 секунд. Если DFS не может определить стоимость целевого сайта в течение 30 секунд, принимается максимально возможная стоимость для целевого сервера.
Контроллеры домена
Контроллеры домена играют важную роль для доменных пространств имен. Они хранят метаданные DFS для доменных пространств имен и предоставляют ссылки клиентам DFS, чтобы помочь им получить доступ к доменным пространствам имен. Существует ряд физических структур и кэшей, поддерживающих эти процессы; эти структуры и кэши показаны на следующем рисунке.
DFS Object in Active Directory
Объект DFS в Active Directory хранит метаданные DFS для доменного пространства имен. Объект DFS создается при создании корневого каталога домена и Active Directory реплицирует весь объект DFS на все контроллеры домена в домене. Когда клиент запрашивает ссылку для доменного пространства имен, контроллер домена сначала проверяет свой доменный корневой кэш ссылок (описанный далее в этом разделе) на наличие существующей ссылки. Если таковой не существует, контроллер домена находит объект DFS для этого пространства имен и использует метаданные в объекте для создания ссылки.
На следующем рисунке показано расположение объектов DFS в Active Directory. Каждый объект DFS (FTDFS object) соответствует доменному пространству имен.
Каждый объект DFS имеет следующие четыре важных атрибута:
• pKT — двоичное представление метаданных DFS для этого корня.
• pKTGuid — лобальный уникальный идентификатор (GUID) метаданных DFS.
• remoteServerName — перечисляет корневые целевые объекты для корня.
• Security descriptor — дескриптор безопасности, контролирует доступ и определяет, кому разрешено изменять объект DFS.
По поводу размера объекта DFS. При записи метаданных используется приблизительно 400 байт на одну ссылку DFS. Любое изменение пространства имен приводит к тому, что весь объект DFS реплицируется на все контроллеры домена в домене. Для снижения сетевого трафика, возникающего при изменении в пространстве имен, рекомендуется объект DFS для доменного пространства имен ограничить размером в 5МБ (приблизительно 5000 ссылок).
DFS Registry Entries (Записи реестра DFS)
DFS поддерживает несколько записей реестра для настройки поведения DFS на контроллерах домена. Записи реестра DFS находятся в реестре в следующих подразделах:
Domain Name Referral Cache (Кэш ссылок доменных имен)
Ссылка на доменное имя содержит NetBIOS и DNS-имена локального домена, все доверенные домены в лесу и домены в доверенных лесах. Клиент DFS запрашивает ссылку на доменное имя у контроллера домена, чтобы определить домены, в которых клиенты могут получить доступ к доменным пространствам имен.
По умолчанию контроллеры домена хранят ссылки на доменные имена в кэше памяти в течение 12 часов; этот период определяется записью реестра DomainNameIntervalinSeconds на контроллере домена. Перезапуск службы DFS на контроллере домена приведет к очистке этого кэша. Если доменное имя изменяется или домены добавляются или удаляются из леса или доверенных лесов, эти изменения отражаются в ссылках на доменные имена через 12 часов или после очистки этого кэша.
Domain Controller Referral Cache (Кэш ссылок контроллера домена)
Ссылка на контроллер домена содержит NetBIOS и DNS-имена контроллеров домена для списка доменов, которые он кэшировал. Клиент DFS запрашивает ссылку на контроллер домена у контроллера домена 🙂 чтобы определить, какие контроллеры домена могут предоставить ссылку для доменного пространства имен.
Контроллеры домена хранят эти ссылки в кэше памяти в течение 10 минут, это значение изменить нельзя. Перезапуск службы DFS на контроллере домена приведет к очистке этого кэша. Если имя контроллера домена изменяется или если контроллеры домена повышаются или понижаются в должности, эти изменения отражаются в ссылках на контроллеры домена через 10 минут или после очистки этого кэша.
Domain-based Root Referral Cache (Корневой реферальный кэш на основе домена)
Корневая ссылка на домен содержит список корневых целевых объектов, в которых размещается данное доменное пространство имен. Контроллеры домена предоставляют корневые ссылки на основе домена клиентам, которые пытаются получить доступ к доменному пространству имен.
По умолчанию контроллеры домена хранят корневые ссылки на основе домена в кэше памяти в течение 15 минут; этот период определяется записью реестра RootReferralTimeoutInSeconds на контроллере домена. Перезапуск службы DFS на контроллере домена приведет к очистке этого кэша. Если корневые целевые объекты добавляются или удаляются, или если в корне изменяются настройки, эти изменения отражаются в доменных корневых ссылках через 15 минут или после очистки этого кэша.
Client Site Cache (Кэш сайта клиента)
Когда клиент запрашивает ссылку от контроллера домена, служба DFS на контроллере домена использует сведения о сайте, определенные в Active Directory, чтобы определить сайт клиента на основе его IP-адреса. DFS хранит эту информацию в кэше клиентского сайта, который содержит сопоставления IP-адресов клиентов с именами сайтов и использует этот кэш для быстрого определения сайта, к которому принадлежит клиент.
По умолчанию контроллеры домена хранят записи в кэше клиентского сайта до 24 часов. Этот период определяется записью реестра SiteSupportIntervalInSeconds (12 часов) на контроллере домена, умноженной на два. Если имя сайта изменяется или клиент перемещается с одного сайта на другой и использует один и тот же IP-адрес, информация о сайте в этом кэше будет устаревать максимум в два раза больше значения записи реестра SiteSupportIntervalInSeconds (24 часа) или до тех пор, пока служба DFS не будет перезапущена на контроллере домена.
Когда процесс очистки начинается после заданного интервала времени, записи обрабатываются следующим образом: если имя сайта, соответствующее клиенту, было доступно с момента последнего процесса очистки, запись обновляется, а если имя сайта, соответствующее клиенту, не было доступно с момента последнего процесса очистки, запись будет удалена.
По умолчанию DFS может хранить 200 000 записей в кэше клиентского сайта. Это ограничение определяется записью реестра MaxClientsToCache.
Target Site Cache (Кэш целевого сайта)
Служба DFS на контроллерах домена использует сведения о сайте, определенные в Active Directory (через API DSAddressToSiteNames), чтобы определить сайт для корневых целевых объектов домена и контроллеров домена на основе их текущих IP-адресов. DFS хранит эту информацию в своем целевом кэше сайтов, который содержит сопоставления имен корневых серверов и контроллеров домена с именами сайтов. DFS использует эту информацию для быстрого определения сайта, к которому принадлежит корневой сервер или контроллер домена.
По умолчанию контроллеры домена хранят записи в кэше целевого сайта до 24 часов. Этот интервал определяется значением записи реестра SiteSupportIntervalInSeconds (12 часов) на контроллере домена, умноженным на два. После заданного интервала времени DFS обновляет информацию о сайте в этом кэше. Если имя сайта изменяется или корневой целевой объект перемещается с одного сайта на другой, информация о сайте в этом кэше будет устаревать максимум в два раза больше значения записи реестра SiteSupportIntervalInSeconds (24 часа) или до тех пор, пока служба DFS не будет перезапущена на контроллере домена.
Site Cost Cache (Кэш стоимости сайта)
Кэш стоимости сайта на контроллерах домена содержит сопоставление сайтов с их связанной информацией о стоимости, определенной в Active Directory. DFS использует кэш стоимости сайта для быстрого определения стоимости подключения, связанной с контроллерами домена и корневыми целями домена, чтобы DFS могла сортировать целевые объекты в порядке наименьшей стоимости.
Служба DFS получает сведения о стоимости сайта для контроллеров домена и корневых целевых объектов на базе домена, необходимые для выполнения запросов на направление клиентов. По умолчанию записи в кэше затрат сайта сохраняются в течение 12 часов. Этот период определяется значением записи реестра SiteSupportIntervalInSeconds (12 часов) на локальном контроллере домена. Если в Active Directory изменена стоимость подключения между двумя сайтами, информация о стоимости сайта в этом кэше будет устаревать максимум в течение записи реестра SiteSupportIntervalInSeconds (12 часов) или до тех пор, пока служба DFS не будет перезапущена.
Запись реестра QuerySiteCostTimeoutinSeconds на контроллерах домена также используется для этого кэша, чтобы указать период ожидания для запросов стоимости сайта. По истечении периода ожидания запрос стоимости сайта в Active Directory завершится ошибкой. По умолчанию тайм-аут составляет 30 секунд. Если DFS не может определить стоимость сайта в течение 30 секунд, DFS принимает максимально возможную стоимость для этого сайта.
Клиенты DFS
Клиенты DFS под управлением хранят ссылки с контроллеров домена и корневых серверов для повышения производительности. Клиент может использовать ссылки в своем кэше при обращении к целевому объекту в пространстве имен, а не повторно подключать контроллеры домена и корневые серверы для ссылок. Клиенты DFS также имеют записи реестра, используемые для настройки поведения DFS на клиенте.
На следующем рисунке показаны физические структуры и кэши на клиентах DFS.
DFS Registry Entries (Записи реестра DFS)
Записи реестра DFS находятся в реестре клиента DFS в следующих разделах:
Domain cache (Кэш домена на клиентах)
Кэш домена на клиентах содержит два типа ссылок:
• Ссылки на доменные имена — доменные имена NetBIOS и DNS для локального домена клиента, доверенные домены в лесу и домены в доверенных лесах.
• Ссылки на контроллеры домена — сопоставления доменных имен с контроллерами домена, на которых размещены эти домены.
Просмотреть содержимое доменного кэша на клиентском компьютере из командной строки можно с помощью команды Dfsutil /spcinfo.
Данный пример вывода может быть интерпретирован следующим образом:
Записи, начинаюшиеся с [ * ] предоставляются службой рабочей станции.
[+] Рядом с контроллером домена с именем DC-01 в разделах [contoso.com] и [CONTOSO] указывает, что он является активным контроллером домена для этого домена. Клиент будет обращаться к DC-01 по мере необходимости для получения ссылок на доменные имена, ссылок на контроллеры домена и корневых ссылок на домены.
Клиент уже связался с DC-01, чтобы получить ссылки на доменные имена для Contoso.com, Europe.Contoso.com и Africa.Contoso.com.
Клиент уже связался с DC-01, чтобы получить ссылки на контроллеры домена для Contoso.com.
MUP Cache (Кэш MUP)
Кэш множественного поставщика путей UNC (MUP) хранит информацию о том, какой перенаправитель (напр. DFS, SMB или WebDAV) требуется для каждого пути UNC, к которому клиентский компьютер пытается получить доступ. Записи в кэше MUP хранятся в течение 15 минут. Для очистки этого кэша можно использовать команду Dfsutil /PurgeMupCache. Это может потребоваться при изменении типа папки, например из общей папки SMB в корневую папку WebDAV или DFS, или наоборот.
Referral Cache (Кэш ссылок на клиентах)
Клиенты DFS хранят корневые рефералы и ссылки на рефералы в кэше рефералов, также называемом кэшем PKT. Эти ссылки позволяют клиентам получить доступ к корневому каталогу и ссылкам в пространстве имен. Вы можете просмотреть содержимое реферального кэша на клиенте с помощью команды Dfsutil /pktinfo.
На рисунке показаны четыре типа рефералов:
(1) рефералы NETLOGON и SYSVOL;
(2) доменные корневые рефералы;
(3) автономные корневые рефералы;
(4) ссылочные рефералы.
Каждый из этих рефералов содержит следующую информацию:
Entry and ShortEntry
Entry указывает полное имя, ShortEntry задает краткое имя (восемь символов, за которыми следует точка и еще три символа) пути. Корневые серверы и контроллеры домена под управлением Windows Server используют полное имя при заполнении Entry и ShortEntry.
Expires in seconds
Указывает время жизни реферала. Ноль (0) секунд означает, что срок действия ссылки истек и что клиент получит новую ссылку при следующей попытке доступа к целевому серверу.
UseCount and Type
Количество и тип пользователей. UseCount — количество открытых соединений и файлов для этого пути. Если клиент имеет подключенный диск к пути DFS, то количество его использования увеличивается на 1. Type указывает тип реферала. Некоторые распространенные типы включают в себя:
Type 0x81 (REFERRAL_SVC DFS) — указывает на корневую ссылку.
Type 0x1 (DFS) — указывает на ссылку-реферал, которая имеет физические общие папки в качестве целевых объектов ссылок.
Type 0x10 (OUTSIDE_MY_DOM) — указывает на ссылку-реферал, целью которой является путь в доменном пространстве имен.
Target list
Список целей содержит корневые цели или цели ссылок, соответствующие пути, указанному в поле ввода. Целевые объекты перечислены по порядку, в соответствии с методом выбора целевого объекта, настроенным для корня или ссылки. Целевой объект, помеченный как активный, указывает, что клиент либо использовал этот целевой объект, либо будет использовать его в следующий раз, когда пользователь попытается получить доступ к этой части пространства имен.
На этом закончим с архитектурой DFS. В следующей части расмотрим основные процессы и взаимодействия между серверами.

































