WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 8 |

«Л РУССКИ Федор Зубанов Active Directory подход профессионала Издание 2-е, исправленное Москва 2003 ...»

-- [ Страница 4 ] --

Изменения атрибутов объекта Active Directory являются атомарными транзакциями. Если один LDAP-запрос к каталогу должен выполнить модификацию нескольких атрибутов объекта, то этот запрос рассмат ривается как транзакция. Невозможность изменения хотя бы одного из запрошенных атрибутов приводит к откату транзакции. Если тран закция была завершена, то говорят, что произошло исходное обнов ление (originating update) объекта. Если в дальнейшем это обновление тиражируется на другой контроллер, оно становится реплицирован ным обновлением и отличается от исходного.

USN Контроллер домена, уведомленный партнером по репликации в том, что у него произошло обновление базы, должен как-то решить, знает ли он об этом обноваении. Зачем лишний раз тиражировать обнов ления, если они уже известны? Отследить обновления позволяют по следовательные номера обновлений (USN — update sequence number).

USN отсчитывается на каждом контроллере домена независимо от других контроллеров. Произошло обновление атрибута какого-то объекта — номер USN увеличивается на 1. Но для каждого контролле ра USN начинает отсчитываться в разные моменты. Скажем, самый большой USN будет у первого контроллера в лесу — он ведь установ лен раньше всех, а значит, на нем произошло больше всего измене ний объектов. Поэтому и бесполезно сравнивать абсолютные значе ния USN на разных контроллерах: для целей отладки важнее отсле живать изменение USN в динамике.

Измененный USN сохраняется вместе с реплицируемым объектом.

При этом способ сохранения зависит от типа обновттения. Для исход 184 Active Directory: подход _профессионала ного обновления существует три способа записи USN, а для реплици рованного обновления — два. Вот они.

• Для каждого измененного атрибута объекта сохраняется его ло кальный номер USN независимо от типа обновления. Узнать этот номер позволяет команда repadmin /shcwmeta

• Среди измененных атрибутов есть такой, чей локальный USN бу дет самым большим. Например, если у пользователя поменяли пароль и имя, локальный USN для этих двух атрибутов увеличится на 1. Если вслед за этим снова поменять пароль, то увеличится только локальный USN для этого атрибута. Вот это максимальное число заносится в специальный атрибут объекта usnCbanged.

Посмотреть значение этого атрибута можно, например, в програм ме ADSI Edit.

• Если выполняется исходное обновление объекта, то для каждого измененного атрибута записывается значение исходного USN это го атрибута. Узнать этот номер позволяет команда repadmin / showmeta

USN является 64-разрядным числом, что на практике означает его уникальность в течение всей жизни контроллера домена. Если пред положить, что атрибуты изменяются в Active Directory непрерывно со скоростью 1 атрибут в'секунду, то на исчерпание запаса номеров USN уйдет почти 585 миллиардов лет. Наша Вселенная гораздо моложе.

Штамп Предположим теперь, что изменения одного и того же атрибута у объекта были выполнены на двух разных контроллерах домена при мерно одновременно, т. е. еще до того, как репликация раннего изме нения завершилась. Нужен механизм, который бы гарантировал раз решение конфликтных ситуаций.

Таким механизмом является добавление штампа к любому реплици руемому атрибут}'. Штамп путешествует с ним от одного партнера по репликации к другому. Если значение штампа, пришедшего с репли цируемым атрибутом, больше имеющегося у атрибута на контролле ре, то значения локального атрибута и его штампа переписываются на новые. Если нет, изменение игнорируется.

Что содержит штамп? Информацию, аналогичную той, что иногда проставляют секретари на исходящих письмах.

Репликация Active Directory • Версия Всякий раз, как при исходном обновлении изменяется значение атрибута, номер его версии изменяется на 1. Если атри бут никогда не изменялся, его версия равна 1.

• Исходное время Это тот момент времени на часах контроллера домена, когда выполнилось исходное обновление атрибута.

• Исходный DSA Это GUID того контроллера домена, на котором было выполнено исходное обновление атрибута.

Штамп позволяет просмотреть команда repadmin /showmeta

repadmin /showmeta "сп=Федор 3y6anoB,cn=users,dc=fyodor,dc=home" Loc.USN Originating DSA Org.USN Org.Time/ Date Ver Attribute 3903 8e36de48-93cd-4b5e-9bc4-d697acea7470 2763 2001-02- 22:34.42 1 objectClass 3903 Site-1\OC01 3903 2002-03- 20:56.05 1 en 3903 8e36de48-93cd-4b5e-9bc4-d697acea7470 2763 2001-02- 22:34.42 1 sn 3903 8e36de48-93cd-4b5e-9bc4-d697acea747Q 2764 2001-02- 22:34.42 1 description 3903 8e36de48-93cd-4b5e-9bc4-d697acea7470 2763 2001-02- 22:34.42 1 givenName 3903 8e36de48-93cd-4b5e-9bc4-d697acea7470 2763 2001-02- 22:34.42 1 instanceType 3903 8e36de4B-93cd-4b5e-9bc4-d697acea7470 2763 2001-02- 22:34.42 1 whenCreated 3903 8e36de48-93cd-4b5e-9bc4-d697acea7470 3805 2001-02- 14:20.35 5 homeDrive 3903 8e36de48-93cd-4b5e-9bc4-d697acea7470 2765 2001-02-ОБ 22:34.43 2 dBCSPwd При сравнении двух штампов сначала сравниваются версии. Тот ат рибут, чья версия больше, имеет преимущество, и его значение будет записано как реплицированное обновление. Если версии одинаковы, сравнивается исходное время. Атрибут, исходное время которого позже, победит. Наконец, если совершится столь маловероятное со бытие, что в обоих штампах исходное время также одинаково, побе дит тот, чей GU1D больше. В последнем условии, конечно, нет ника кого смысла, но ведь кто-то должен победить!

. _ rt Active Directory: подход профессионала IjJD Удаление объекта Выше рассмотрены процессы создания и модификации объектов.

А как быть в случае удаления объекта? Ведь если просто удалить объект на одном из контроллеров, надо как-то оповестить другие об этом событии. В Active Directory удаление объекта равноценно его измене нию. Дело Б том. что объекты не удаляются физически, а просто по мечаются как удаленные. Вот как это делается:

• значение атрибута isDeleted устанавливается равным true;

• объект помечается как памятник, что означает, что объект удален, но не изъят из Active Directory;

• относительное отличительное имя объекта изменяется так, что его нельзя изменить с помощью LDAP-приложения;

+ из всех атрибутов остаются только objectGuid, objeccSid, distin guishedName, nTSecurityDescriptor и usnChanged;

• памятник перемещается в специальный скрытый контейнер.

После этого партнеры по репликации оповещаются о том, что про изошло изменение, и репликация выполняется так, как это описано выше. Но не думайте, что все эти памятники так и остаются в Active Directory. В Active Directory каждые 12 часов выполняется сбор мусо ра. Этот процесс проверяет, нет ли памятников, срок существования которых завершился. Если есть, они физически удаляются из Active Directory. Мусор собирается независимо на каждом контроллере до мена. Срок существования памятников по умолчанию — 60 дней. Этого хватает, чтобы выполнилась репликация на все контроллеры в домене.

Замечание Срок существования памятников (tombstonelifetime) и интервал сбора мусора (garbagecolperiod) можно изменить, опреде лив соответствующие атрибуты объекта CN=Directory Service,CN=Win dows NT,CN=Services,CN=Configuration,.

Процесс репликации от А до Я Теперь рассмотрим репликацию в подробностях. Без понимания это го процесса бесполезно заниматься поиском проблем с репликацией (ну, за исключением самых простых).

Создание объекта Представим себе, что установлен новый контроллер домена ОСА и на нем создается новый пользователь. Для простоты вместо GUID будем использовать имя контроллера, а вместо полного набора его атрибу тов — только несколько.

Пусть в момент создания пользователя USN контроллера домена был равен 2763. Добавление пользователя увеличит его на I.

Репликация Active Directory Замечание В реальности при добавлении пользователя USN увели чивается больше, чем на 1. но для нас это не существенно: главное, что он увеличивается.

В соответствии с этим будут присвоены значения и остальным атри бутам и номерам. Для простоты все значения сведены в таблицу.

UsnCreated: 2764 UsnChanged: Исходный Исходный Исходное Атрибут Версия время USN DSA Значение USN Иван Петров 2764 1 ОСА 22:34-42 СП givenname Иван 1 ОСА 2764 22:34-42 1 ОСА userPassword 22:34. 2764 Таким образом, выполнено исходное добавление.

Через 5 минут контроллер DCA оповестит своего партнера по репли кации, контроллер DCB, о том, что у него произошло изменение. Те кущий USN контроллера DCB равен 1533- После записи информации о пользователе его USN увеличится на 1. Соответственно изменятся значения номеров usnChanged и usnCreated. Остальные параметры штампа останутся прежними.

UsnCreated: 1534 UsnChanged: Исходное Исходный Исходный Значение Версия время DSA USN USN Атрибут Иван Петров 1534 22:34.42 1 DCA СП Иван givenname 22:34.42 1534 DCA 22:34. userPassword 1534 DCA Так выполнилось реплицированное добавление.

Модификация объекта Допустим теперь, что немного погода пользователь изменил пароль и изменение произошло на контроллере DCB. К этому моменту USN этого контроллера был равен 2211 (мало ли какие объекты модифици ровались за это время). Значит, после изменения пароля USN контрол лера увеличится на 1, а метаданные объекта будут выглядеть таю UsnChanged: UsnCreated: Исходное Исходный Исходный Версия время DSA USN Значение USN Атрибут 22:34.42 DCA Иван Петров 1534 СП 22:34.42 DCA givenname Иван 15М 09:30.00 DCB userPassword 2212 1_88 Active^ Directory: подход профессионала Заметьте, как изменились USN и штамп атрибута userPassword, а так же атрибут usnChanged объема. Теперь они указывают на то, что ис ходное обновление этого атрибута выполнено на контроллере DCB.

Обновленный атрибут тиражируется на контроллер DCA, номер USN которого к этому моменту равен 3517. Метаданные объекта записы ваются на этом контроллере так:

UsnCreated: 1534 UsnChanged: Исходное Исходный Исходный USN Атрибут Значение Версия время DSA USN Иван Петров 1534 22:34. 1 DCA СП givenname 22:34. Иван DCA 1534 userPassword 09:30. 3518 2 DCB Как видите, меняется атрибут объекта usnChanged и USN. Так выпол няется реплицированное обновление.

Демпфирование распространения изменений В реальной сети между контроллерами доменов может быть несколь ко путей, по которым выполняется репликация. Это в свою очередь может привести к тому, что одни и те же изменения придут на кон троллер домена дважды, а то и трижды. Кроме того, из нашего при мера можно сделать вывод о том, что, получив реплику от партнера по репликации, контроллер домена оповестит его о том, что у него произошло изменение, и предложит те данные, которые только что он от него же и получил. Словом, может возникнуть положительная обратная связь, которая породит бесконечный цикл репликаций. Ну, уж коли мы использовали термин из радиотехники (я имею в виду положительную обратную связь — ПОС), то очевидно, что оттуда же можно позаимствовать название термина борьбы с ПОС — демпфи рование. Демпфирование затрудняет развитие обратной связи. Зна чит, и в процессе репликации нужны механизмы, которые бы не про сто затрудняли развитие паразитных репликаций, но препятствова ли их возникновению. К таким механизмам относятся «верхняя ватер линия» (high watermark) и «вектор обновленное™» (up-to-dateness vector).

Термин «ватерлиния» пришел из мореплавания. Верхняя ватерлиния обозначает предел осадки корабля. В репликации же это число, кото рое на контроллере-приемнике соответствует изменениям объекта, полученным последними с контроля ера-источника. С другой сторо ны, это число используется контроллером-источником для фильтра ции объектов, предлагаемых партнерам по репликации.

Репликация Active Directory Как я уже говорил, у каждого контроллера домена есть свой USN, от слеживающий число изменений на контроллере. Также каждый кон троллер хранит таблицу с записями известных ему максимальных значений USN партнеров по репликации. Эта таблица называется век тором ватерлинии. Когда партнер запрашивает изменения, он посы лает на контроллер-источник известное ему значение верхней ватер линии для этого контроллера. Контроллер-источник анализирует полученное значение и реплицирует только те объекты, у которых значение атрибута usnChanged больше полученного значения верх ней ватерлинии, так как только они еще не были им посланы партне ру. Партнер, получив обновления, изменяет значение верхней ватер линии для данного партнера. Тем самым сокращается объем репли кации.

Дополнительно к верхней ватерлинии на контроллерах домена хра нится и постоянно обновляется еще одна таблица. Она содержит GUID контроллеров домена, выполняющих оригинальное обновление, и их номера USN. Эта таблица называется вектором обновленное™ и за висит от контекста имен. В Active Directory она записана как атрибут replUpToDateVector контекста имен. Когда контроллер домена запра шивает изменения для раздела каталога, он передает свой вектор об новленности на запрашиваемый контроллер. Тот. основываясь на этом значении, определяет, актуальны ли значения атрибута на запросившем контроллере, и, если нет, отсылает новое значение. Если же значение актуально, то для этого атрибута не выполняется пересылка данных.

Верхняя ватерлиния и вектор обновленносги являются взаимодопол няющими. В то время как верхняя ватерлиния не позволяет контрол леру-источнику' рассматривать неподходящие объекты применитель но к одному партнеру, вектор обновленности помогает источнику" отфильтровывать неподходящие атрибуты на основе взаимоотноше ний между всеми источниками исходных обновлений и одним парт нером. Для одного раздела Active Directory контроллер домена отсле живает верхнюю ватерлинию только тех контроллеров, с которых он запрашивает изменения, а вектор обновленности — для всех контрол леров, на которых хоть раз выполнялось исходное обновление, т. е.

практически всех контроллеров, хранящих полную реплику данного раздела.

Рассмотрим пример. Пусть в домене четыре контроллера DC1-DC4.

Будем считать, что исходные обновления к данному моменту выпол нялись только на контроллерах DC1 и DC2 и, может быть, на контрол лере DC4.

Active Directory: подход профессионала DC USN DCS USN Пример выполнения репликации Пусть USN для казкдого из контроллеров равны DC1 — 4711, DC2 2052. DC3 — 1217. DC4 — 3388. Тогда вектор обновленности и верх нюю ватерлинию на контроллере DC4 можно записать как:

Вектор обновленности DC4 Верхняя ватерлиния DC GUID Максимальный Максимальный GUID контроллера номер исходного USN контроллера известный USN DC1 DC1 2050 DC 2 DC Пусть на контроллере домена DC2 добавили нового пользователя. Его USN увеличится на 1 и станет равным 2053.

После этого контроллер DC2 оповестит своего партнера по реплика ции DC1 об изменении. Тот, сравнив последний известный ему USN для контроллера DC 1, поймет, что нужно получить изменения, полу чит их и увеличит свой USN на 1, т. е. станет равным 4712. При этом, как мы уже знаем, на контроллере DC1 для этого объекта будет записа но, что его исходное обноатение было выполнено на контроллере DC2.

