Цель лекции: Дать представление о процессе репликации в Active Directory.
Каждая компания, реализующая проект по внедрению службы каталога
Active Directory, развертывает несколько контроллеров домена. Они
могут располагаться в одном центре обработки данных в главном офисе
компании и связываться высокоскоростными сетевыми соединениями. Они
могут быть распределены по всему миру и использовать для связи
глобальные сети (WAN). Некоторые компании имеют единственный домен в
лесу, другие компании - много доменов в нескольких доменных деревьях в
общем лесу.
Независимо от того, сколько контроллеров домена имеет компания и
где они расположены, контроллеры домена должны реплицировать
информацию друг у друга. Если они не будут делать этого, каталоги на
контроллерах станут противоречивыми. Например, если на одном
контроллере домена будет создан пользователь и эта информация не
скопируется на все другие контроллеры домена, то этот пользователь
сможет входить только на один контроллер домена.
Служба Active Directory использует модель репликации с несколькими
хозяевами, в которой изменения в каталоге могут быть сделаны на любом
контроллере домена и скопированы на другие контроллеры.
Модель репликации Active Directory
Active Directory состоит из нескольких логических разделов. Репликация информации между контроллерами домена с репликами всех
разделов осуществляется одинаково для всех разделов. Когда изменяется
атрибут в разделе конфигурации каталога, он реплицируется так же, как
и в случае изменения атрибута любого другого раздела. Единственное
отличие состоит в списке контроллеров домена, которые получат копию
реплицируемого изменения. Репликация между контроллерами домена в
одном и том же сайте обрабатывается иначе, чем между контроллерами
домена различных сайтов, но основная модель не изменяется.
В отличие от модели репликации с единственным хозяином, которая
используется в системе Microsoft Windows NT, Active Directory
применяет модель репликации с несколькими хозяевами. В Windows NT
основной контроллер домена (Primary Domain Controller, PDC) является
единственным контроллером домена, который может принимать изменения
информации домена. После того как изменение сделано, оно реплицируется
на все резервные контроллеры домена (Backup Domain Controllers, BDC).
Недостатком модели репликации с единственным хозяином является то, что
она не масштабируется для большой распределенной среды. Поскольку
изменения (например, пароля пользователя) могут выполняться только на
контроллере PDC, это может стать узким местом, если делаются сразу
тысячи изменений. Контроллер PDC находится только в одном месте
компании, и любые изменения информации домена, расположенного в
удаленном месте, должны быть сделаны на этом контроллере PDC. Другая
проблема заключается в том, что контроллер PDC является единственной
точкой отказа. Если он недоступен, никаких изменений информации
каталога сделать нельзя до тех пор, пока он не вернется в
интерактивный режим или пока другой BDC-контроллер не будет назначен
на роль контроллера PDC.
В Active Directory изменения информации домена могут быть сделаны
на любом контроллере домена, то есть каждый контроллер домена имеет
перезаписываемую копию каталога, а контроллера PDC не существует. Как
только изменение было сделано, оно копируется на все другие
контроллеры домена. Такая модель репликации с несколькими хозяевами
направлена на повышение надежности и масштабируемости, ведь изменения
в каталоге можно делать на любом контроллере домена независимо от
того, где он расположен. Поскольку все контроллеры домена обеспечивают
одни и те же службы, отказ одного из них не является критичным для
всей системы.
Модель репликации, используемая в Active Directory, представляет
модель с нежестким согласованием, обладающую сходимостью . Репликация не является жестко согласованной, так как контроллеры
домена, содержащие реплику раздела, не всегда имеют идентичную
информацию. Например, если новый пользователь создан на одном из
контроллеров домена, другие контроллеры домена не получат эту
информацию до следующего цикла репликации. Процесс репликации всегда
сходится, то есть если система поддерживается в стационарном
состоянии, без внесения новых изменений к каталогу в течение
некоторого времени, то все контроллеры домена достигнут единообразного
состояния и будут иметь идентичную информацию.
При репликации используется также процесс хранения и ретрансляции
(store and forward). Это означает, что контроллер домена может
получать изменение к каталогу, а затем отправлять его на другие
контроллеры домена. Это выгодно в тех случаях, когда несколько
контроллеров домена, находящихся в разных офисах компании, соединены
медленными WAN-соединениями. Изменение к каталогу может
реплицироваться с контроллера домена одного из сайтов на единственный контроллер домена второго сайта. Контроллер домена, который получает
обновление, может затем переправить изменения на другие контроллеры
домена во втором сайте. Контроллер домена, на котором были сделаны
изменения каталога, не должен копировать изменения непосредственно на
все контроллеры домена, как это происходит в модели репликации с
единственным хозяином.
Планирование стратегии репликации
Репликация Active Directory - жизненно важная операция, которую
необходимо тщательно планировать. Правильно спланированная репликация
ускоряет ответ каталога, уменьшает сетевой трафик по WAN-каналам и
сокращает административные издержки.
В Windows Server 2003 используется модель репликации с несколькими
хозяевами, при которой на всех контроллерах домена хранятся
равноправные копии БД Active Directory. Когда создается, удаляется или
переносится объект либо изменяются его атрибуты на любом контроллере
домена, эти изменения реплицируются на остальные контроллеры
домена.
Внутрисайтовая (между контроллерами домена одного сайта) и
межсайтовая репликация (между контроллерами домена, относящимися к
разным сайтам) выполняется по-разному , .
Репликация внутри сайта
В пределах сайта Active Directory автоматически создает топологию
репликации между контроллерами одного домена с использованием
кольцевой структуры. Топология определяет путь передачи обновлений
каталога между контроллерами домена до тех пор, пока обновления не
будут переданы на все контроллеры домена.
Кольцевая структура обеспечивает существование минимум двух путей
репликации от одного контроллера домена до другого, и если один контроллер домена временно становится недоступен, то репликация на
остальные контроллеры домена все равно продолжится.
При внутрисайтовой репликации трафик репликации передается в
несжатом формате. Это объясняется тем, что контроллеры домена,
принадлежащие одному сайту, как предполагается, связаны каналами с
высокой пропускной способностью. Помимо того, что данные не сжимаются,
используется механизм репликации, основанный на уведомлении об
изменениях. Значит, если в данные домена вносятся изменения, эти
изменения быстро реплицируются на все контроллеры домена.
Репликация между сайтами
Для обеспечения репликации между узлами нужно представить сетевые
соединения в виде связей сайтов. Active Directory использует
информацию о сетевых соединениях для создания объектов-соединений, что
обеспечивает эффективную репликацию и отказоустойчивость.
Необходимо предоставить информацию о применяемом для репликации
протоколе, стоимости связи сайтов, о времени доступности связи и о
том, как часто она будет использоваться. Исходя из этого Active
Directory определит, как связать сайты для репликации.
При межсайтовой репликации все данные передаются в сжатом виде.
Причина в том, что трафик, вероятно, передается по более медленным
WAN-каналам (см. рис 10.1) в сравнении с соединениями локальной сети,
используемыми при внутрисайтовой репликации.
(рис 10.1) Межсайтовая репликацияОднако при этом увеличивается нагрузка на серверы, поскольку,
помимо прочих операций по обработке, им приходится
упаковывать/распаковывать данные. Кроме того, репликация выполняется
по расписанию в момент времени, лучше всего подходящий для данной
организации.
Виды реплицируемой информации
Хранимая в каталоге информация делится на три категории, которые
называются разделами каталога. Раздел каталога служит объектом
репликации. В каждом каталоге содержится следующая информация :
информация о схеме - определяет, какие объекты разрешается создавать в каталоге и какие у них могут быть атрибуты;
информация о конфигурации - описывает логическую структуру развернутой сети, например структуру домена или топологию репликации. Эта информация является общей для всех доменов в дереве или лесе;
данные домена - описывают все объекты в домене. Эти данные относятся только к одному определенному домену, подмножество свойств всех объектов во всех доменах хранится в глобальном каталоге для поиска информации в дереве доменов или лесе.
Схема и конфигурация реплицируются на все контроллеры домена в
дереве или лесе.
Все данные определенного домена реплицируются на каждый контроллер
именно этого домена. Все объекты каждого домена, а также часть свойств
всех объектов в лесе реплицируются в глобальный каталог.
Контроллер домена хранит и реплицирует :
информацию о схеме дерева доменов или леса;
информацию о конфигурации всех доменов в дереве или лесе;
все объекты и их свойства для своего домена. Эти данные реплицируются на все дополнительные контроллеры в домене, часть всех свойств объектов домена реплицируется в глобальный каталог для организации поиска информации.
Глобальный каталог хранит и реплицирует:
информацию о схеме в лесе;
информацию о конфигурации всех доменов в лесе;
часть свойств всех объектов каталога в лесе (реплицируется только между серверами глобального каталога);
все объекты каталога и все их свойства для того домена, в котором расположен глобальный каталог.
Протоколы репликации
Удаленные вызовы процедур выполняются при отправке сообщений
репликации внутри сайта и между сайтами. Протокол RPC используется по
умолчанию при всех операциях репликации Active Directory, поскольку
является отраслевым стандартом и совместим с большинством типов сетей
.
Обмен данными из каталога производится с помощью разных сетевых
протоколов, таких как IP или SMTP :
IP-репликация. Использует удаленный вызов процедур (Remote Procedure Call, RPC) для репликации через связи сайтов (межсайтовой) и внутри сайта (внутрисайтовой). По умолчанию межсайтовая IP-репликация выполняется по соответствующему расписанию, однако можно настроить репликацию Active Directory, чтобы игнорировать расписания. Для IP-репликации не требуется центр сертификации.
SMTP-репликация. Производится только через связи сайтов (межсайтовая), но не в пределах сайта. Так как протокол SMTP асинхронный, обычно все расписания им игнорируются. Необходимо установить и настроить центр сертификации (Certification Authority, CA) компании для использования SMTP-связей сайтов. Центр сертификации подписывает сообщения SMTP, которыми обмениваются контроллеры домена для подтверждения подлинности обновлений каталога.
Процесс репликации
Репликация позволяет отражать изменения в одном контроллере домена
на остальных контроллерах в домене. Информация каталога реплицируется
на контроллеры домена как в пределах узлов, так и между ними. При этом
с любого компьютера в дереве доменов или лесе пользователи и службы
могли все время получать доступ к информации в каталоге.
Существуют два типа обновлений информации Active Directory,
касающейся определенного контроллера домена . Первый тип
обновлений - исходное обновление (originating update). Исходное
обновление выполняется при добавлении, изменении или удалении объекта
на контроллере домена. Второй тип обновлений - реплицируемое
обновление (replicated update). Репликация выполняется тогда, когда
изменение, сделанное на одном контроллере домена, копируется на другой контроллер домена. По определению исходное обновление, касающееся
любого конкретного изменения, только одно, оно выполняется на том
контроллере домена, где было сделано. Затем исходное обновление
копируется на все контроллеры домена, которые имеют реплику раздела
Active Directory, затронутого обновлением.
Исходные обновления Active Directory происходят в следующих случаях
:
к Active Directory добавлен новый объект;
из Active Directory удален существующий объект;
атрибуты существующего объекта Active Directory изменены. Эта модификация может включать добавление нового значения атрибуту, удаление значения атрибута или изменение существующего значения;
объект Active Directory перемещен в новый родительский контейнер. Если изменяется имя родительского контейнера, то каждый объект контейнера перемещается в переименованный контейнер.
Все исходные обновления Active Directory являются элементарными
операциями. Это означает, что в процессе передачи модификация должна
быть передана полностью, как целая транзакция, и никакая ее часть не
передается отдельно от других частей.
После передачи исходного обновления изменение должно
реплицироваться на другие контроллеры домена, которые содержат реплику
этого раздела. В пределах сайта контроллер домена, на котором
произошло исходное обновление, ждет 15 секунд перед началом
копирования изменений своим прямым партнерам по репликации. Это
ожидание предназначено для того, чтобы несколько модификаций к базе
данных можно было реплицировать одновременно, что увеличивает
эффективность репликации. Между сайтами исходное обновление будет
копироваться партнерам по репликации в соответствии с графиком,
сконфигурированным на связях сайта.
Active Directory реплицирует информацию в пределах сайта чаще, чем
между сайтами, сопоставляя необходимость в обновленной информации
каталога с ограничениями по пропускной способности сети. Лучше
выполнять репликацию в то время, когда сетевой трафик минимален, что
сведет к минимуму временные задержки, связанные с репликацией
данных.
Дабы убедиться, что топология репликации все еще эффективна, Active
Directory периодически ее анализирует. Если добавить или убрать контроллер домена из сети или узла, то Active Directory изменит
топологию соответствующим образом. Проверка топологии репликации
заключается в следующем. Active Directory запускает процесс, который
определяет стоимость межсайтовых подключений, проверяет, доступны ли
известные контроллеры домена и не были ли добавлены новые, и затем на
основе полученных сведений добавляет или удаляет объекты-подключения
для формирования эффективной топологии репликации. Этот процесс не
затрагивает объекты-подключения, созданные вручную.
Каждый контроллер домена в сайте представляется объектом-сервером.
У каждого объекта-сервера есть дочерний объект NTDS Settings,
управляющий репликацией данных контроллера домена внутри сайта, а у
каждого объекта NTDS Settings - объект-соединение, в котором хранятся
атрибуты соединения и который представляет коммуникационный канал,
применяемый при репликации данных с одного контроллера домена на
другой. Для репликации нужно, чтобы на обеих сторонах было по объекту-
соединению.
Сервис Knowledge Consistency Checker (КСС) автоматически создает
набор объектов-соединений для репликации с одного контроллера домена
на другой. Однако при необходимости можно создать объекты-соединения
вручную.
КСС создает различные топологии (то есть задает местонахождение
объектов-соединений и их конфигурацию) для внутрисайтовой и
межсайтовой репликации. Кроме того, КСС изменяет созданные им
топологии всякий раз, когда добавляются или удаляются контроллеры
домена, а также при их перемещении из одного сайта в другой.
Краткие итоги
Модель репликации, используемая в Active Directory, представляет
модель с нежестким согласованием, обладающую сходимостью.
Репликация не является жестко согласованной, так как контроллеры домена, содержащие реплику раздела, не всегда имеют идентичную информацию.
Процесс репликации всегда сходится, то есть если система поддерживается в стационарном состоянии, без внесения новых изменений к каталогу в течение некоторого времени, то все контроллеры домена достигнут единообразного состояния и будут иметь идентичную информацию.
Виды репликации: внутрисайтовая (между контроллерами домена одного
сайта) и межсайтовая (между контроллерами домена, относящимися к
разным сайтам).
Хранимая в каталоге информация делится на три категории, которые
называются разделами каталога, и служит объектом репликации:
информация о схеме;
информация о конфигурации;
данные домена.
Схема и конфигурация реплицируются на все контроллеры домена в
дереве или лесе.
Все данные определенного домена реплицируются на каждый контроллер
именно этого домена. Все объекты каждого домена, а также часть свойств
всех объектов в лесе реплицируются в глобальный каталог.
Контроллер домена хранит и реплицирует:
информацию о схеме дерева доменов или леса;
информацию о конфигурации всех доменов в дереве или лесе;
все объекты и их свойства для своего домена.
Глобальный каталог хранит и реплицирует:
информацию о схеме в лесе;
информацию о конфигурации всех доменов в лесе;
часть свойств всех объектов каталога в лесе (реплицируется только между серверами глобального каталога);
все объекты каталога и все их свойства для того домена, в котором расположен глобальный каталог.
Обмен данными из каталога производится с помощью разных сетевых
протоколов, таких как IP или SMTP.
IP-репликация. Использует удаленный вызов процедур (Remote Procedure Call, RPC) для репликации через связи сайтов (межсайтовой) и внутри сайта (внутрисайтовой).
SMTP-репликация. Производится только через связи сайтов (межсайтовая), но не в пределах сайта.
Существуют два типа обновлений информации Active Directory,
касающейся определенного контроллера домена - исходное обновление
(originating update) и реплицируемое обновление (replicated
update).