Симон Робинсон - C# для профессионалов. Том II
Можно пользоваться собственными типами и атрибутами и добавить их к схеме. Помните, что новый тип схемы вам не удастся убрать из активного каталога. Можно пометить его как неактивный, чтобы новые объекты больше нельзя было создавать, но могут существовать объекты этого типа, поэтому невозможно удалить классы или атрибуты, которые определены в схеме. Windows 2000 Administrator не имеет достаточных полномочий для создания новых записей схемы, здесь нужен Windows 2000 Domain Enterprise Administrator.
Конфигурация
В активном каталоге хранятся не только объекты, но и определения классов (в схеме) и конфигурация. Конфигурация активного каталога хранит информацию обо всех сайтах, интервалах репликации и т.д., которая задается системным администратором. К конфигурационной информации можно получить доступ, как ко всем другим объектам в активном каталоге.
Домен активного каталога
Домен является границей безопасности сети Windows. В домене активного каталога объекты хранятся в иерархическом порядке. Сам активный каталог состоит из одного или нескольких доменов. Иерархический порядок объектов представлен на рисунке ниже. Контейнерные объекты, такие как Users, Computers и Books, могут хранить другие объекты:
На следующем рисунке мы видим домен, который представлен треугольником. Каждый овал на рисунке представляет объект, линии между объектами показывают отношения предок/потомок. Books является предком для .NET и Java. Pro C#, Beg C#, и ASP.NET являются объектами-потомками объекта .NET.
Контроллер домена
Один домен может иметь несколько серверов, каждый из которых хранит все объекты внутри домена. Не существует мастер-сервера, и все серверы интерпретируются одинаково; мы имеем модель с несколькими мастерами. Объекты реплицируются между серверами внутри домена.
На следующем рисунке домен Wrox.com представлен треугольником. DC1 и DC2 являются двумя контроллерами домена для этого домена:
Сайт
Сайт является местоположением в сети, содержащим серверы активного каталога (контроллеры домена). Если имеется несколько местоположений на предприятии, соединенных медленными сетевыми связями, то можно использовать несколько сайтов для одного домена. Для целей резервного копирования или масштабирования каждый сайт имеет один или несколько выполняющихся контроллеров доменов. Репликация между серверами на сайте может происходить с более короткими интервалами в связи с более быстрым сетевым соединением. Репликация между серверами на различных сайтах конфигурируется с большими интервалами времени, в зависимости от скорости сети. Конечно, это может сконфигурировать администратор домена.
На следующем рисунке показан один домен Wrox.com, который имеет несколько сайтов: Seattle, New York и Chicago. В каждом из этих сайтов выполняются по два контроллера домена.
Дерево домена
Несколько доменов могут соединяться доверительными отношениями. Эти домены совместно используют общую схему, общую конфигурацию и глобальный каталог. Общая схема и общая конфигурация означают, что эти данные реплицируются между доменами. Деревья доменов совместно используют одну и ту же схему классов и атрибутов. Сами объекты не реплицируются между доменами.
Домены, соединенные таким образом, называются деревом доменов. Домены в дереве доменов имеют непрерывное иерархическое пространство имен. Это означает, что имя домена-потомка добавляется к имени домена-предка. Между доменами устанавливаются доверительные отношения, использующие протокол Kerberos.
На следующем рисунке показан корневой домен wrox.com, который является также доменом-предком доменов-потомков france.wrox.com и uk.wrox.com. Доверительные отношения задаются между доменами предком и потомком так, чтобы учетные записи одного домена можно было аутентифицировать в другом:
Лес
Соединение множества деревьев доменов с помощью общей схемы, общая конфигурация и глобальный каталог без непрерывного пространства имен называется лесом. Лес является множеством деревьев доменов. Лес может иметь место, если у компании есть филиал, где должно применяться другое имя домена. Предположим, что домен asptoday.com должен быть относительно независимым от домена wrox.com, но должно быть общее управление, а также возможность пользователям из домена asptoday.com иметь доступ к ресурсам из домена wrox.com и наоборот. С помощью леса можно создать доверительные отношения между множеством деревьев доменов.
Глобальный каталог
Поиск объекта может охватывать несколько доменов. Если ищется объект определенного пользователя с некоторыми атгрибутами, то необходимо вести поиск в каждом домене. Начиная с wrox.com, поиск продолжается в uk.wrox.com и france.wrox.com через медленные соединения, такой поиск может потребовать достаточно много времени.
Чтобы ускорить поиск, все объекты копируются в глобальный каталог. Глобальный каталог реплицируется в каждый домен леса. Существует по крайней мере один сервер в каждом домене, содержащий глобальный каталог. По соображениям производительности и масштабируемости можно иметь в домене более одного сервера с глобальным каталогом. С помощью глобального каталога поиск по всем объектам может вестись на одном сервере.
На следующем рисунке мы видим три домена в дереве доменов. Каждый из этих доменов имеет глобальный каталог. По умолчанию глобальный каталог устанавливается на первом контроллере домена, но могут быть добавлены дополнительные каталоги:
Глобальный каталог является для всех объектов кэш-памятью только для чтения. Каталог может применяться лишь для поиска; для выполнения обновлений должны использоваться контроллеры доменов.
Не все атрибуты объекта хранятся в глобальном каталоге. Можно определить, должен ли он храниться там или нет. Решение о необходимости хранения атрибута в глобальном каталоге зависит от частоты использования его при поиске. Изображение пользователя бесполезно в глобальном каталоге, так как вряд ли поиск будет осуществиться по изображению. Вместо этого полезным добавлением для хранения был бы номер телефона. Атрибут можно также использовать для уточнения того, что он должен быть проиндексирован, с целью ускорения запроса этого атрибута.
Репликация
Как программисты мы не будем конфигурировать репликацию, но так как она является важным аспектом данных, которые хранятся в активном каталоге, необходимо знать, как она работает. Активный каталог использует архитектуру серверов с несколькими мастерами. Обновления могут и будут происходить на каждом контроллере домена в домене. Задержка репликации определяет, сколько времени потребуется для выполнения обновлений.
□ Конфигурируемое уведомление об изменении происходит внутри сайта по умолчанию каждые 5 минут, если изменяются некоторые атрибуты. Сервер, где происходит изменение, информирует все серверы по очереди с 30-секундным интервалом. В дальнейшем сервер может получать уведомление об изменении через 7 минут. По умолчанию уведомление об изменении между сайтами задается равным 180 минутам. Внутри- и межсайтная репликация может быть сконфигурирована на другие значения.
□ Если никаких изменений не происходит, плановая репликация выполняется каждые 60 минут внутри сайта. Это служит гарантией того, что уведомление об изменении не будет пропущено.
□ Для информации, чувствительной к безопасности, такой как блокирование учетной записи, может происходить немедленное уведомление.
Изменения при репликации копируются в контроллеры доменов. Для каждого изменения атрибута записываются номер версии (USN — номер последовательности обновления) и отметка времени. Они используются для разрешения конфликтов, если обновления происходят в одном и том же атрибуте на различных серверах.
Рассмотрим пример. Атрибут "мобильный телефон" пользователя Джона Доу имеет номер USN 47. Это значение уже реплицировано во все контроллеры доменов. Один системный администратор изменяет телефонный номер. Изменение происходит на сервере DC1, новый USN этого атрибута на сервере DC1 теперь будет 48, а остальные контроллеры доменов по прежнему имеют USN, равным 47. Если кто-то все еще читает атрибут, то он может считать старое значение, так как репликация еще не произошла на всех контроллерах доменов.