Далее DC1 оповестит DC4 о происшедшем изменении. В ответ на это DC4 пошлет запрос GetChange. который будет включать следующую информацию.

ф Контекст имен, для которого запрашиваются изменения (NC).

• Если на DC4 хранится неполная реплика этого контекста имен (т. е.

это ГК и контроллер другого домена), то список тех атрибутов, Репликация Actjvejireclofy которые на нем хранятся для данного контекста. Будем считать, что DC4 хранит полную реплику.

• Максимальный известный номер USN, связанный с контроллером DC1 и с этим контекстом имен. (В рассматриваемом случае — 4711.) ф Максимальное число измененных объектов, которое может запро сить контроллер, ф Максимальное число атрибутов, которое может запросить кон троллер, + Вектор обновленности.

• Логическую переменную, указывающую на необходимость пере сылки объекта родительского по отношению к запрошенному.

В ответ на запрос DC1 пошлет на DC4 запрашиваемые данные, изме ненный номер USN для последнего объекта, а также флаг, указываю щий, все ли данные были переданы или есть еще. Если есть другие данные, посылается дополнительный вектор обновленности. В итоге репликации вектор обновленности и верхнюю ватерлинию на кон троллере DC4 можно записать так:

Вектор обновленности DC4 Верхняя ватерлинии DC GU1D Максимальный GUID Максимальный контроллера номер исходного USN контроллера известный USN DC1 4711 DC1 DC2 DC3 Когда пользователь был добавлен на контроллере DC2, то, помимо DC1, был также оповещен и второй партнер по репликации — кон троллер DC3. Аналогично тому, как это было для DC1, его USN после репликации изменится на 1218.

Контроллер DC3 оповестит DC4 об изменении, и последний запро сит его, послав свой вектор обновленности. Так как в векторе обнов ленности для источника изменений (т. е. DC2) уже записано актуаль ное значение (2053), то DC3 не станет посылать данные, а ограничится лишь номером USN последнего измененного объекта и вектором обновленности. После завершения репликации вектор обновленнос ти и верхняя ватерлиния на контроллере DC4 будут выглядеть так:

Вектор обновленности DC4 Верхняя ватерлиния DC GUID Максимальный GUID Максимальный контроллера номер исходного USN контроллера известный USN DC1 4711 DC1 DC2 2053 DC Active Directory;

подход профессионала Поскольку изменений на контроллере DC4 не произошло, он не бу дет оповещать партнеров (DC1 и DC3), а значит, репликация завер шится. Если бы не использовались механизмы демпфирования, про цесс репликации пошел бы на второй крут, но в обратном направ лении.

Разрешение конфликтов Я уже показывал, как разрешать конфликты, сравнивая версии атри бутов. Однако в каталоге LDAP с несколькими мастерами могут воз никать у другие конфликты. Вот они.

Возможные конфликты в Active Directory и способы 'их разрешения Конфликт Способ разрешения Описание На одном контроллере Атрибут с наибольшим Значение атрибута домена операция Modify значением штампа изменяет значение атри- побеждает бута. Одновременно на другом контроллере атрибуту присваивается иное значение Выполнение опе- Операциями Add или Объект Р удаляется.

раций Add или Move Move объект С делается Объект С переносится дочерним по отноше под удаленным в контейнер LostAndFound нию к объекту Р. Одно родительским объектом, удаление временно на другом непустого контроллере объект Р контейнера удаляется Конфликт Операции Add или Move Для объекта, чье относи равноправных служат для создания у тельное отличительное имен объекта Р дочернего имя имеет меньшую вели объекта С1 с относитель- чину штампа, создается ным отличительным новое уникальное имя по именем R. Одновременно такому правилу: если до на друтом контроллере разрешения конфликта rdn у объекта Р создается объекта было ABC, то пос дочерний объект С2 ле разрешения оно станет с таким же именем ABC'CNF:, где CNF — константа, обозначаю щая разрешение конфлик та, a GUID — значение GUID объекта Таким образом, все потенциальные конфликты имеют свой механизм разрешения.

Топология репликации В Active Directory под топологией репликации понимается набор со единений, используемых контроллерами доменов для синхронизации Репликация Active Directory общих разделов каталога в масштабах леса. Заправляет процессом создания топологии репликации процесс Knowledge Consistency Chec ker (КСС). В дословном переводе это значит нечто вроде «проверяю щий однородность знаний». О каких знаниях идет речь? Этот процесс выполняется каждые 15 минут и, проверяя доступность контроллеров доменов, создает связи между ними для тиражирования данных. Та ким образом, речь идет о знаниях, известных каждому контроллеру.

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

Репликация призвана синхронизировать информацию в Active Direc tory в масштабах всего леса. Однако, как мы только что видели, фак тически в каждый конкретный момент времени она выполняется толь ко между двумя контроллерами. Решение о том, с каким контролле ром установить связь для выполнения тиражирования данных, при нимается на основе целого ряда факторов, таких как разделы катало га, хранимые на разных контроллерах, полнота этих разделов, при надлежность к сайту и др. Так, все контроллеры одного домена долж ны быть способны синхронизировать полную реплику своего разде ла каталога. С другой стороны, все контроллеры в лесу обязаны син хронизировать контексты имен схемы и конфигурации. Топология репликации схемы и конфигурации отличается от топологии домен ной репликации, однако в простых случаях они совпадают.

Если рассмотреть все возможные топологии репликации Active Direc tory, то получим:

• репликация конфигурации и схемы внутри сайта;

• репликация каждого из разделов каталога внутри сайта;

+ репликация разделов ГК внутри сайта;

+ репликация конфигурации и схемы между сайтами;

• репликация каждого из разделов каталога между сайтами;

ф репликация разделов ГК между сайтами.

Ряд объектов Active Directory составляет основу топологии реплика ции. Здесь я их только перечислю — подробности см. в главе «Проек тируем Active Directory».

Во-первых, это сайты и контроллеры доменов в них. Сайты — это участки сети с высокой пропускной способностью. Каждый сайт опре деляется минимум одной подсетью. Сведения о подсетях в сайте ис пользуются для поиска контроллеров домена. Контроллеры домена — партнеры по репликации представляются контейнерными объектами, содержащими специальный объект NTDS Settings, который хранит информацию о входящих соединениях.

194 Active Directory: подход профессионала Входящие соединения определяют направление репликации и представ ляют собой следующую категорию объектов репликации. Соединения являются однонаправленными от одного контроллера к другому. КСС пытается, там где это возможно, использовать одни и те же соедине ния повторно, удаляет ненужные соединения или создает новые.

Чтобы соединения между сайтами стали возможны, нужны связи, ина че КСС не сможет создать соединения, а значит, не будет и реплика ции. По умолчанию создается только первая связь, которую и исполь зует КСС, но ее может быть недостаточно. Для каждой связи существует расписание, определяющее сроки выполнения репликации.

Связи не должны быть беспорядочными. Если внутри сайта практи чески не важно, между какими партнерами выполняется репликация, то связи между сайтами должны иметь четкий характер. С этой це лью КСС выбирает контроллер, через который будут осуществляться взаимоотношения с другими сайтами. Этот контроллер называется сервером-форпостом. Форпосты следят за тем. чтобы репликация между партнерами шла в основном внутри сайта, а внешние связи выполнялись по графику'.

