Чтение онлайн

на главную

Жанры

C# для профессионалов. Том II

Ватсон Карли

Шрифт:

Репликация

Как программисты мы не будем конфигурировать репликацию, но так как она является важным аспектом данных, которые хранятся в активном каталоге, необходимо знать, как она работает. Активный каталог использует архитектуру серверов с несколькими мастерами. Обновления могут и будут происходить на каждом контроллере домена в домене. Задержка репликации определяет, сколько времени потребуется для выполнения обновлений.

□ Конфигурируемое уведомление об изменении происходит внутри сайта по умолчанию каждые 5 минут, если изменяются некоторые атрибуты. Сервер, где происходит изменение, информирует все серверы по очереди с 30-секундным интервалом. В дальнейшем сервер может получать уведомление об изменении через 7 минут. По умолчанию

уведомление об изменении между сайтами задается равным 180 минутам. Внутри- и межсайтная репликация может быть сконфигурирована на другие значения.

□ Если никаких изменений не происходит, плановая репликация выполняется каждые 60 минут внутри сайта. Это служит гарантией того, что уведомление об изменении не будет пропущено.

□ Для информации, чувствительной к безопасности, такой как блокирование учетной записи, может происходить немедленное уведомление.

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

Рассмотрим пример. Атрибут "мобильный телефон" пользователя Джона Доу имеет номер USN 47. Это значение уже реплицировано во все контроллеры доменов. Один системный администратор изменяет телефонный номер. Изменение происходит на сервере DC1, новый USN этого атрибута на сервере DC1 теперь будет 48, а остальные контроллеры доменов по прежнему имеют USN, равным 47. Если кто-то все еще читает атрибут, то он может считать старое значение, так как репликация еще не произошла на всех контроллерах доменов.

Теперь может произойти редкий случай, когда другой администратор изменяет атрибут "телефонный номер", и здесь был выбран другой контроллер домена, так как этот администратор получил более быстрый ответ от сервера DC2. USN этого атрибута на сервере DC2 также изменяется на 48.

Через заданный интервал происходит уведомление, так как USN атрибута изменился, и последний раз репликация происходила со значением USN, равным 47. С помощью механизма репликации теперь обнаруживается, что серверы DC1 и DC2 оба имеют USN, равный 48, для атрибута "номер телефона". Какой сервер будет победителем в действительности не имеет значения, но один сервер должен выиграть. Чтобы разрешить этот конфликт, используется отметка времени изменения. Так как изменение произошло позднее на DC2, то будет реплицировано значение, которое хранится в контроллере домена DC2.

При считывании объектов мы должны знать, что данные не обязательно будут актуальны. Актуальность данных зависит от задержек репликации.

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

Характеристики данных активного каталога

Активный каталог не заменяет реляционную базу данных или реестр. Какие же данные могут там хранится?

□ В активном каталоге имеются иерархические данные. Мы можем иметь контейнеры, в которых опять же хранятся контейнеры, а также объекты. Сами контейнеры тоже являются объектами.

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

□ Данные представляют глобальный интерес для предприятия. Добавление нового типа данных в схему реплицирует его на серверы предприятия. Если типы данных представляют интерес только для небольшого числа пользователей, то администратор домена предприятия не будет устанавливать новые типы схемы.

□ Данные должны иметь разумный размер в связи с репликацией. Если размер данных равен 100Кбайт,

то имеет смысл хранить их в каталоге, если данные изменяются только раз в неделю. Данные такого размера слишком велики, если они изменяются каждый час. Всегда помните о репликации — куда будут пересылаться данные и с какими интервалами времени. Если имеется большой объем данных, то можно поместить в активный каталог ссылку, а сами данные хранить в другом месте.

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

Схема

Объекты активного каталога являются строго типизированными. Схема определяет типы объектов, обязательные и необязательные атрибуты, а также синтаксис и ограничения атрибутов. Сама схема хранится как объекты в хранилище данных активного каталога. В схеме можно различить объекты схемы классов и схемы атрибутов. Класс является совокупностью атрибутов. С помощью классов поддерживается одиночное наследование. Как можно видеть на следующей диаграмме классов, класс

user
является производным от класса
organizationalPerson
,
organizationalPerson
является подклассом
person
, а базовым классом для всех является
top
. Класс
classSchema
, который определяет класс, описывает атрибуты с помощью атрибута
systemMayContain
.

На диаграмме перечислены лишь немногие из всех значений

systemMayContain
только для того, чтобы передать идею конструкции. Можно легко найти все значения с помощью
ADSIEdit
. По корневому классу
top
видно, что каждый объект может иметь атрибуты общее имя (
cn
),
displayName
,
objectGUID
,
whenChanged
и
whenCreated
. Класс
Person
является производным от
top
. Объект
Person
имеет также пароль
userPassword
и
telephoneNumber
.
organizationalPerson
является производным от
Person
. В дополнение к
Person
он имеет
manager
,
department
,
company
, a
user
имеет атрибуты, необходимые для регистрации в системе:

Управление активным каталогом

На самом деле мы не будем говорить об управлении активным каталогом. За управление отвечают системные администраторы Windows 2000, а мы хотим поговорить о программировании активного каталога. Однако рассмотрение некоторых инструментов управления может помочь понять, что такое активный каталог, какие данных в нем находятся, и что можно сделать программным путем.

Системный администратор имеет множество инструментов для ввода новых данных, обновления данных и для конфигурирования активного каталога. С помощью инструмента Active Directory Users and Computers (Пользователи и компьютеры активного каталога) можно обновить данные о пользователях и ввести новых пользователей. Инструмент Active Directory Sites and Services используется для конфигурирования сайтов в домене и репликации между этими сайтами. ActiveDirectory Domains and Trusts может применяться для создания доверительных отношений между доменами в дереве. Редактором реестра для активного каталога, где можно просмотреть и отредактировать каждый объект, является ADSI Edit. В дополнение к инструментам системного администратора имеется инструмент в SDK платформы Microsoft: ADSI Viewer.

Поделиться:
Популярные книги

Дворянская кровь

Седой Василий
1. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Дворянская кровь

Газлайтер. Том 16

Володин Григорий Григорьевич
16. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 16

Барон диктует правила

Ренгач Евгений
4. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон диктует правила

Стрелок

Астахов Евгений Евгеньевич
5. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Стрелок

Шатун. Лесной гамбит

Трофимов Ерофей
2. Шатун
Фантастика:
боевая фантастика
7.43
рейтинг книги
Шатун. Лесной гамбит

Проклятый Лекарь V

Скабер Артемий
5. Каратель
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Проклятый Лекарь V

На границе империй. Том 3

INDIGO
3. Фортуна дама переменчивая
Фантастика:
космическая фантастика
5.63
рейтинг книги
На границе империй. Том 3

Новый Рал

Северный Лис
1. Рал!
Фантастика:
фэнтези
попаданцы
5.70
рейтинг книги
Новый Рал

Его наследник

Безрукова Елена
1. Наследники Сильных
Любовные романы:
современные любовные романы
эро литература
5.87
рейтинг книги
Его наследник

Венецианский купец

Распопов Дмитрий Викторович
1. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
7.31
рейтинг книги
Венецианский купец

Мастер темных Арканов

Карелин Сергей Витальевич
1. Мастер темных арканов
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Мастер темных Арканов

Всплеск в тишине

Распопов Дмитрий Викторович
5. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
Всплеск в тишине

Начальник милиции

Дамиров Рафаэль
1. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции

Возвышение Меркурия. Книга 2

Кронос Александр
2. Меркурий
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 2