Можно довериться выбору КСС и не вмешиваться в процесс назначе ния форпоста. Но КСС может ошибаться и назначать далеко не луч шего кандидата на роль форпоста. Дабы предупредить такие ошибки, можно вручную назначать выделенные серверы-форпосты (см. главу '•Проектируем Active Directory»).

Ну и, наконец, остается сегпевой протокол, по которому тиражируются данные при репликации. Протокол выбирается на основании того, сколь надежна связь между сайтами и что надо реплицировать. Если это качественный канал, доступность которого не вызывает сомнений, оптимальным протоколом является IP. Если же канал ненадежен, боль шую часть времени бывает недоступен или перегружен, то использу ется SMTP. Но об этом мы поговорим ниже.

Какой транспорт предпочесть?

Как вы уже знаете, в Windows 2000 два транспорта репликации. Это RPC поверх IP и SMTP. Первый служит для внутри с айтовой реплика ции и для синхронной межсайтовой, второй — для асинхронной межсайтовой. При этом надо придерживаться следующих правил.

• Репликация внутри сайта осуществляется всегда только посред ством RPC поверх IP. Топология репликации — кольцо. Сжатие данных не используется.

ф Репликаций между сайтами может использовать как RPC поверх IP, так и SMTP. Топология репликации — дерево. При передаче исполь зуется сжатие данных.

Репликация Active Directory + Репликация по SMTP поддерживается только между контроллера ми из разных доменов. Контроллеры одного домена должны ис пользовать RFC поверх IP независимо от качества канала. Следо вательно, SMTP может применяться только для репликации разде ла схемы, конфигурации и ГК.

Свойства внутрисайтовой и межсайтовой репликации таковы:

Сравнение свойств внутри- и межсайтовой репликаций Внутрисайтовая репликация Межсайтовая репликация Транспорт RPC поверх IP RPC поверх IP или SMTP Топология кольцо дерево зависит от чистоты зависит от доступности Расписание оповещений канала Уведомление и запрос Модель Запрос по расписанию репликации или хранение и передача Сжатие 'нет да Синхронная и асинхронная передача Синхронная репликация Active Directory предполагает, что контрол лер домена, запрашивая изменения у партнера по репликации, ожи дает, пока запрашиваемый контроллер обработает запрос, составит и перешлет ответ. В период ожидания новые запросы не выполняются, т. е. в любой момент времени контроллер домена занят только одним запросом. Если у него 10 партнеров по репликации, он будет опра шивать их по очереди.

Если репликация асинхронная, то контроллер, послав запрос, не ждет ответа. Он может послать запрос следующему партнеру. Главное от личие асинхронной репликации в том, что время ответа на запрос неизвестно, в то время как при синхронной репликации гарантиро ван максимальный интервал ожидания.

Внутрисайтовый транспорт Как я уже говорил, внутриеайтовый транспорт — это RPC поверх IP.

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

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

Удаленный вызов процедур RPC использует динамическое назначение портов TCP. Обращаясь к Active Directory, клиент подключается по RPC к хорошо известному порту — 135. Сервер запрашивает у локатора 196 Active Directory: подход профессионала RFC порт, назначенный в данный момент для репликации Active Directory. По умолчанию этот порт назначается динамически при стар те Active Directory и может быть любым среди портов с высокими номерами. (Поэтому в главе, посвященной планированию Active Direc tory, я сказал, что для обеспечения репликации через межсетевой эк ран надо открывать много портов.) Номер порта можно зафиксировать. Для этого надо в ветви реестра HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters изменить параметр TCP/IP Port. Значение может быть любым, кроме зарезер вированных за другими службами.

Особенности транспорта SMTP Говоря о межсайтовом транспорте, обычно подразумевают RPC, a SMTP предпочитают не применять. Во-первых, это часто связано с тем, что в сайтах располагаются контроллеры из одного домена, что автома тически исключает использование SMTP Во-вторых, асинхронная природа SMTP не позволяет гарантированно тиражировать измене ния в течение заданного интервала. Если в удаленном сайте есть ГК, изменения до него могут доходить с большим опозданием, что при неудачном стечении обстоятельств может воспрепятствовать досту пу пользователей к ресурсам или, наоборот, предоставить его в тот момент, когда он уже отобран.

Асинхронность SMTP приводит к тому, что расписание доступности канала, устанавливаемое для связи, полностью игнорируется. Что бы „вы ни указали, это не будет иметь никакого значения. Можно указать лишь частоту обращения к партнеру удаленного сервера.

В то же время и RPC, и SMTP имеют некоторые общие характеристи ки, используемые при репликации:

• для передачи данных между сайтами посредством обоих транспор тов используется сжатие данных;

• у Active Directory существует максимальное число изменений, ко торые можно переслать в ответ на один запрос;

оно зависит от размера конфигурируемого пакета репликации:

• каждому партнеру по репликации для каждого раздела каталога может быть передан только один запрос изменений;

ф изменения, пересылаемые в ответ на запрос, передаются в одном или нескольких фреймах в зависимости от общего числа изменений;

• если передача части данных сорвалась, требуется повторно пере дать все данные;

• если полоса пропускания мала, то для настройки используются одни и те же параметры TCP.

Репликаций Active Directory 1_ Помимо недостатков, SMTP имеет ряд преимуществ, делающих его порой незаменимым.

• Асинхронность. Помните, мы это свойство записали в недостат ки? Но представьте себе жуткий канал, по которому тиражируют ся данные. При синхронной репликации процесс может затянуть ся, так как из-за постоянных тайм-аутов транзакции буду!1 незавер шенными, и, следовательно, потребуется выполнять многократные откаты. И пока не будет завершена одна транзакция, не начнется другая. При асинхронной репликации транзакции растянуты, и не нужно ждать завершения одной, прежде чем инициировать следу ющую. Поэтому на плохих линиях SMTP как транспорт реплика ции имеет преимущество.

• Трафиком SMTP можно управлять, выполнять мониторинг и защиту.

• Там, где нет трафика по протоколу IP, репликация может выпол няться по SMTP. Это могут быть, например, участки, базирующие ся на Х.400.

Управление пакетом репликации Если на контроллере установлено от 100 до 1 000 Мб ОЗУ, размер пакетов репликации равен 0,01 от объема ОЗУ. С другой стороны, размер пакетов в объектах равен 1/1 000 000 от объема ОЗУ (т. е. от 100 до 1 000 объектов). Одно исключение: размер пакета для асинх ронной межсайтовой репликации не превышает 1 Мб. Это связано с тем, что на многих почтовых системах стоит ограничение на макси мальный размер передаваемых сообщений.

Эти значения по умолчанию можно изменить, определив параметры в ветви реестра HKLM\System\CurrentControlSet\Semces\NTDS\Para meters. По умолчанию этих параметров в реестре нет.

Параметры реестра, ответственные за размер пакетов при репликации Параметр Назначение Допустимая величина Для репликации RFC Replicator inira site от внутри сайта packet size (objects) Replicator into site Для репликации RPC от 10 ко внутри сайта packet size (bytes) Replicator inter site Для репликации RPC от между сайтами packet size (objects) Для репликации RPC Replicator inter site от 10 кб между сайтами packet size (bytes) Replicator async inter site Д'ш репликации SMTP от между сайтами packet size (objects) Для репликации SMTP от 10 кб Replicator async inter site между сайтами packet size (bytes) 1_98 Active Directory: подход профессионала \ Автоматическая генерация топологии Рассмотрим генерацию внутрисайтовой топологии, выполняемую КСС. Мы пойдем от простого к сложному.

Простейший случай — один контроллер домена: репликация при этом не нужна, а значит, нет и топологии репликации.

Добавим второй контроллер. Естественно, между контроллерами уста новятся две связи: для репликации от А к Б и наоборот. Причем обе будут использоваться для репликации как доменного контекста имен, так и схемы и конфигурации.

При добавлении третьего контроллера домена образуется простейшее кольцо. Каждый из контроллеров связан с двумя другими четырьмя связями — по две связи на соединение.

Простая топология для одного контекста имен Как только добавляется четвертый контроллер домена, между ним и двумя ближайшими контроллерами устанавливается соединение, как показано на рисунке. Налицо очевидная избыточность связей для контроллеров DC2 и DC3- Они, конечно могут продолжать реплика цию напрямую, но есть и еще два пути: через контроллеры DC1 и DC2.

Поскольку КСС стремится создать кольцо, то избыточные связи меж ду DC2 и DC3 будут удалены.

Замечание В ряде случаев КСС не удаляет избыточные связи. Их можно удалить вручную.

Как же определить, какой из контроллеров домена является ближай шим соседом? Ведь внутри сайта все соединения имеют одинаково высокую пропускную способность, а других факторов будто нет. КСС считает, что, коль естественной разницы между контроллерами нет, надо ввести искусственную и использует номера GUID контроллеров.

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

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

Примечание Критерий внутрисайтовой репликации определяется так: между любыми двумя контроллерами одного домена в сайте дол жно быть не более 3 «прыжков» (hops) репликации.

Репликация Active Directory Топология репликации: если контроллеров домена всего три, то каждый связан с двумя другими. При добавлении четвертого контроллера он устана&ъивает связи с двумя контроллерами, непосредственные связи между которыми становятся лишними Длительность прыжка — 5 минут (по истечении этого времени кон троллер уведомляет партнера об изменении) — гарантирует, что вре мя полной репликации внутри сайта не превышает 15 минут.

Если продолжить наращивание числа контроллеров в домене, то то пология в виде кольца удовлетворяет критерию только при числе контроллеров не более 7. Стоит добавить восьмой контроллер, как мы сразу переходим к усложненной схеме генерации топологии. Каждый КСС создает произвольное дополнительное число связей с другими контроллерами. Изначально это число может быть любым, но не мень ше такого, чтобы удовлетворялся критерий репликации. Например, на рисунке изображен случай 8 контроллеров. Рассмотрим процесс ге нерации топологии во времени.

Допустим, первым начал работать КСС на контроллере DC1. Проана лизировав число контроллеров, он вычислил, что для репликации изменений с DC1 на самый дальний от него контроллер DC5 по коль цевой схеме понадобится 4 прыжка. Поэтому, кроме соединений 200 Active Directory: подход профессионала с ближайшими соседями, он создаст прямое соединение с DC5. Этот контроллер в свою очередь также создаст три соединения: два с бли жайшими соседями и одно с DC1.

а УС не более Основное правило при генерации топологии репликации 3 «прыжков» между любым из контроллеров домена Далее предположим, что КОС запустится на DC3- Он также вычислит, что нужно создать соединение с самым далеким от него DC7. Тот ответит на это созданием встречного соединения и пары соединений с соседями.

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

В реальности совершенно не обязательно, что будет сформирована именно такая топология. Выше мы предположили, что КСС запускает ся на контроллерах домена в такой последовательности: DC1 — DC5 — DC3 — DC7 - DC2 — DC4 - DC6 — DCS. Если же предположить, что КСС на контроллере DC2 запустится сразу после DC5, а потом запус тится КСС на DC7, то топология будет совершенно иной, и главное, связи «туда* и «обратно* не будут созданы между одними и теми же парами контроллеров. Но результат все равно будет тот же, т, е. пол ное соответствие критерию репликации.

Топология для нескольких контекстов имен Что ж, усложним задачу. Пусть внутри сайта расположен не один, а два домена, т. е. кроме репликации общих контекстов схемы и кон Репликация Active Directory фигурации, должна выполняться раздельная репликация каждого из доменных контекстов имен.

Сначала разберемся в топологии репликации схемы и конфигурации.

Не трудно догадаться, что поскольку это один контекст имен, то фор мирование топологии для него будет выполняться по тем же прави лам, что и для одного домена в сайте. В частном случае с 8 контрол лерами получим ту же топологию, что и на предыдущем рисунке.

Замечание Дальше будем считать, что в сайте нет серверов ГК.

Пусть в сайт с одним доменом добавили еще один домен, установив первый контроллер. Так как база Active Directory на этом контролле ре хранит раздел того домена, для которого в сайте нет других кон троллеров, то это будет равносильно единственному контроллеру в сайте, а значит, отсутствие репликации. Но не следует забывать, что раздел схемы и конфигурации должен тиражироваться на новый кон троллер, а значит, он будет включен в общее кольцо для этого кон текста.

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

DCB DCB4 DCB Репликация каждого контекста имен выполняется по своему колы$> Пока общее число контроллеров в двух доменах в сайте не превысит 7, топология репликации будет состоять из 3 колец: по одному для каж дого доменного контекста и одного для схемы и конфигурации.

202 Active Directory: подход профессионала С ростом числа доменов топология будет усложняться. Но в любом случае будет соблюдаться соответствие критерию репликации.

КСС и его возможности Вся эта интеллектуальная работа по генерации внутрисайтовой топо логии выполняется КСС. Как мы уже знаем, КСС — это процесс, вы полняемый на каждом контроллере домена. КСС не стартует сразу после запуска компьютера. Сначала он ждет некоторое время, назы ваемое задержкой запуска топологии. По умолчанию — 5 минут.

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

Замечание Указанные интервалы устанавливаются по умолчанию.

Их можно изменить в ветви реестра HKLM\SYSTEM\CurrentControl Set\Services\NTDS\Pararneters. На время начальной задержки влияет па раметр Repl topology update delay (sees). По умолчанию он равен секундам. Если у вас не очень быстрый компьютер, а служба DNS ус тановлена на нем же, это значение стоит увеличить до 500 секунд.

Интервал времени между последовательными запусками КСС опре деляет параметр Repl topology update period (sees), по умолчанию — 900 секунд.

Что же конкретно выполняет КСС? У него две задачи.

1. Основываясь на сетевой топологии, описываемой объектами Active Directory, создает объекты связи, используемые для репликации:

• для источников внутри сайта — входящей по отношению к контроллеру домена, на котором выполняется КСС;

• для источников в других сайтах — входящей по отношению к тому сайту, в котором выполняется КСС;

при этом контроллер, на' котором он работает, должен быть выбран генератором межсайтовой топологии.

2. Преобразует объекты связи Active Directory, созданные как КСС, так и администратором, в конфигурацию, понятную для механизма репликации.

Этот процесс не имеет интерфейса с пользователем в привычном понимании. Нет ни утилиты командной строки, ни графической кон соли, позволяющих задавать параметры работы или управлять запус ком/остановкой процесса. Все сведения о работе КСС можно почерп нуть из журнала регистрации. Степень подробности зависит от пара метра «Knowledge Consistency Checker* в ветви реестра HKLM\SYS TEM\CurrentControISet\Services\NTDS\Diagnostics. Если он равен 3 и выше, в журнал будет заноситься максимум информации, однако к такому радикальному методу стоит прибегать только в крайних слу Репликация Active Directory чаях и на непродолжительное время, так как производительность кон троллера домена очень сильно снижается.

Работой КСС можно управлять следующими инструментами.

• Редактор реестра служит для определения параметров КСС на одном отдельно взятом контроллере домена.

• Оснастка Active Directory Sites and Services позволяет контро лировать и корректировать топологию репликации.

• ADSIEdlt или Ldp служат для изменения атрибутов объекта CN=NTDS Site Settings,CN=,CN=Sites,CN=Configura 1юп,<имя лесаХ Позволяют изменять работу всех КСС в сайте.

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

Вот простейшие примеры использования этих инструментов. Пусть, редактируя топологию репликации, вы случайно лишили, один из сайтон всех объектов связи. Это, естественно, приведет к прекраще нию тиражирования данных между этим сайтом и другими. Устано вив через реестр уровень диагностики работы КСС равным 3- вы об наружите в журнале регистрации сообщение об ошибке 1311- В со ответствии с этим сообщением об ошибке вы откроете Active Directory Sites and Sen-ices и выполните корректировку Второй пример. Вам может понадобиться остановить КСС на всех контроллерах домена, например, при оптимизации ннутрисайтовой топологии в больших сетях. Для этого вы открываете, скажем, ADSIEdit, находите объект CN=NTDS Site Settings,CN=,CN=Sites, CN=Configuration, и измените значение атрибута options.

Если ему задать 1. автоматическая генерация внутрисайтовой топо логии остановится.

Генератор межсайтовой топологии Среди задач, выполняемых КСС, особенно интересна генерация объек тов связи для межсайтовой репликации. Рассмотрим ее подробнее, Внутри сайта есть один контроллер домена на котором КСС выпол няет, помимо обычных, и дополнительные обязанности. Он анализи рует доступность партнеров по репликации из других сайтов для сер веров-форпостов. При этом сам он может и не быть форпостом (ско рее всего так и будет). Такой сервер принято называть генератором межсайтовой топологии ISTG. Обнаружив необходимость создания нового объекта связи. ISTG изменяет Active Directors' на своем локаль ном контроллере домена. Это изменение тиражируется с помощью обычного механизма внутрисайтовой репликации на все контролле ры домена в том числе и на серверы-форпосты. Процессы КСС, кото рые работают на форпостах, анализируют пришедшее изменение и 204 Active Directory: подход профессионала преобразуют объекты связи н соединения, используемые для репли кации из удаленных сайтов.

1STG также периодически записынает в Active Directory атрибут, ука зывающий на то, что именно он является генератором межсайтовой топологии для данного сайта.

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

По умолчанию такая запись выполняется каждые 30 минут. Вы може те задать иную величину интервала в параметре КСС site generator renewal interval (minutes) в ветви реестра HKLM\SYSTEM\Current ControlSet\Services\NTDS\Parametcrs. Эта информация тиражируется на все остальные контроллеры домена в сайте. КСС, исполняемые на них, проверяют, когда была выполнена последняя запись указанного атрибута. Если в течение последнего часа такая запись не была вы nojii (ена, выбирается новый сервер ISTG. Срок, в течение которого дол жно произойти обнонление атрибута принадлежности к ISTG, зада ется параметром КСС site generator fail-over (minutes) в той же ветви реестра.' Генератором межсайтовой топологии по умолчанию является самый первый контроллер домена л сайте. Если он вовремя не изменит ат рибут в Active Directory, на его место будет выбран тот контроллер, чей номер GUID будет следующим в порядке возрастания. При воз никновении этого события повторно произойдет выбор контролле ра по тому же принципу. При этом самый первый контроллер будет находиться в конце очереди.

Узнать, какой контроллер домена в сайте является генератором меж сайтовой топологии, позволяет значение атрибута interSiteTopology Generator у объекта CN=NTDS Site Settings,CN=,CN=Sites, CN=Configura[ion.

Что произойдет, если ныборы нового ISTG состоялись, а прежний еще жив? В этом случае временно могут существовать соединения, создан ные этими двумя компьютерами. Но стоит репликации в сайте завер шиться, «старый» генератор прекратит свою деятельность, а создан ные им соединения будут удалены.

Теперь вернемся к рассмотренной выше ситуации, при которой тре буется остановить работу' ISTG. Как об этом написано в главе «Проек тирование Active Director^'», КСС имеет ограничение, выражаемое формулой:

Репликация Active Directory (1+D)*S"2 <= где D — число доменов, a S — число сайтов.

При большом числе сайтов КСС должен быть остановлен. Для этого надо изменить у объекта CN=NTDS Site Settings,CN=, CN=Sites,CN=Configuration, значение атрибута options. До пустимые значения;

• 0 — по умолчанию;

КСС и ISTG работают в нормальном режиме;

• 1 — генерация топологии внутрисайтовой репликации остановлена;

4 16 — генерация топологии межсайтовой репликации остановлена;

• 17 - КСС и ISTG остановлены.

На практике оказывается неразумно останавливать КСС и генератор топологии межсайтовой репликации. При этом бремя отслеживания соединений и объектов связи ляжет на администратора. Он должен просчитывать оптимальную топологию и заботиться о ее поддержа нии. Альтернативой является временное включение/отключение КСС в периоды незначительной загрузки сети. При включении КСС про верит топологию внутри сайта и между сайтами и, если надо, обно вит их. Затем его можно выключить до следующего раза. Нагрузка, ко торая при этом ляжет на контроллеры доменов, не скажется на пользо вателях, так как эту работу лучше выполнять во внерабочее время.

Управление работой КСС одновременно в нескольких сайтах облег чают сценарии. Следующий сценарий на VBScript позволяет останав ливать/возобновлять автоматическую генерацию топологии реплика ции сразу во всех сайтах. Не составит никакого труда упростить его и использовать для тех же целей, но внутри одного сайта.

Сценарий остановки и запуска КСС On Error Resume Next 'прием параметров командной строки Set Args = WScript.Arguments If Args.Count=0 then Wscript.Qutt If lcase(Args(0))="/enable" Or lcase(Args(0))="/disable" then Call ConflgureKCCO end if Public Sub HeportError () 'сообщить об ошибке «script.Echo "Произошла ошибка: (" + cstr(hex(err.number)) +_ ") " + cstr(err.description) End Sub Public Sub ConflgureKCC () сн. след. стр.

206 Active Directory: подход профессионала On Error Resume Next 'узнать имя локального компьютера wscript.echo "Подключение к компьютеру..."

set localMachine=GetObject("LDAP://localhost/rootdse") if err.number <> 0 then ReportErrorWscript.Quit ServerName=localmachine.get("dnsHostName") if err.number <> 0 then ReportErroriWScript.Quit wscript.echo "Обнаружен локальный компьютер " + ucase(ServerName) 'получить конфигурацию контекста имен configNC=localMachine.get("configurationNamingContext") if err.number о 0 then ReportErrorWscript.Quit wscript.echo "Контекст имен конфигурации: " + configNC 'подключиться к контейнеру Sites Set ObJSites = GetObject("LDAP://" & ServerName & "/CN=Sites," & configNC) objSites.filter = array("Site") For each obj in ObJSites wscript.echo "Имя сайта: " + obj.CN Set SiteSettings = Obj.GetObjectC'nTDSSiteSettings", "CN=NTDS Site Settings") 'извлечь значение атрибута options origOptions=SiteSettings.Get("options") if hex(err.number) = "8000500D" then origOptions= elseif err.njmber=0 then 'ничего не надо else ReportErronWscript.Quit end if modOptions=origOptions 'выяснить, что делать с КСС if lcase(Args(0))="/disable" then 'запретить КСС, если он разрешен, или оставить как есть if modOPtions And 16 then wscript.echo " Автоматическая генерация топологии запрещена.

Изменений не вносится."

else mod20ptions=modOptions Or wscript.echo " Автоматическая генерация топологии разрешена. Запрещаем."

см. след. стр.

Репликация Active Directory SiteSettings.Put "options", mod20ptions SiteSettings.Setlnfo if err.number <> 0 then 'если значения еще нет, то все нормально if hex(err.number) = "8000500D" then 'записываем значение else ReportError «script.echo "Ошибка изменения значения атрибута options."

«script.echo "Проверьте правильность текущего значения."

wscript.echo "Выполнение прервано."

Wscript.Quit end if end if end if else 'если автоматическая генерация запрещена, то разрешить, Иначе оставить неизменным, if modOPtions And 16 then wscript.echo " Автоматическая генерация топологии запрещена.

Разрешаем."

mod2Qptions=modO,ptions XOr SiteSettings.Put "options", mod20ptions SiteSettings.Setlnfo if err.number <> 0 then 'если значения еще нет, то все нормально if hex(err.number) = "8000500D" then 'записываем значение в любом случае else ReportError wscript.echo " Ошибка изменения значения атрибута options."

wscript.echo " Проверьте правильность текущего значения."

wscript.echo " Выполнение прервано."

Wscript.Quit end if end if else wscript.echo " Автоматическая генерация топологии разрешена.

Изменений не вносится."

end if end if Next End Sub 8- 208 Active Directory: подход профессионала Для запуска сценария скопируйте текст в файл с расширением VBS и в командной строке введите:

cscript <имя файлахVBS /аргумент где аргумент — enable для разрешения автоматической генерации топологии, a disable — для ее запрещения.

Вот результат работы сценария (не забудьте, что вы должны обладать достаточными административными полномочиями в рамках леса):

Пример работы сценария: разрешение автоматической генерации топологии Репликация глобальных каталогов Серверы ГК, как известно, отличаются от остальных контроллеров домена тем, что, помимо полной реплики того пространства имен, которому принадлежит контроллер, а также реплик конфигурации и схемы, они хранят усеченные версии реплик остальных разделов Active Directory. Необходимость хранения того или иного атрибута в ГК определяет атрибут isMemberOfPartialAttributeSet. Если его значе ние изменяется (с true на false или наоборот), то в течение следую щего цикла репликации он или включается в частичную реплию.', или изымается из нее.

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

Партнером по репликации ГК могут выступать как обычные контрол леры доменок, так и другие серверы ГК. Допустим, в сайте А находят ся два домена mycorp.ru и msk.mycorp.ru, а в сайте Б — домен spb.my corp.ru. Сначала будем считать, что в каждом сайте — по одному сер веру ГК. Для ясности расположим ГК в сайте А на контроллере доме на mycorp.ru. Тогда полную реплику контекста mycorp.ru он будет получать от партнеров по репликации в домене mycorp.ru, частичную реплику msk.mycorp.ru — от одного из контроллеров домена msk.my corp.ru, с которым будет установлена связь репликации, а частичную реплику spb.mycorp.ru — с сервера форпоста в сайте Б.

Репликаций Active Directory Репликация Глобальных каталогов Специально для этого будет установлена новая связь репликации, либо будет использована имеющаяся связь репликации схемы и конфигу рации. Многое в этом процессе зависит от того, является ли сервер форпост в сайте А выделенным. Если да, то скорее всего для реплика ции ГК будут задействованы связи репликации схемы и конфигура ции;

нет — сервер ГК в сайте А будет назначен форпостом, и будет использована новая прямая связь.

Теперь добавим в сайт А еще один сервер ГК. Столь незначительное изменение приведет к тому, что одному из этих серверов ГК не пона добится создавать связь репликации с форпостом в сайте Б. Он мо жет получить всю нужную информацию от своего партнера, А вот тому уже придется действовать так, как описано выше.

А что, если все контроллеры домена в лесу являются также и сервера ми ГК? Очевидно, для репликации будут задействованы связи, создан ные для репликации схемы и конфигурации. Таким образом, нагруз ка на КСС при этом снижается, но трафик репликации растет.

Репликация критических событий Все изменения тиражируются между контроллерами доменов не сра зу, а на основе оповещений или по расписанию. По умолчанию пол ное время репликации внутри сайта — около 15 минут, а между сай тами определяется расписанием и числом сайтов, связанных с сайтом источником, и также составляет не менее 15 минут. В то же время существуют события в Active Directory, информация о которых долж на тиражироваться сразу на все контроллеры домена. Перечень этих событий зависит от типа взаимодействующих контроллеров. Это может быть взаимодействие между контроллерами Windows 2000 и между контроллером Windows NT 4.0 и контроллером Windows 2000.

210 Active Directory: подход профессионала Критические события репликации Windows 2000 <-> Windows 2000 Windows 2000 <-> Windows NT 4. Репликация вновь заблокированных Репликация вновь заблокирован учетных записки ных учетных записей Изменение секрета LSA (особенно Изменение секрета LSA (особенно доверительной составляющей доверительной составляющей учетных записей компьютеров) учетных записей компьютеров) Изменение состояния RID-мастера Изменение пароля доверительных отношений между доменами Внутри одного сайта оповещения о таких изменениях тиражируются между контроллерами, а вот что касается нескольких сайтов, то тут все гораздо хуже. По умолчанию оповещения не тиражируются по межсайтоным связям. А это значит, что в худшем случае информация, например о новом пуле относительных адресов, дойдет до удаленно го контроллера домена не ранее, чем через 15 минут, что может при вести к появлению объектов с одинаковыми ID.

ВЗШШЩЁШ Syntax Настройка трансляции оповещений между сайтами Если такие задержки в распространении критических изменений между сайтами недопустимы, можно разрешить распространение оповещений между сайтами. Для этого нужно изменить значение ат рибута options для того объекта связи между сайтами, тиражирование изменений по которому наиболее критично. Выполнить это позво ляют утилиты ADSIEdit или Ldp. Скажем, если между двумя сайта ми су Репликация Active Directory ществует объект связи DEFAULTIPSITELINK, то отличительное имя это го объекта в Active Directory запишется как C№»DEFAULTIPSITEUNK, CN=IP, CN=Inter-Site Transports, CN=Sites, CN=Configuration,. Значение атрибута options устанавливается либо в 1 (если до этого оно не было установлено), либо определяется, исходя из поби товой операции ИЛИ.

В результате данной модификации между сайтами будут передавать ся все оповещения о срочных и не очень изменениях в Active Directory так, как это было бы внутри сайта. Замечу, что трансляция изменений возможна только для связей по протоколу IP, но не по SMTP.

Замечание Не рекомендуется активизировать трансляцию измене ний по коммутируемым каналам, так как это приведет к неоправдан но завышенному времени связи.

Тиражирование паролей Не менее критичной информацией являются пароли учетных запи сей пользователей. В Windows NT изменить пароль можно было толь ко на главном контроллере домена, в Windows 2000 — на любом. Это в свою очередь порождает следующую проблему. Допустим, в сети два сайта — А и Б, и в каждом по контроллеру домена. Пусть администра тор изменил пароль на контроллере в сайте А. Некоторое нремя спу стя пользователь пытается зарегистрироваться в сети в сайте Б. Па роль передается на локальный контроллер домена, который к этому моменту времени еще ничего не знает о выполненном изменении.

Если бы не было специального механизма, доступ пользователя в сеть был бы отвергнут.

В Windows NT в такой ситуации пользователь переадресовывался на главный контроллер домена, где и проходил авторизацию. Аналогич ный механизм есть и в Windows 2000. Когда администратор изменя ет пароль на любом из контроллеров, пароль «проталкивается» на имитатор PDC, который оповещает своих партнеров по репликации об изменении, и начинается обычный цикл репликации. Пользователь, пытающийся зарегистрироваться на контроллере, до которого еще не дошла репликация, будет переадресован на имитатор PDC, где ему будет предоставлено право регистрации.

Этот механизм работает по умолчанию. Однако в случае медленных связей между сайтами он может быть другим. Для этого в ветви реес тра HKLM\SYSTEM\CurrentControlSet\Services\NetIogon\Parameters надо изменить значение параметра AvoidPDCOnWan. По умолчанию оно равно О. Если задать 1, новый пароль не будет передаваться на имитатор PDC с удаленного контроллера домена в ускоренном режи 212 Active Directory: подход профессионала ме. Вместо этого будет задействован обычный механизм репликации.

Данный режим целесообразно применять на коммутируемых линиях.

Клиент Контроллер Б Репликация изменения пароля по умолчанию Если в нашем примере предположить, что в сайте Б два контроллера домена, на одном из которых администратор изменяет пароль, на дру гом регистрируется пользователь, а имитатор РОС расположен в сай те А, то значение 1 параметра AvoidPDCOnWan в 1 приведет к тому, что:

• новый пароль не передается в ускоренном режиме на имитатор PDC;

+ пользователь не обращается к имитатору PDC, если контроллер, к которому он подключился, не может его авторизовать;

• изменение пароля будет тиражировано внутри сайта Б обычным образом.

2,-Регистрация - отказ -^ "^ г 5. Регистрация - ОК Клиент Репликация изменения пароля при значении 1 параметра AvoidPDCOnWan Замечание Хотя параметр AvoidPDCOnWan на контроллере доме на равен 1 Т контроллер обратится к имитатору PDC, если пользова тель введет неверный пароль. Эта ошибка исправлена только я SP2.

Диагностика репликации Работа репликации Active Directory зависит от:

• работоспособности контроллеров доменов;

Репликация Active Directory • пропускной способности и доступности каналов связи;

ф настройки серверов DNS-, • конфигурации топологии репликации;

• конфигурации параметров системы безопасности (пароли, дове рительные отношения, IPSec);

• знаний и умений администраторов.

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

Большая часть этих инструментов входит в состав вспомогательных средств Support tools, поставляемых на том же компакт-диске, что и система. Эти инструменты наряду со средствами Windows 2000 Resour ce Kit должны быть установлены на всех контроллерах домена, а так же на рабочих станциях, предназначенных для администрирования.

Если вы делали все правильно и следовали моим советам, проблем с репликацией не должно быть вообще. Легче всего убедиться в этом, если;

+ поискать в журналах регистрации записи об ошибках и преду преждения, относящиеся к системе репликации Active Directory;

+ запустить оснастку Active Directory Sites and Services, выбрать лю бые соединения и выполнить команду Replicate now;

сообщение об успешном завершении репликации будет свидетельством того, что выбранный сервер выполнил загрузку информации по указан ному соединению.

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

Как известно, репликация выполняется между партнерами на основа нии их GUID. Номера GUID записаны в зоне DNS _msdcs. (подробнее см. главу «Установка Active Directory»). Для контроля до ступности этой зоны и ее содержимого служит утилита Nslookup.

Основными инструментами, позволяющими контролировать тополо гию репликации и состояние партнеров по репликации являются repadmin (интерфейс командной строки) и replmon (графический интерфейс).

Комплексную информацию о состоянии контроллеров доменов и базе Active Directory предоставляет DsaStat. Он позволяет сравнить содер жимое разделов Active Directory на двух разных контроллерах или в 214 Active Directory: подход профессионала днух ГК. Удобно использовать сценарии диагностики, которые будут вызывать данные утилиты в процессе своей работы.

В диагностике репликации надо придерживаться определенной по следовательности. Во-первых, надо решить, для какого контроллера домена выполнить диагностику. Я уже говорил, что обычно реплика ция работает сразу и без проблем. Поэтому в качестве контроллера выберем тот, где возникли проблемы: сообщения об ошибках в жур нале регистрации, невозможность регистрации пользователей или что-то в этом роде.

Второе — выясните партнеров по репликации. По возможности надо оценить топологию репликации для разных контекстов имен, нали чие связи с ними, наличие межсайтовых связей (если партнеры на ходятся в других сайтах), доступность информации о партнерах в DNS.

Затем надо попытаться выполнить репликацию вручную. Для этого можно выполнить самый широкий спектр утилит и программ, начи ная со стандартной оснастки Active Director)' Sites and Services.

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

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

Выяснение списка партнеров по репликации Для выяснения списка партнерол по репликации для данного контрол лера домена удобно использовать:

• стандартную оснастку Active Director)7 Sites and Services;

• утилиту repadmin с ключом /showreps;

• графическую программу Replication Monitor.

Active Directory Sites and Services Оснастка является стандартной, и вы обязаны уметь ее применять.

Поэтому я лишь напомню, как с' ее помощью определить партнеров по репликации данного контроллера. Сразу скажу, что из предлагае мых инструментов она обладает минимальными возможностями.

Итак, как только вы ее запустите на любом из контроллеров домена, появится такое окно:

Репликация Active Directory, П!Ч *i 'г r;

>rft Jtenw_^ L? ?^u L_,^J^!SE^ 1 JS^^™L-^_ Active Directory Sites and Service;

j й^З ^automatic ally general.. MlDi SiteB Comectior ЭЭ

^5* Щ|ЁЕЩкШя Й- | ROOTS Ш 3 S** Ш Ш Subnets 1 Ц;

Ш.._ _Ц.J Jj Й J •П kjij '="',1s ::' Окно оснастки Active Directory Sites and Services Открыв в левой части ветвь, соответствующую выбранному серверу, и щелкнув объект NTDS Settings в правой части, вы увидите перечень соединений с другими контроллерами. Информация, которой вы при этом обладаете, — имя сервера-партнера и сайта, в котором он нахо дится. Информация о реплицируемых контекстах имен доступна толь ко в окне свойств, а о том, когда была последняя удачная или неудач ная репликация, — недоступна вообще.

Repadmin /showreps Гораздо более подробную информацию позволяет получить repadmin.

Ниже приведен образец выводимой информации с комментариями, Начинается вывод с сообщения о контроллере домена, на котором запущена утилита. Из этой секции видно, к какому сайту принадле жит контроллер и является ли он сервером ГК. Поля objectGuid и invocationID — это одноименные атрибуты объекта NTDS Settings для данного контроллера домена. В нашем примере они равны, хотя это не всегда так. Для целей диагностики представляет интерес значение objectGuid. Именно это значение должно быть представлено в каче стве записи CNAME в DNS-зоне _тзс1с8.<имя леса>. Любой из партне ров по репликации будет искать данный контроллер в DNS не по имени, а по значению objectGuid.

Default-Flrst-Site-Name\ROOT DSA Options : IS_GC object-Quid : a4818f4f-bd9a-4dd9-b8f9-f4e26a84eb7a invocationID: a4818f4f-bd9a-4dd9-b8f9-f4e26a84eb7a Далее следует перечень партнеров по репликации, информация с ко торых тиражируется на данный контроллер. Партнеры рассортиро 216 Active Directory^ подход профессионала ваны по контекстам имен. В рассматриваемом примере специально были созданы условия для возникновения ошибок, Разбор этих оши бок проведем чуть ниже, а пока ограничимся только лишь констата цией факта их наличия.

==== INBOUND NEIGHBORS ====================================== CN=Schema,CN=Configuration,DC=mycorp,DC=ru Default-Flrst-Site-Nante\MID1 via RFC obJectGuid: 19c9dbc3-d5d2-47cc-94e3-5135adfc4t>cb Last attempt • 2002-05-07 13:00.52 failed, result 8524:

Can't retrieve message string 8524 (Ox214c), error 1815, Last success 0 2002-05-06 19:52.36.

4 consecutive failure(s).

Default-First-Site-Name\ROOT2 via RPC ob]ectGuid: a6563eaf-9a97-40a9-9c28-23ba4f Last attempt @ 2002-05-07 13:39.47 was successful.

Из предыдущего раздела видно, что для контекста схемы у рассмат риваемого контроллера домена есть два партнера по репликации:

ROOT2 и MIDI, Оба этих партнера принадлежат к тому же сайту, и репликация выполняется по протоколу IP (RPC через IP). Тиражиро вание данных с компьютера ROOT2 было успешным, тогда как с ком пьютера MIDI его уже четырежды постигала неудача, а последняя удач ная попытка была почти сутки назад. Практически та же ситуация на блюдается и для контекста конфигурации.

CN=Configuration,DC=mycorp,DC=ru Default-First-Site-Name\MID1 via RPC objectGuid: 19c9dbc3-d5d2-47cc-94e3-5135adfc4bcb Last attempt 9 2002-05-07 13:01,13 failed, result 1722:

Can't retrieve message string 1722 (ОхбЬа), error 1815.

Last success @ 2002-05-06 21:48.10.

2 consecutive failure(s).

Default-First-Site-Name\ROOT2 via RPC objectGuid: a6563e8f-9a97-40a9-9c28-23ba4f Last attempt @ 2002-05-07 13:39.47 was successful.

Далее идет информация о партнерах по репликации доменного кон текста mycorp.ru. Для рассматриваемого контроллера есть только один партнер по репликации этого контекста — ROOT2, и проблем с тира жированием не наблюдается, DC=mycorp,DC=ru Default-First-Site-Name\ROOT2 via RPC ObjectGuid: a6563e8f-9a97-40a9-9c28-23ba4f Last attempt @ 2002-05-07 13:39.47 was successful.

Так как рассматриваемый сервер является ГК, у него должны быть установлены связи репликации с другими ГК или контроллерами дру Репликация Active Directory гих доменов. Ниже видно, что для контекста имен msk.mycorp.ru су ществует один партнер — сервер MIDI, связи с которым уже не было в течение двух последовательных попыток.

DC=msk,DC=mycorp, DC=ru Default-Flrst-Site-Name\MID1 via RPC object-Quid: 19c9dbc3-d5d2-47cc-94e3-5135adfc4bcb Last attempt о 2002-05-07 13:02.16 failed, result 1722:

Can't retrieve message string 1722 (ОхбЬа), error 1815.

Last success @ 2002-05-06 21:47.40.

2 consecutive fallure(s).

Следующий блок информации — сообщение о партнерах по репли кации, которым будут рассылаться оповещения в случае изменений на контроллере ROOT1.

==== OUTBOUND NEIGHBORS РОЙ CHANGE NOTIFICATIONS ============ Все партнеры тут тоже разбиты по контекстам имен. Для контекстов схемы и конфигурации существуют те же два партнера: ROOT2 и MIDI.

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

CN=Schema,CN=Configuration, DC=tnycorp, DC=ru Default-First-Site-Name\HID1 via RPC ObjectGuid: 19c9dbc3-d5d2-47cc-94e3-5135adfc4bcb Default-First-Site-Name\ROOT2 via RPC objectGuid: a6563e8f-9a97-40a9-9c28-23ba4f CN=Configuration,DC=mycorp,DC=ru Default-Flrat-Site-Name\HID1 via RPC objectGuid: 19c9dbc3-d5d2-47cc-94e3-5135adfc4bcb Default-First-Site-Name\ROOT2 via RPC objectGuid: a6563e8f-9a97-40a9-9c28-23ba4f Партнер по репликации контекста mycorp.ru тоже только один. А вот оповещаемых партнеров по репликации контекста msk.mycorp.ru нет.

И это правильно, так как данный контроллер домена не входит в до мен msk.mycorp.ru, а является всего лишь сервером ГК. Значит, он не может быть инициатором изменений в данном контексте имен и не может оповещать партнеров.

DC=mycorp,DC=ru Default-First-Site-Name\ROOT2 via RPC objectGuid: a6563e8f-9a97-40a9-9c28-23ba4f Анализ данной информации позволяет построить топологию репли кации для данного примера. Она изображена на рисунке ниже. По нятно, что это не полная топология, а только та ее часть, которая 218 Active Directory: подход профессионала «видна* с одного отдельно взятого сервера на основании приведен ной информации. Для построения полной топологии нужно запустить утилиту repadmin на каждом контроллере домена.

Топология репликации, построенная на основании результатов, предоставленных repadmin /sbowreps Замечание Узнать о соединениях между контроллерами, использу емых для репликации, позволяет команда repadmin /showconn.

Replication Monitor Второй инструмент обладает графическим интерфейсом и не мень шими возможностями, чем описанный выше. Тому, кто предпочитает работать с графическими программами, лучше всего использовать Replication Monitor. К нему можно быстро привыкнуть и обнаружить такие функции, каких нет Б repadmin.

Чтобы увидеть партнеров по репликации у выбранного сервера,-надо добавить этот сервер в меню File. Сразу после этого на экране появит ся изображение вроде показанного ниже.

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

Репликация Active Directory Slalusasol БЙЗШЕ (HE Ihrougl- USN SBVH has snen Л charges for rhis direc > Direct Replication Pane Сам а sUSN Б •MS successful Т 1 look place at 6/29/2002 Г>36 2Э и of. 6/2Э/20С12 0:38 has seen at changes lor itiis director partition through USN GSD?

Direct RepktMion PelnM Dgla « SBVH is cuienl Ihrough PropHto Update USN: 65Э Iba Ы iBOTcdion «mft was tuccesslul.

has seen al changes a this irectoiy paation <Ьа.ф Ш1. 6G of.6/30/3DCG10: Direct Reptcabcm Fartnei Data < Server is current through Properly Updale USN Reolication Fertufe dianaes have nol been sucoeiifully replta!ed lioro R0072 lo RsWcaliD" Failure The peasw is The FtPC serve fe unavaiatHe Replication Failu с Т he lasi Tepfcaijon atteiroi ifiis 6/30/J002 9 4 ?« AM IbcaT :.. • : ;

.:- : « Ц У ' Ь, '?' ''! » •''?-'$ Главное окно программы Replication Monitor Вы можете использовать предоставленную информацию и построить репликацию аналогично тому, как это было сделано в случае с rep admin. Можно поступить и проще. В контекстном меню рассматрива емой программы есть команда показа топологии репликации. К со жалению, ее работа не вполне очевидна. Чтобы отобразить тополо гию, сделайте так.

• Щелкните правой кнопкой в левой части окна имя сервера и вы берите в контекстном меню команду Show replication topologies.

• В появившемся окне View Replication Topology отобразятся все контроллеры доменов в сайте. Связей между ними не будет.

• Выберите в меню View команду Connection Objects only. На экра не ничего не изменится.

• Щелкните правой кнопкой изображение выбранного сервера и в контекстном меню выберите команду Show Intra-site connections.

Будут показаны связи данного сервера с партнерами по реплика ции. Эти связи направлены к выбранному серверу, т. е. по ним тиражируются изменения с других контроллеров.

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

220 Active Directory: подход профессионала Построение топологии репликации в программе Replication Monitor Контроль состояния партнеров по репликации Обнаружить проблемный контроллер домена — только половина деля.

Главное — выяснить корни проблемы. Обычно для этого надо иссле довать состояние локальных баз Active Directory на каждом из парт неров по репликации и найти различия, которые могли вызвать про блему.

DsaStat Утилита DsaStat позволяет выявить различия в контекстах имен, хра нящихся на разных контроллерах доменов. Например, после интен сивных операций добавления пользователей и компьютеров в домен можно сравнить содержимое контекста имен на всех контроллерах домена. Вот пример сравнения для двух контроллеров ROOT1 (где выполнялось добавление) и конт роллере ROOT2. Команда выглядит так:

dsastat -s: rootl;

root2 -b:dc=rnycorp,dc=ru -gcattrs:objectclass -p:16 filter:(objectclass=user) Я не раскрываю всех ключей команды (они подробно описаны в спра вочном файле программы dsastat). но хочу обратить ваше внимание на ключ -s. Он задает количество контроллеров, на которых будет выполняться сравнение, а также номера портов, по которым будет посылаться LDAP-запрос. Если бы надо было сравнить содержимое базы на контроллере с содержимым ГК, то за именем сервера ГК сле довало бы поставить номер порта 32б8.

Репликация Active Directory Вот результат работы программы:

Stat-Only mode, llnsorted mode.

Opening connections...

rootl..,success.

Сначала выводится сообщение о поочередном подключении к кон троллерам доменов и выполнении указанного запроса:

Connecting to rootl...

reading,..

**> ntHixedDomain = reading...

+*> Options = Setting server as [rootl] as server to read Config Info...

root2...success.

Connecting to root2.,.

reading...

**> ntHixedDomain = reading...

LocalException <0>;

Cannot get Options <2>.

Generation Domain List on server rootl...

> Searching server for GC attributes OID list Retrieving statistics...

Paged result search...

Paged result search.,.

...(Terminated query to rootl, )...(Terminated query to root2. ) По окончании запроса и форматирования результаты выдаются на экран (или в файл).

-=»!*** DSA Diagnostics ***|«= Objects per server;

Obj/Svr rootl root2 Total computer 2 2 user 7 6 9 8 FAIL Server total object count mismatch Как видно из приведенной таблицы, число объектов типа user на двух контроллерах домена различно. Это явно говорит о том, что репли кация не была выполнена или не завершилась. Точнее можно сказать, проанализировав начальные условия. Скажем, если вы добавляли пользователей и компьютеров, а программа показывает, что разница 222 Active Directory: подход^профессионала между контроллерами составляет 1-2 объекта, то скорее всего реп ликация не завершилась и надо подождать окончания следующего цикла. Если разница составляет именно то число объектов, которые вы добавили, то репликация еще и не начиналась, Это может свиде тельствовать о том, что:

• внутри сайта не завершился цикл репликации — надо подождать 15-20 минут;

• между сайтами не выполнялась репликация, так как окно репли кации еще не открывалось согласно расписанию;

надо подождать, пока откроется окно репликации, выполнится межсайтовая реп ликация и потом повторно запустить dsastat;

• имеются проблемы с репликацией.

Далее следует статистическая информация, не играющая принципи альной роли при диагностике репликации.

Bytes per object:

computer user Bytes per server:

rootl root2 Checking for missing replies,..

No missing replies! INFO: Server sizes are not equal (min=313, max=280).

Заключительная фраза выглядит, как приговор. Здесь подводится ито говое число рассогласований в базах.

*** Different Directory Information Trees. 1 errors (see above). *** FAIL -=» FAIL «= closing connections...

rootl;

root2;

Dcdiag Эта утилита также имеет интерфейс командной строки и в плане диагностики репликации ее возможности сходны с возможностями утилиты repadmin. Правда, она позволяет выполнять диагностику сразу всех контроллеров домена, проверять межсайтовую репликацию и Репликация Active Directory дает более подробную информацию. Рассмотрим три контроллера домена из нашего примера. Команда выполняет лишь один из тестов, позволяющий понять причину неудачной репликации.

dcdiag /test:replications /a Результат работы с комментариями таков:

DC Diagnosis performing initial setup:

Done gathering initial info.

Doing initial non sklppeable tests Testing server: Default-First-Site-Name\ROOT Starting test: Connectivity ROOT1 passed test Connectivity Первым выполнялся тест на подключение. Суть теста в том, что сна чала имя компьютера разрешается в адрес IP, а потом выполняется ping по указанному адресу. Контроллер ROOT1 выдержал его, а вот MIDI, как это видно из следующего фрагмента, нет, что позволяет предпо ложить недоступность этого компьютера в сети. Возможно, он про сто выключен.

Testing server;

Default-First-Site-Name\MID Starting test: Connectivity Server MIDI resolved to this IP address 10.1.2.2, but the address couldn't be reached(pinged), so check the network.

The error returned was: Win32 Error This error more often means that the targeted server is shutdown or disconnected from the network HID1 failed test Connectivity Контроллер ROOT2 также прошел тест на подключение.

Testing server: Default-First-Slte-Name\ROOT Starting test: Connectivity ROOT2 passed test Connectivity Далее запускается основной тест, указанный в командной строке. Про веряется репликация всех возможных контекстов с сервера MIDI, Doing primary tests Testing server: Default-First-Site-Name\ROOT Starting test;

Replications [Replications Check,ROOT1] A recent replication attempt failed:

From MIDI to ROOT Naming Context: CN=Schema,CN=Configuration,DC=mycorp,DC=ru The replication generated an error (1722):

Win32 Error The failure occurred at 2002-05-07 19:10.02.

The last success occurred at 2002-05-06 19:52.36.

224 Active Directory: подход профессионала 11 failures have occurred since the last success.

The source remains down. Please check the machine.

[Replications Check,ROOT1] A recent replication attempt failed:

From MIDI to ROOT Naming Context: CN=Configuration, DC=roycorp,DC=ru The replication generated an error (1722):

Win32 Error The failure occurrad at 2002-05-07 19:10.44.

The last success occurred at 2002-05-06 21:48,10.

9 failures have occurred since the last success, The source remains down. Please check the machine.

[Replications Check,ROOT1] A recent replication attempt failed:

From MIDI to ROOT Naming Context: DC"msk,DC=mycorp,DC=ru The replication generated an error (1722):

Win32 Error The failure occurred at 2002-05-07 19:11.26.

The last success occurred at 2002-05-06 21:47.40.

9 failures have occurred since the last success.

The source remains down, Please check the machine.

ROOT1 passed test Replications Как и следовало ожидать, все тесты завершились неудачно. Более того, программа констатирует, что источник по-прежнему недоступен и надо проверить указанный компьютер.

Следующим в списке проверяемых идет сервер MIDI, Но он не может быть проверен, так как не отвечает на запросы. Поэтому соответству ющий тест пропускается:

Testing server: Default-First-Site-Name\MID Skipping all tests, because server MIDI is not responding to directory service requests Аналогичные проблемы наблюдаются и при тиражировании измене ний с сервера MIDI на ROOT2 Но на этот раз рассматриваются толь ко два контекста имен — схемы и конфигурации, так как эти контрол леры принадлежат разным доменам и ни один не является сервером ГК.

Testing server: Default-First-Site-Name\ROOT Starting test: Replications [Replications Check,RQOT2] A recent replication attempt failed:

From MIDI to ROOT Naming Context: CN=Echeffla,CN=Configuration,DC=mycorp,DC=ru The replication generated an error (1722):

Win32 Error The failure occurred at 2002-05-07 18:50.46.

Репликация Active Directory The last success occurred at 2002-05-06 19:53.29, 10 failures have occurred since the last success, The source remains down. Please check the machine.

[Replications Check,ROOT2] A recent replication attempt failed:

From MIDI to ROOT Naming Context: CN=Configuration,DC=mycorp,DC=ru The replication generated an error (1722):

Win32 Error The failure occurred at 2002-05-07 18:50.25, The last success occurred at 2002-05-06 21:48.38.

8 failures have occurred since the last success.

The source remains down. Please check the machine.

HOOT2 passed test Replications Running enterprise tests on : mycorp.ru Repadmin Вернемся к утилите repadmin. Ее возможности диагностики не огра ничиваются описанными выше. Допустим, мы выяснили, что репли кация не завершилась. Как узнать, что именно осталось незавершен ным? Нам поможет команда repadmin с аргументом getchanges:

repadmin /getchanges dc=tnycorp,dc=ru root2.mycorp.ru a4818f4f-bd9a 4dd9-b8f9-f4e26a84eb7a Она позволяет узнать, какие изменения в контексте имен mycorp.ru должны быть переданы на контроллер root2 с контроллера, чей но мер GUID указан в конце командной строки.

Сначала проверяется текущий статус указанного партнера по репли кации. Обратите внимание на номера USN (для наглядности они вы делены):

Building starting position from destination server root2.mycorp.ru Source Neighbor:

dc=mycorp,dc=ru Default-First-Site-Name\ROOT1 via RPC objectGuid: a4818f4f-bd9a-4dd9-b8f9-f4e26a84eb7a Address: a4818f4f-bd9a-4dd9-b8f9-f4e26a84eb7a._msdcs.mycorp.ru ntdsDsa invocationld: a48l8f4f-bd9a-4dd9-b8f9-f4e26a84eb7a WRITEABLE SYNC_ON_STARTUP DO_SCHEDULED_SYNCS USNs:' 4798/OU, 4798/PU Last attempt a 2002-05-07 20:05.51 was successful.

226 Active Directory;

подход профессионала Далее выясняется вектор обновленное™ для двух партнеров:

Destination's Up To Dateness Vector:

2ff7fbaa-6607-472c-b3a5-CCf8445de5bf 9 USN a4818f4f-bd9a--4dd9-b8f9-f4e26a84eb7a @ USN Наконец, сообщается о тон, что надо передать изменение фамилии (атрибута sn) для объекта CN=u2,OU=test,DC=mycorp,DC=ru:

== SOURCE DSA: a4818f4f-bd9a-4dd9-b8f9-f4e26a84eb7a._msdcs.mycorp.ru == Objects returned: (0) modify CN=4j2,OU=test,DC=mycorp,DC=ru 1> objectGUID: db92fe3;

J-d14a-49b9-98ae-ec905ec39bf 1> sn: Petrov 1> instanceType: По завершении репликации можно повторно выполнить указанную выше команду. Результат показан ниже. Снова взгляните на номера USN. Как и следовало ожидать, они увеличились:

Source Neighbor:

dc=mycorp,dc=ru Default-First-Site-Name\ROOT1 via RPC objectGuid: a4818f4f-bd9a-4dd9-b8f9-f4e26a84eb7a Address: a4818f4f-bd9a--4dd9-b8f9-f4e26a84eb7a._msdcs.mycorp.ru ntdsDsa iwocationld: Ei4818f4f-bd9a-4dd9-b8f9-f4e26a84eb7a WRITEA8LE SYNC_ON_STARTUP DO_SCHEDULED_SYNCS USNs: 4850/OU, 4850/PU Last attempt @ 2002-05-07 20:12.37 was successful.

Destination's Up To Dateness Vector:

2ff7fbaa-6607-472c-b3a5-ccf8445de5bf 0 USN a4818f4f-bd9a-4dd9-b8f9-f4e26a64eb7a 9 USN == SOURCE DSA: a4818f4f-bd9a-4dd9-b8f9-f4e26a84eb7a.jnsdcs.mycorp.ru == No changes.

На этот раз никакие изменения не ожидают очереди на тиражирова ние. Но вернемся к номерам 1JSN. Выполните команду:

repadmin /showmeta CN=u2,OU=test,DC=mycorp,DC=ru т. е. посмотрите метаданные для того объекта, который был реплици рован на контроллер root2. В частности, интерес представляет USN атрибута sn. Он равен 4Й50, т. с. как раз тому значению, что указано в качестве максимального USN для контроллера домена.

Репликация Active Directory. Loc.USN Originating DSA Org.USN Org.Time/Date Ver Attribute 4678 Default-First-Site-Name\ROQT1 4678 2002-05-07 18:03. 1 objectClass 4678 Default-First-$ite-Name\RQQT1 4678 2002-05-07 18:03. 1 en 4850 Default-FirST-Site-Narne\ROQT1 4850 2002-05-07 20:09. 4 sn 4679 Default-First-Site-Name\ROQT1 4679 2002-05-07 18:03. 1 description 4678 Default-Fir5t-Site-Name\ROOT1 4678 2002-05-07 18:03. 1 givenName 4678 Default-First-Site-Name\ROOT1 4678 2002-05-07 18:03. 1 instanceType 4678 Default-First-Site-Name\ROOT1 4678 2002-05-07 18:03. 1 whenCreated 4679 Default-First-Site-Name\ROOT1 4679 2002-05-07 18:03. 1 displayName Общая информация о параметрах репликации Если нужно получить всеобъемлющую информацию о состоянии репликации, объектах связи, форпостах, номерах USN и т. п., лучшего инструмента, чем Replication Monitor, не найти. Для этого надо исполь зовать его способность создавать отчеты. При этом можете указать.

какие сведения вы хотели бы в нем видеть.

В полном объеме размер отчета велик, и я не буду его приводить здесь.

Однако ряд элементов отчета может вызвать интерес при анализе.

Первое, что бросается в глаза, — хорошая структурированность отчета, Active Directory Replication Monitor Printed on 07.05.2002 20:45: This report was generated on data from the server: ROOT Приводимый образец был создан на сервере ROOT1, у которого два партнера по репликации. Вначале приводятся сведения о самом сер вере. Помните, мы получили их с помощью repadmin? Но если рань ше эту информацию приходилось извлекать, анализируя сообщения программы, то теперь она предоставлена на блюдечке.

ROOT1 Data This server currently has writable copies of the following directory 228 Aclive Directory: подход профессионала partitions:

CN=Schema,CN=ConfIguration,DC=mycorp, DC=ru CN=Configuration,DC=mycorp,DC=ru DC=mycorp,DC=ru Как видите, перечислены вес контексты имен, содержащиеся на дан ном контроллере. Также указано, что этот сервер является ГК, и пере числены дополнительные контексты имен.

Because this server is a Global Catalog (GC) server, it also has copies of the following directory partitions:

DC=msk,DC=mycorp,DC=ru Следующий шаг — перечисление объектов связи с партнерами по репликации. Дополнительно к информации, которую позволяет по лучить repadmin. приводятся сведения о том, кто и зачем создал эти объекты. Это удобно при отслеживании репликации. Вот информа ция только для одного из объектов связи:

Current NTDS Connection Objects Default-F:irst-Site-Name\MID Connection Name : 828a2adb-a24b-45dB-bfOc-b65aa4cbfb Administrator Generated?;

AUTO Ffcepiiil Option* p1 'Ewefideil Siie Catilguiatjcfl I? Cem(«ti*tiM!eew*S*(a-,, iv Sit* L**. ard Site U4;

Виде Cpr p1 «ifef-Sfle iVa-spoiiConfiguration F Subrtata f7 Active Oi-ectarji Я«^ю|ййп Рш Выбор информации, включаемой в отчет Репликацив Active Directory Обратите внимание на название связи: это номер GUID. В окне осна стки Active Directory Sites and Services имя этого объекта будет обо значено Automatically generatedX Стоит только внести изменения в свойства объекта, как его имя изменится на указанный номер GUID.

Об этом свидетельствует фраза AUTO в поле Automatically generated.

Если бы использовался объект связи, созданный администратором, данная запись выглядела бы так:

Default-First-Site-Name\MID Connection Name : From MIDI Administrator Generated?: YES т. е. имя связи показано в том виде, как его создал администратор.

Далее приведены причины, по которым была создана данная связь.

Обратите внимание на новый термин — Ring neighbor. Дословно его можно перевести как «сосед по звонку». На практике это относится к связям, создаваемым для оповещения ближайших партнеров по реп ликации:

Reasons for this connection:

Directory Partition (DC=msk,DC=mycorp,DC=ru) Replicated because the replication partner is a ring neighbor, Directory Partition (CN=Schema,CN=Configuration,DC=mycorp,DC=ru) Replicated because the replication partner is a ring neighbor.

Directory Partition (CN=Configuration,DC=mycorp,DC=ru) Replicated because the replication partner is a ring neighbor.

В противоположность такой причине может быть указано «surpassed the allowed failure limit». Это значит, что между контроллером и его партнерами неоднократно наблюдались проблемы с репликацией.

Дабы их искоренить, были созданы новые связи. Как правило, они создаются КСС. Если в сети есть альтернативные маршруты между указанными серверами, будут использованы они.

Directory Partition (CN=Schema,CN=Configuration,DC=mycorp,DC=ru) This replication connection is created because another replication partner has surpassed tne allowed failure limit.

Замечание Сообщение о данном событии появляется Е журнале регистрации событий Active Directory под номером 1308 от имени КСС. Описание этого события выглядит примерно таю «The Directory Service consistency checker has noticed that 2 successive replication attempts with CN=NTDS Settings,CN=ROOT2,CN=Servers,CN=Defaiilt First-Site-Name,CN=Sites,CN=Configuration,DC=mycorp,DC=ruhave failed over a period of 787 minutes. The connection object for this server will 230 Active Directory: подход профессионала be kept in place, and new temporary connections will established to ensure that replication continues. The Directory Service will continue to retry replication with CN=NTDS Settings,CN=ROOT2,CN=Servers,CN=Default First-Site-Name,CN=Sites.CN=Configuration,DC=mycorp.DC=ru;

once suc cessful the temporary connection will be removed*.

Далее следует описание состояния всех партнеров по репликации для каждого из контекста имен. Эта информация во многом повторяет ту, что позволяет получить repadmin /showreps, но содержит и дополни тельные сведения. Например, если проблем с репликацией нет, то информация записывается таю Current Direct Replication Partner Status Directory Partition: CN=Scheroa,CN=Configuration,DC=mycorp,DC=ru Partner Name: Default-First-Site-Name\ROOT Partner QUID: 2FF7FBAA-6607-472C-B3A5-CCF8445DE5BF Last Attempted Replication: 5/7/2002 7:59:14 PH (local) Last Successful Replication: 5/7/2002 7:59:14 PH (local) Number of Failures: Failure Reason Error Code: Failure Description: The operation completed successfully.

Synchronization Flags: DRS_WRIT_REP,DRS_INIT_SYNC,DRSJ>ER_SYNC USN of Last Property Updated: USN of Last Object Updated;

Transport: Intre-Slte RPC А если были проблемы, узнать их источник совсем легко:

Directory Partition: CN=Schema,CN=Configuration,DC=mycorp,DC=ru Partner Name: Default-First-Site-Name\MIDi Partner QUID: 531BD902-1AEF-4F29-A8DC-D27AOCFC30Q Last Attempted Replication: 5/8/2002 9:52:06 AM (local) Last Successful Replication: 5/7/2002 7:59:14 PH (local) Number of Failures: Failure Reason Error Code: Failure Description: T.he RPC server'is unavailable.

Synchronization Flags: DRS_WRrr_REP,DRS_INIT_SYNC,DRS_PER_SYNC USN of Last Property Updated: USN of Last Object Updated: Transport: Intra-Site RPC Обратите внимание на выделенные строки. Видно, что было 2 ошиб ки репликации, вызванные недоступностью сервера RPC. О том, как Репликация Active Directory ^_ бороться с такой ошибкой и ее вероятных причинах, я расскажу в конце главы.

Следующая часть отчета содержит информацию о партнерах, уведом ляемых об изменениях.

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

Change Notifications for this Directory Partition Server Name: Default-First-Site-Name\ROOT Object GUID: A6563E8F-9A97-40A9-9C28-23BA4F Time Added: 23.03.2002 13:14: Flags: DRS_WRIT_REP Transport: RPC Чаще всего картина несколько иная:

Server Name: Site-1\VM Object GUID: 5E29E488-863B-46B1-B7EB-6C54A63D6A Time Added: 23.06,2016 14:27: Flags: DRSJIRIT_REP Transport: RPC Для наглядности я выделил дату создания. Она больше реальной при мерно на 15 лет. Мне не удалось заметить какой-либо точной зависи мости между этим превышением и реальной датой создания. Иногда разница чуть меньше 15 лет, иногда — чуть больше. Все мои попытки отыскать причину закончились неудачей. Могу только с определен ностью сказать, что на работу репликации это не влияет.

Далее в отчете приводятся сведения, влияющие на работу репликации и КСС. С параметрами, ответственными за это, мы познакомились выше. Если значение какого-либо параметра не указано, используют ся умолчания:

Performance Statistics at Time of Report REPLICATION Replicator notify pause after modify (sees): Replicator notify pause between OSAs (sees): 232 Active Directory: подход профессионала Replicator intra site packet size (objects):

Replicator intra site packet size (bytes):

Replicator inter site packet size (objects):

Replicator inter site packet size (bytes):

Replicator maximum concurrent read threads:

Replicator operation backlog limit:

Replicator thread op priority threshold:

Replicator intra site RPC handle lifetime (sees):

Replicator inter site RPC handle lifetime (sees):

Replicator RPC handle expiry check interval (sees):

KCC Repl topology update delay (sees):

Repl topology update period (sees):

KCC site generator fail-over (minutes):

KCC site generator renewal interval (minutes):

KCC site generator renewal interval (minutes):

CriticalLinkFailuresAllowed:

MaxFailureTimeForCrtticalLink (sec):

NofiCriticalLinkFailuresAllowed:

MaxFailureTimeForNonCriticalLink (sec):

IntersiteFailuresAllowed:

MaxFailureTimeForlntersiteLink (sec):

KCC connection failures:

IntersiteFailuresAllowed:

IntersiteFailuresAllowed:

Как видите, предоставляемый отчет позволяет разом получить исчер пывающую информацию о работе репликации Active Directory и ее параметрах. К недостаткам стоит отнести значительный объем отче та при большом числе контроллеров. При этом приходится долго продираться сквозь дебри избыточной информации, чтобы докопать ся до нужной.

Поиск и устранение проблем репликации Сообщения об ошибках репликации можно получать по-разному. Но знать об ошибке еще не значит устранить ее причины. Ниже приво дятся наиболее характерные ошибки репликации и способы их уст ранения. В любом случае виноваты вы, т. е. администратор. Это могут быть и «крирые руки», и невнимательность, и непонимание механиз мов репликации. Надеюсь, данная глава устраняет последнюю причи ну. Ну, а с остальными — читайте дальше и боритесь самостоятельно.

Репликация Active Directory Запрет доступа (Access Denied) Сообщение о запрете доступа при выполнении репликации может появиться в двух случаях:

• когда вы выполняете принудительную репликацию, находясь, на пример, в оснастке Active Directory Sites and Services;

• когда выполняется обычный цикл репликации.

В первом случае выводится сообщение «The following error occurred during the attempt to synchronize the domain controllers: Replication access was denied*. Это, пожалуй, самое безобидное сообщение, при чина которого в несоответствии полномочий учетной записи, под которой вы зарегистрированы в системе. Например, вы зарегистри рованы как обычный пользователь домена. Репликацию нельзя ини циировать от имени такой учетной записи. Другой пример — вы ад министратор дочернего домена и пытаетесь инициировать реплика цию с партнером в родительском домене. Если вы не член группы Enterprise Admins, такая попытка также будет отвергнута. Дабы убедить ся в том, что причин для беспокойства нет, запустите оснастку Active Directory Sites and Services от имени той учетной записи, которая может инициировать репликацию (например, включенной к группу Enterprise Admins для междоменной репликации). Если теперь репли кация выполняется успешно, покорите себя за забывчивость и поста райтесь так больше не ошибаться.

Все гораздо серьезнее, если в журнале регистрации появилось сооб щение 1265: «The attempt to establish a replication link with parameters.... failed with the following status: Access is denied*. При этом в резуль тате выполнения repadmin /showreps информация не выводится.

Не менее серьезна ситуация, когда в журнале регистрации не появля ется настораживающих записей, а вот выполнение команды repadmin /showreps выводит сообщение для одного или нескольких контекстов имен о том, что последняя попытка выполнить репликацию была неудачной, с ошибкой «Access denied error* Вероятная причина Самое вероятное — рассинхронизировались контроллеры. Это случа ется, если контроллер домена был отключен от сети долгое время, что приводит к тому, что пароль учетной записи компьютера отличается от того, что хранится в Active Directory.

Замечание Еще одной причиной может быть отсутствие права до ступа к контроллерам доменов по сети. Это особенно актуально при обновлении контроллера Windows NT до Windows 2000.

234 Active Directory: подход профессионала Решение Есть два способа решения данной проблемы.

1. Остановите службу КОС (Key Distribution Center), удалите все би леты Kerberos, сбросьте пароль учетной записи компьютера, син хронизируйте доменный контекст имен и все остальные контек сты имен. Используйте этот способ в первую очередь.

Рассмотрим данные процедуры подробнее.

а) На локальном контроллере домена выполняется команда:

net stop kdc Если служба не останавливается, то в ее свойствах указывается запрет запуска (disabled), и контроллер перегружается.

б) Если служба kdc была остановлена, запустите утилиту klist с ключом /purge (утилита входит в Windows 2000 Resource Kit).

в) Выполните команду:

netdom resetpwd /веп/ег:<имитатор PDO /userd:\administrator /passworbd:* В результате пароль учетной записи компьютера будет сброшен.

Если же появится сообщение о невозможности сброса пароля, проверьте, находится ли данный компьютер в подразделении Domain Controllers.

г) Убедитесь, что рассматриваемый контроллер домена является непосредственным партнером по репликации для имитатора PDC в домене. Если это не так, создайте репликационное со единение между ними. Для этого выполните команду:

repadmln /add <доменный контекстХполное имя контроллерахполное имя имитатора POO /u:<.flOMeH>\administrator /pw:* и пропустите пункт д.

д) Выполните команду:

repadmln /sync <доменнь'й контекстхимя контроллера доменахсию имитатора PDO е) Проверьте, что репликация работает, выполнив команду:

repadmln /showreps Если в результате не будет партнеров по репликации, выполните:

repadmln /kcc ж) Синхронизируйте все оставшиеся контексты аналогично тому, как это сделано в пункте д. Вместо GUID имитатора PDC ука жите GUID обычных партнеров по репликации.

Репликация Active Directory з) Запустите kde net start kdc 2. Если repadmin /kcc или repadmin /sync выводят новое сообщение об ошибке 1265 с причиной отказа в доступе, нужно создать вре менную связь между локальным контроллером домена и его парт нером по репликации контекстов имен.

а) Для контекста имен конфигурации выполните команду:

repadmin /add <контвкст конфигурацииХполное имя контроллерахполное имя партнера по репликацию /u:\administrator /pw:« б) Повторите предыдущую команду для контекста схемы.

в) Повторите предыдущую команду для контекста доменных имен.

В результате работа репликации должна нормализоваться.

Замечание Эти команды инициируют репликацию, и в крупной сети они могут выполняться довольно долго.

Чтобы убедиться в том, что все работает нормально, выполните repad min /showreps.

Неизвестная служба аутентификации (Authentication service is Unknown) Данная ошибка может возникнуть в одном из двух случаев.

• Контроллер домена не может установить связь репликации. При этом в журнале регистрации событий появляется сообщение от «NTDS КСО Event ID 1265 «Intersite Transport (if any)... failed wich the following status: The authentication service is unknown».

+ Связь существует, но выполнить репликацию не удается. При этом в журнал регистрации ничего не заносится, но команда repadmin /showreps сообщает, что «Last attempt at <дата-время> failed with the error Authentication service is unknown».

Способ разрешения этой проблемы схож с описанным выше.

Контроллер домена не может установить связь репликации Для устранения проблемы придерживайтесь следующего алгоритма.

а) Остановите службу KDC и удалите все билеты Kerheros.

б) На контроллере домена запустите repadmin /kcc. При этом кон троллер сняжется со своими партнерами и аутентифицирует себя с целью создания связей репликации, в) Проверьте в журнале регистрации появление события 1264 о со здании связей. Если такое сообщение есть, репликация начнет 236 Active Directory: подход профессионала работать при наступлении следующего цикла. Если нет, вы увиди те сообщение об ошибке (Event ID 1265) с описанием причины.

г) Если все работает нормально, запустите службу kdc.

Связь репликации существует Сделайте так.

а) Остановите службу KDC и удалите все билеты Kerberos.

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

repadmin /sync cn=schema,cn=configuration,<имя леса> <имя контроллера домена> в) Если предыдущий шаг не вызвал ошибок, синхронизируйте осталь ные контексты имен.

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

д) Если ошибок нет, запустите службу kdc.

Неверное имя учетной записи цели (Target account name is incorrect) Такая ошибка возможна при попытке установить связь между контрол лерами разных доменов или выполнении репликации. Например, при попытке выполнить репликацию из окна оснастки Active Directory Sites and Services или в окне Replication monitor появляется сообщение «Logon Failure: The target account name is incorrect». Также можно об наружить в журнале регистрации сообщение от «NTDS Replication», Event ID 1645:

The Directory Service received a failure while trying to perform an authenticated RPC call to another Domain Controller. The failure is that the desired Service Principal Name (SPN) is not registered on the target server. The server being contacted is afb720fd-38c7-4505-aa9f b658ca124773._.msdcs.mycorp, ru. The SPN being used is E3514235-4B06-11D1-AB04-OOC04FC2DCD2/afb720fd-38c7-4505-aa9f b658ca124773/mycorp.ruiwycorp.ru.

Please verify that the names of the target server and domain are correct.

Please also verify that the SPN is registered on the computer account object for the target server on the KDC servicing the request. If the target server has been recently promoted, it will be necessary for knowledge of this computer's identity to replicate to the KDC before this computer can be authenticated.

Репликация Active Directory Еще одним свидетельством этой ошибки может стать сообщение в журнале регистрации от «NTDS КСО, Event 1265:

The attempt to establish a replication link with parameters Partition:

CN=Configuration,DC=MyDomain,DC=net Source DSA DN: CN=NTDS Settings,CN=HyServer,CN=Servers,CN=Default-First-Site Name, CN=Sites,CN=Configuration,DC=MyDomain,DC=com Source DSA Address: 5e5abf03-e902-48e2-a326 41977dee176d. jnsdcs.mycorp.ru Inter-site Transport (if any): failed with the following status:

Logon Failure;

The target account name is incorrect. The record data is the status code. This operation will be retried.

Причин возникновения этой ошибки две:

+ требуемый набор главных имен службы (Services Principle Name — SPN) не совпадает на обоих контроллерах;

• на контроллерах разных доменов отсутствует объект crustedDo main (TDO), который должен находиться в контейнере System.

Отсутствие объекта trustedDomain Чтобы понять, имеется ли TDO в контейнере System, откройте его в оснастке Active Directory Users and Computers и найдите в контейне ре объект с именем того домена, в котором находится партнер по реп ликации, например msk.mycorp.ru. Тип объекта будет указан как «Trus ted Domain».

5* Acl-ive Directory Users and Computers ^Active Directory Users and Computers L H3 D Fi-Canf IguraHon dfs Configuration Й1 mycorp.ru FR5 Settings ^Rle Replication Service SI- _2J Builhn (VjfileLinks flelinkTr^ckirig :+1 UJ Compeers Щ Й Domain Controllers Container UJlPSecLnty 03 Meetings •• Vj LostundFound ^J Policies Container v*i - Test ^ and IA5 Servers Access Chech Contariet r i;

IE) Users RFC 5ervkei •its Container d Здесь должен находиться объект TDO Active Directory: подход профессионала Если этот объект есть, переходите к следующему разделу, если нет его надо создать.

а) В том домене, где находится проблемный контроллер, откройте оснастку Active Directors- Domains and Trusts, подключитесь к кон троллеру — имитатору PDC и откройте окно свойств домена.

б) Открыв в этом окне вкладку Trusts, создайте двусторонние дове рительные отношения с доменом, в котором расположен партнер по репликации. При этом вы получите сообщение о невозможно сти проверки доверия. Не смущайтесь. Скажите ОК, и будет созда но транзитивное доверие- помеченное как «сокращение* (shortcut).

в) Далее будет предложено проверить доверие. Введите имя учетной записи, которая обладает административными правами в двух до менах и проверьте доверие. Вновь появится сообщение о невоз можности проверки доверия, И опять не смущайтесь.

г) Выполните команду:

NETDOM TRUST локальный.домен /Оота1п:удаленный.домен /UserD:administrator /PasswordD:* /UserO:administrator /PasswordO:* /Reset /TwoWay где UserD и UserO — имена учетных записей администраторов ло кального и удаленного домена.

д) Перегрузите контроллер домена, на котором выполнялись изме нения.

е) После перезагрузки подождите, пока КСС не восстановит соедине ние. Отсутствие ошибок контролируйте по журналу регистрации.

Не совпадает набор SPN Для разрешения этой проблемы сделайте так а) Определите адрес IP контроллера, с которым должно установить ся соединение. Для этого выполните команду ping того номера GUID, который фигурирует в сообщении об ошибке. В нашем при мере это айэ720^с1-38с7-4505-аа9?-Ьб58са12477Э._твс1с5.<имялеся>.

В результате вы узнаете имя партнера по репликации.

б) На обоих партнерах по репликации запустите ADSIEdk. выделите объекты, соответствующие локальному контроллеру домена, и откройте окно их свойств.

Совет В данном случае ADSIEdit лучше запустить дважды на одном контроллере: для локального контроллера домена и для удаленного.

в) В списке атрибутов найдите servicePrincipalName. Этот атрибут имеет много значений, одно из которых состоит как бы из двух Репликация Active Directory номеров GUID. Например, в нашем примере это будет Е3514235 4B06-llDl-AB04-OOC04FC2DCD2/afb720fd-38c7-4505-aa9f b658cal24773/mycorp.ru.

г) Выделите это значение, нажмите кнопку Remove. Поле Edit Attribute заполнится приведенным выше значением. Скопируйте его в бу фер обмена и нажмите кнопку Add.

д) Скопируйте содержимое буфера обмена в поле Edit Attribute и в самый конец этой записи добавьте *@<имя.домена>». Скопируйте все содержимое поля в буфер обмена и нажмите кнопку Add.

е) В окне свойств второго контроллера домена добавьте то же зна чение к атрибуту servicePrincipalName.

После этого можно вновь попробовать выполнить репликацию.

Замечание Выполняя указанные действия, можно столкнуться с двумя проблемами:

• партнеры по репликации имеют разные пары GUID;

+ один из списков значений атрибута servicePrincipalName пуст.

Для избавления от этих проблем скопируйте значения атрибута с другого контроллера домена.

Недоступен сервер RPC (RPC Server Not Available) Это одна из самых распространенных ошибок. Причиной для ее воз никновения могут быть:

• невозможность создания связи репликации;

+ отсутствие соединения с компьютером.

При невозможности создания связи репликации в журнале регистра ции появится сообщение 12б5: «The attempt to establish a replication link with parameters.... failed with the following status: The RPC Server is unavailable*.

Если связь есть, но компьютер недоступен, сообщений в журнале ре гистрации не будет, а вот repadmin /showreps сообщит об ошибке.

Для выяснения причины в первую очередь надо проверить доступ ность указанного партнера по сети командой ping. Проверку' лучше делать по номеру GUID. Если результат будет аналогичен изображен ному ниже, то скорее всего сервер выключен или отключен от сети.

ping 19c9dbc3-d5d2-47cc-94e3-5135adfc4bcb._msdcs.mycorp.ru Pinging mid1.msk.mycorp.ru [10.1.2.2] with 32 bytes of data:

Request timed out.

9- 240 Active Directory: подход профессионала Request timed out.

Request timed out.

Request timed out.

Ошибка поиска в DNS (ONS Lookup failure) Эта ошибка тоже часто встречается. Обычно — на этапах создания дерепа Active Director)' и при подключении новых контроллеров до менов. И все же появление этой ошибки возможно и потом из-за про блем с сетью. В любом случае при отсутствии соединения реплика ции в журнале регистрации появляется сообщение об ошибке 1265:

«The attempt to establish a replication link with parameters.... failed with the following status: DNS lookup failure».

Если соединение есть, в журнале ошибки не появляются, зато коман да repadmin /showreps сообщает о такой же ошибке.

Проблема скорее всего в неверной конфигурации клиента DNS иного просто быть не может, поэтому советую обратиться к разделу «•Что делать с DNS?» главы «Установка Active Directory*. Здесь же я дам общие рекомендации по поиску источника проблем.

На сбойном контроллере домена выполните ping по номеру GUID партнера по репликации. Если имя не разрешается, проверьте доступ ность зоны _rnsdcs, с этого компьютера. С помощью nsloo kup выясните, какой сервер DNS первичный. Посмотрите, возможно ли разрешение имени через рекурсию или через настроенные пере адресации запросов. Особое внимание обратите на то, нет ли отри цательного ответа по указанному адресу в кэше DNS.

Если причина отсутствия ответа не в этом, выполните команды:

net stop dns client net start dns client Если это сработает, значит, и какой-то момент клиент DNS переклю чился на альтернативный сервер.

Если имя разрешается, но ответ от партнера не приходит, возможно, дело в аппаратном сбое сетегого оборудования. Если нет, посмотри те, не изменялся ли адрес IP партнера. Не исключено, что в локаль ном кэше хранится старый адрес. Выполните ipconfig /flushdns. Так же проверьте, отражена ли новая информация в записи CNAME на том сервере DNS, который указан первичным для рассматриваемого кон троллера. Если нет, то выясните причину этого. Возможно, наблюда ется проблема «островов».

Служба каталогов перегружена (Directory service too busy) В случае возникновения такой ошибки в журнале регистрации появ ляется сообщение от «NTDS Replication» с Event ID=1083:

Репликаций Active Directory "Replication warning: The directory is busy. It couldn't update object CN=ROOT2,CN=Servers,CN=Default-First-Site-Name, CN=Sites, CN=ConfIguration, DC=mycorp, OC=ru with changes made by directory afb720fd-38c7-4505 aa9f-b658ca124773._msdcs.mycorp.ru. Will try again later."

Сообщение содержит отличительное имя объекта, вызвавшего пробле му, и номер GUID партнера по репликации.

Причина Причиной данной ошибки является появление в Active Directory- дуб ля объекта снязи для партнера по репликации.

Разрешение Эту проблему можно разрешить так.

а) Выполните ping по номеру GUID для выяснения имени и адреса IP партнера по репликации. В рассматриваемом примере это:

ping afb720fd-38c7-4505-aa9f-b658ca124773,jnsdcs.mycorp.ru б) Запустите программу Ldp, подключитесь к найденному адресу парт нера и выполните hind с правами администратора.

в) Выполните поиск проблемного объекта. Поиск надо вести по под дереву того домена, в котором находится объект.

» On:

CM=ROOT2,CN=3<;

rvris,CN^Si1eA.CN = Sites,CN^ Configuration, DC^myeoip.DC-n 1> canoniralName: mvccrp.iii/Co(ifiquralion/!!itea/SiteA/SErv(T4/ROOT2;

l>cn:FWOI2:

?'> otijectClass: lop: reiver;

I > name;

ROOT?;

Поиск дубля объекта связи 242 Active Directory: подход профессионала Если обнаружен дубль (на рисунке он не показан), то выделите в пра вой части окна Ldp его имя и скопируйте в буфер обмена. Затем вы берите команду Delete и вставьте в поле DN содержимое буфера об мена. Нажмите ОК.

Удаление дубля объекта из каталога Удалив объект, убедитесь, что дублей больше нет.

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

Выполните синхронизацию контекста конфигурации и домена.

repadmin /sync cn=configuration,<имя леса> <имя контроллера домена> repadmin /sync <имя леса> <имя контроллера домена> Если репликация возобновит нормальную работ}', то в журнал будет записано сообщение 1083. После этого перенесенный объект можно вернуть на прежнее место.

Замечание Если вы не установили на контроллер SP2 или выше, то может наблюдаться периодическая остановка входной репликации с записью в журнале регистрации «Event ID 8438 The directory service is too busy to complete the replication operation at this time». Установите последний пакет обновления для решения этой проблемы.

Разница во времени (Ошибка LDAP 82) Как я говорил в главе «Установка Active Directory*, синхронизация по времени между контроллерами доменов играет очень важную роль.

Рассинхронизация приводит к ряду печальных результатов, один из которых — невозможность репликации. В таком случае в журнале регистрации появляется сообщение от NTUS КСС с Ш=12б5: «The attempt to establish a replication link with parameters... failed with the following status: There is a time difference between the client and server».

Репликация jctive Directory Причина Причина рассогласования во времени может быть только одна невозможность достуш к родительскому серверу времени. Отбросим случай недоступности имитатора PDC как маловероятный. Остается отказ в доступе.

Устранение Чтобы убедиться в том, что причиной является именно отказ в досту пе, выполните команду:

net time \\имя_имитатора_РОС /set Если в результате получите сообщение Access denied, перейдите к разделу, описывающему борьбу с этой ошибкой.

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

Внутренняя ошибка системы репликации О возникновении внутренней ошибки в системе репликации свиде тельствует сообщение в журнале регистрации с ID=1084 «Replication failed with an internal error» либо сообщение с тем же самым ID, но более информативным:

Replication error: The directory replication agent (DRA) couldn't update object CN="8f03823f-410c-4483-86cc-B820b4f2103f DEL:66aab46a-2693-4825-928f-05f6cd12c4e6",CN=Deleted Objects,CN=Configuration,DC=mycorp,DC=ru (GUID 66aab46a-2693-4825-928f-05f6cd12c4e6) on this system with changes which have been received from source server 62d85225-76bf-4b46-b929 25a1bb295f51._msdcs.mycorp.ru. An error occurred during the application of the changes to the directory database on this system.

Причины В локальной базе, вероятно, есть объект, чей родительский объект в Active Directory был удален так давно, что стал фантомом, а значит, репликация его дочерних объектов невозможна. С другой стороны, сборщик мусора не может удалить фантом если у него есть дочерние объекты. Подобная ситуация невозможна после применения SP2. но если уж такие объекты появились, SP2 их не уничтожит.

Еще одной причиной может быть некорректно выполненное автори тетное восстановление объектов, выполненное устаревшей версией ntdsutil (см. главу «Поиск и устранение проблем*).

244 Active Directory: подход профессионала Устранение Эту ошибку можно устранить так.

1) Найдите в сообщении об ошибке номер GUID проблемного объек та. В приведенном примере это 66aab46a-2693-4825-928f 05f6cdl2c4e6, Скопируйте его в буфер обмена.

2) Запустите Ldp и подключитесь к локальному контроллеру домена.

Выполните bind с привилегиями администратора.

3) Выберите команду Delete, вставьте в поле DN содержимое буфера обмена и нажмите ОК.

4) Проверьте, как работает репликация. Если вновь появляется сооб щение 1084 с другим именем объекта, повторите пп. 1-3 Отсутствие конечной точки (No more end-point) Эта ошибка может возникнуть при выполнении команды repadmin /showreps. Причины ее появления скорее всего следующие.

• Отсутствуют конечные точки для установления TCP сеанса с парт нером по репликации. Выяснить это позволяет команда netscat.

Единственный способ избавиться от ошибки — закрыть текущие сеансы TCP, • Партнер по репликации доступен, но интерфейс RFC Directory Replication Service не зарегистрирован. Обычно это указывает на то, что имя DNS контроллера домена зарегистрировано с невер ным адресом IP.

Ошибка ЮАР Эта ошибка связана с локальной службой КОС. Чтобы ее устранить, остановите службу КОС. Затем синхронизируйте контексты имен командой repadmin /sync. Если все пройдет успешно, команда repad min /showreps ошибок не покажет. После этого можно вновь запус тить службу КОС. Если возникнут другие ошибки, устраните их, как я показал в этой главе.

Сообщения, не являющиеся ошибками Иногда при выполнении repadmin /showreps появляются сообщения, очень похожие на сообщения об ошибках, хотя таковыми не являются.

Active Directory (replication has been pre-empted Означает, что при тиражировании данных от партнера был выпол нен запрос на выполнение более приоритетной репликации. Тиражи рование продолжится в следующий цикл репликации.

Репликация Active Directory Replication posted, waiting Появляется, когда контроллер домена послал запрос на тиражирова ние данных и ожидает ответа. Это означает, что репликация выпол няется в данный момент.

Last attempt @... was not successful Может быть вызвано тем, что КСС создал связи репликации, но реп ликация еще не прошла, например потому, что не открылось окно по расписанию. Проверить, так ли это, можно, инициировав репликацию вручную.

Другая причина в том, что очередь на репликацию от других партне ров столь велика, что она не дошла пока до рассматриваемого парт нера. Чтобы проверить это предположение, запустите монитор про изводительности и посмотрите значение счетчика DRA Pending Repli cation Synchronizations.

Заключение В этой главе мы обсудили одну из важнейших функций Active Direc tory — репликацию. Установить единственный контроллер домена и начать работу с ним может практически каждый — правильное кон фигурирование крупной системы доступно немногим. Вы должны дос конально разобраться в механизме, иначе вы рискуете оказаться в затруднительном положении. Увы, люди обычно обращаются за по мощью, лишь когда рассинхронизированная система перестает адек ватно работать, что лишний раз подтверждает народную мудрость;

«гром не грянет, мужик не перекрестится».

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

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

Тем не менее настоятельно рекомендую прочитать раздел Advanced Troubleshooting в [3], [6]. особенно часть, посвященную репликации.

Групповая политика Сегодня вряд ли стоит доказывать необходимость применения поли тики для управления рабочими станциями и серверами. То, что это заметно повышает управляемость системы и снижает совокупную стоимость владения, вполне очевидно. Для тех, кто представляет, что, как и зачем делать.

Групповая политика в Windows 2000 неразрывно связана с Active Directory — ее архитектурой, топологией репликации и системой безопасности. Связь эта двусторонняя: любой сбой в работе Active Directory непременно отразится на работе групповых правил;

непра вильно примененные групповые правила могут воспрепятствовать нормальной работе Active Directory. Порочный круг!

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

Общие сведения Тот, кто работал с Windows NT, помнит, что в той ОС существовала системная политика — набор правил, позволявший управлять пара метрами клиентских компьютеров. Если вы считаете, что о систем ной политике надо забыть и переключиться на групповую политику Windows 2000, то должен вас огорчить: это не так. В то время как системная политика распространялась на клиенты Windows 9^/NT, групповая политика поддерживается только клиентами под управле нием Windows 2000/XP. И виноваты в этом не разработчики Windows 248 Activej)ireclory: подход профессионала 2000. Как вы увидите дальше, мало создать хорошие правила — надо научить клиенты их понимать и обрабатывать. Увы, все клиенты, вы пущенные до Windows 2000, обрабатывать групповую политику не умеют. Microsoft, конечно, не мирится с этим и, там где это возмож но, выпускает дополнения к устаревшим клиентам Windows, призван ные обеспечить обработку самых важных правил. Но далеко не все технически осуществимо.

Клиент, сервер или кто важнее В процессе регистрации в домене Windows NT 4.0 клиент обращался к файлу config.pol или ntconfig.pol, лежащему по умолчанию на кон троллере домена в совместно используемом ресурсе NETLOGON. Та кой файл был единственным для всего домена и содержал набор пра вил, определенных отдельно для пользователей и для компьютеров.

Эти правила позволяли модифицировать две ветви реестра;

HKEY_ CURRENT_USER (HKCU) для параметров пользователя и HKEYJLO CAL_MACHINE (HKLM) для параметров компьютеров, Групповая же политика может быть применена не однократно в пре делах домена, а многократно к разным элементам в иерархии Active Directory. Достигается это за счет объектов групповой политики (ОГП).

Групповая политика хранится на сервере в разных местах: в папках совместно используемого ресурса SYSVOL и контейнерах в Active Directory. Соответственно и сами групповые правила состоят из двух частей: шаблонов и контейнеров групповых правил. Для каждого ОГП имеется свой контейнер в Active Directory.

Еще одно важное отличие системных правил от групповых в том, когда они применяются к клиенту. Если первые действовали только при регистрации пользователя на компьютере, то вторые применя ются несколько раз: сначала ну этапе старта клиентской машины и ее обращения к сети в поисках «своего* домена, затем при регистра ции пользователя в домене, а потом периодически с устанавливаемым интервалом. Так что от клиента не зависит, получит ли он групповую политику. Коль это Windows 2000 или Windows XP Pro, то политика обязательно будет применена.

Но у каждого клиента своя локальная политика, хранящаяся в катало ге %systemroot%\5ystern3 2 \grouppolicy. Будет ли она переписана при мененной политикой полностью или частично либо будет главенство вать? Думаю, что, читая книги по групповой политике на английском языке, вы сталкивались с аббревиатурой LSDOU. Это сокращение слу жит для запоминания последовательности применения групповых правил:

• локальные (L);

• для сайта (S):

Групповая политика + для домена (D);

ф для организационных подразделений (OU).

Таким образом, первыми применяются локальные правила. Вторыми — те, что определены на уровне сайта, и если они противоречат пер вым, то первые игнорируются. Далее идут правила, применяемые на уровне домена. Они имеют преимущество перед сайтовыми и локаль ными правилами. И, наконец, — правила уровня ОП. Они важнее всех предыдущих. Если вспомнить о том, что ОП в домене могут выстраи ваться в иерархию, то ряд можно продолжить и дальше: правила, при мененные к ОП второго уровня имеют преимущества перед правилами ОП первого, правила третьего «перебивают» правила предыдущих и т. д.

Но мало определить групповые правила на сервере, мало задать пос ледовательность их применения. Надо, чтобы и клиенты понимали, как обрабатывать эти правила. Для этого на всех клиентах Windows 2000/ХР устанавливается по умолчанию набор динамических библио тек — клиентские расширения групповой политики. Именно в этих динамических библиотеках реализована нужная функциональность.

Узнать, какие расширения установлены на вашем компьютере, мож но в ветви реестра HKLM \Software\Microsoft\Winctows NT\CurrentVer sion\Wmlogon\Gpextensions. Кроме стандартных, различные приложе ния могут устанавливать собственные расширения для обработки специфических групповых правил.

Перечень клиентских расширений групповой политики в реестре Как видите, однозначно сказать, кто главнее в процессе применения групповой политики: сервер или клиент, — нельзя. Эти компоненты дополняют друг друга. И если на клиентской машине не будет файла scecli.dll, то групповая политика вообще не будет действовать.

250 Active Directory: подход профессионала Типы групповых правил Групповые правила делятся на две основные категории: относящиеся к компьютерам и относящиеся к пользователям. Первые действуют на этапе загрузки компьютера, вторые — при регистрации пользователя в домене. Поэтому, даже если компьютер просто подключен к сети и является членом домена, то независимо от того, зарегистрировался ли на нем пользователь, групповые правила к нему уже применены.

Для каждой из этих двух категорий существует определенный набор правил, применение которых возможно по умолчанию:

Наборы правил для компьютеров и пользователей Правила Описание Правила для Software settings — Позволяет [газначать установку на компьютеры приложений, использующих технологию Windows Software Installation Installer Windows Settings — Обеспечивает конфигурирование системы безопас Security settings ности компьютеров по шаблонам безопасности Windows Settings — Позволяет исполнять сценарии при загрузке или Scripts выключении компьютера. Сценарии могут быть обычными командными файлами или сценариями Windows Scripting Host (WSH) Шаблоны для конфигурирования HKLM ветви Administrative реестра Templates Правила для пользователей -Software settings — Позволяет назначать установку приложений, исполь Softwarc Installation зующих технологию Windows Installer, на те компью теры, где зарегистрировались пользователи Windows Settings — Позволяет настраивать Internet Explorer для каждого Internet Explorer пользователя а отдельности Maintenance Windows Settings — Перенаправление таких папок, как Desktop, Folder Redirection My Documents и Startup, в каталоги, отличные от используемых по умолчанию Windows Settings — Позволяют управлять параметрами инфраструктуры открытых ключей для пользователей Security settings Windows Settings — Определяют, конфигурацию средств удаленной Remote Installation установки ОС для каждого пользователя Services Windows Settings — Позволяют исполнять сценарии при регистрации Scripts пользователя в домене или выходе из него. Сценарии могут быть обычными командными файлами или сценариями Windows Scripting Host (WSH) Administrative Шаблоны для конфигурирования HKCU ветви Templates реестра Мы еще обсудим эти типы правил, а пока подробно рассмотрим ме ханизм групповой политики.

Групповая политика Структура и обработка групповой политики А начнем мы с внутреннего устройства объектов групповой полити ки — это окажет неоценимую услугу в поиске проблем.

Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 8 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.