Администрирование репликации

Для управления репликацией в домене Эллес с помощью утилиты samba-tool используется группа подкоманд drs.

Получение информации о состоянии репликации на контроллере домена

Для получения информации о состоянии входящей и исходящей репликации для контроллера в домене Эллес используется следующий формат вызова:

samba-tool drs showrepl [<DC>] [options]

Вывод команды содержит информацию о состоянии входящей и исходящей репликации в рамках соглашений между контроллерами домена в лесу AD с точки зрения контроллера домена, на котором выполняется команда, либо указанного удаленного контроллера домена (<DC>).

В случае успешного выполнения репликации в каждом из блоков в разделах INBOUND NEIGHBORS и OUTBOUND NEIGHBORS отображается состояние репликации для следующих контейнеров:

  • DC=Forest_Root_Domain;

  • CN=Configuration,DC=Forest_Root_Domain;

  • CN=Schema,CN=Configuration,DC=Forest_Root_Domain;

  • DC=ForestDnsZones,DC=Forest_Root_Domain;

  • DC=DomainDnsZones,DC=Forest_Root_Domain.

После присоединения контроллера к домену службам синхронизации данных (KCC) требуется до 15 минут для создания требуемых объектов и запуска входящей и исходящей репликации для всех контейнеров.

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

  • заголовок с GUID локального агента службы каталогов (DSA);

  • раздел INBOUND NEIGHBORS — статус репликации объектов по каждому разделу каталога на текущий или указанный контроллер домена с других контроллеров;

  • раздел OUTBOUND NEIGHBORS — статус репликации объектов по каждому разделу каталога с текущего или указанного контроллера домена на другие контроллеры;

  • раздел KCC CONNECTION OBJECTS — информация о контроллерах домена, службы синхронизации данных (KCC) которых установили соглашения о репликации с текущим или указанным контроллером домена.

    В конце раздела выводится сообщение No NC replicated for Connection!, которое можно игнорировать.

Параметры

Параметры вызова:

  • --json — вывод информации о репликации в формате JSON;

  • --summary — вывод сводной информации о состоянии входящей и исходящей репликации;

  • --pull-summary — вывод сводной информации о состоянии входящей репликации;

  • --notify-summary — вывод сводной информации о состоянии исходящей репликации;

  • --classic — вывод информации о состоянии репликации в стандартном формате;

  • -v|--verbose — вывод детальной информации.

Примеры

Пример получения информации о состоянии входящей и исходящей репликации в стандартном формате:

samba-tool drs showrepl
Default-First-Site-Name\DC2
DSA Options: 0x00000001
DSA object GUID: c14a774f-9732-4ec2-b9fa-2156c95c4e48
DSA invocationId: 7bdb135c-6868-4dd9-9460-33dea4b6b87b

==== INBOUND NEIGHBORS ====

CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com
       Default-First-Site-Name\DC1 via RPC
               DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
               Last attempt @ Sat May 13 02:52:36 2017 CEST was successful
               0 consecutive failure(s).
               Last success @ Sat May 13 02:52:36 2017 CEST

DC=DomainDnsZones,DC=samdom,DC=example,DC=com
       Default-First-Site-Name\DC1 via RPC
               DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
               Last attempt @ Sat May 13 02:52:36 2017 CEST was successful
               0 consecutive failure(s).
               Last success @ Sat May 13 02:52:36 2017 CEST

CN=Configuration,DC=samdom,DC=example,DC=com
       Default-First-Site-Name\DC1 via RPC
               DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
               Last attempt @ Sat May 13 02:52:36 2017 CEST was successful
               0 consecutive failure(s).
               Last success @ Sat May 13 02:52:36 2017 CEST

DC=ForestDnsZones,DC=samdom,DC=example,DC=com
       Default-First-Site-Name\DC1 via RPC
               DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
               Last attempt @ Sat May 13 02:52:36 2017 CEST was successful
               0 consecutive failure(s).
               Last success @ Sat May 13 02:52:36 2017 CEST

DC=samdom,DC=example,DC=com
       Default-First-Site-Name\DC1 via RPC
               DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
               Last attempt @ Sat May 13 02:52:36 2017 CEST was successful
               0 consecutive failure(s).
               Last success @ Sat May 13 02:52:36 2017 CEST

==== OUTBOUND NEIGHBORS ====

CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com
       Default-First-Site-Name\DC1 via RPC
               DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
               Last attempt @ NTTIME(0) was successful
               0 consecutive failure(s).
               Last success @ NTTIME(0)

DC=DomainDnsZones,DC=samdom,DC=example,DC=com
       Default-First-Site-Name\DC1 via RPC
               DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
               Last attempt @ NTTIME(0) was successful
               0 consecutive failure(s).
               Last success @ NTTIME(0)

CN=Configuration,DC=samdom,DC=example,DC=com
       Default-First-Site-Name\DC1 via RPC
               DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
               Last attempt @ NTTIME(0) was successful
               0 consecutive failure(s).
               Last success @ NTTIME(0)

DC=ForestDnsZones,DC=samdom,DC=example,DC=com
       Default-First-Site-Name\DC1 via RPC
               DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
               Last attempt @ NTTIME(0) was successful
               0 consecutive failure(s).
               Last success @ NTTIME(0)

DC=samdom,DC=example,DC=com
       Default-First-Site-Name\DC1 via RPC
               DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
               Last attempt @ NTTIME(0) was successful
               0 consecutive failure(s).
               Last success @ NTTIME(0)

==== KCC CONNECTION OBJECTS ====

Connection --
       Connection name: fb03f58b-1654-4a02-8e11-f0ea120b60cc
       Enabled        : TRUE
       Server DNS name : DC1.samdom.example.com
       Server DN name  : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
               TransportType: RPC
               options: 0x00000001
Warning: No NC replicated for Connection!

Запуск службы синхронизации данных (KCC)

Для запуска службы Knowledge Consistency Checker (KCC) на текущем или удаленном контроллере домене Эллес используется следующий формат вызова:

samba-tool drs kcc [<DC>] [options]

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

Может использоваться для создания соединений с целью репликации в том случае, если в выводе команды samba-tool drs showrepl отсутствует информация о других контроллерах домена.

Параметры

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

Примеры

Пример принудительного запуска KCC на удаленном контроллере домена:

samba-tool drs kcc DC2.samdom.example.com -U administrator
Password for [administrator@SAMDOM.EXAMPLE.COM]:
Consistency check on DC2.samdom.example.com successful

Выполнение репликации

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

samba-tool drs replicate <destinationDC> <sourceDC> <NC> [options]

Подкоманда выполняет репликацию указанного раздела каталога (<NC>) на указанный контроллер-приемник (<destinationDC>) с указанного контроллера-источника (<sourceDC>).

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

По умолчанию подкоманда реплицирует только операции над объектами, которые не выполнялись на контроллере-приемнике. К таким операциям относятся:

  • создание новых объектов каталога;

  • изменение объектов каталога;

  • удаление объектов каталога.

Для повторной синхронизации данных по всем объектам в разделе каталога при запуске подкоманды используйте параметр --full-sync.

Параметры

Параметры вызова:

  • --add-ref — использовать ADD_REF для добавления к repsTo на источнике;

  • --sync-forced — использовать SYNC_FORCED для принудительного выполнения входящей репликации;

  • --sync-all — использовать SYNC_ALL для выполнения репликации со всех контроллеров;

  • --full-sync — выполнить повторную синхронизацию данных по всем объектам;

  • --local — загрузить изменения напрямую в локальную базу данных (контроллер-приемник игнорируется);

  • --local-online — загрузить изменения в локальную базу данных (контроллер-приемник игнорируется) так, как это происходит в рамках стандартной процедуры репликации;

  • --async-op — использовать для репликации ASYNC_OP;

  • --single-object — реплицировать только данные по указанному объекту вместо репликации всего раздела каталога (используется только вместе с параметром --local).

Примеры

Пример выполнения репликации всех разделов каталога AD между контроллерами DC1 и DC2:

samba-tool drs replicate DC2 DC1 dc=samdom,dc=example,dc=com
Replicate from DC1 to DC2 was successful.

samba-tool drs replicate DC2 DC1 DC=ForestDnsZones,DC=samdom,DC=example,DC=com
Replicate from DC1 to DC2 was successful.

samba-tool drs replicate DC2 DC1 CN=Configuration,DC=samdom,DC=example,DC=com
Replicate from DC1 to DC2 was successful.

samba-tool drs replicate DC2 DC1 DC=DomainDnsZones,DC=samdom,DC=example,DC=com
Replicate from DC1 to DC2 was successful.

samba-tool drs replicate DC2 DC1 CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com
Replicate from DC1 to DC2 was successful.

Управление флагами агента службы каталогов (DSA)

Для запроса или изменения флагов объекта NTDS Settings на контроллере домена Эллес используется следующий формат вызова:

samba-tool drs options [<DC>] [options]

Подкоманда позволяет просмотреть или изменить (при использовании параметра --dsa-option) флаги объекта NTDS Settings на текущем или удаленном контроллере домена (<DC>).

Параметры

Параметры вызова:

  • --dsa-option={|-}IS_GC | {|-}DISABLE_INBOUND_REPL | {|-}DISABLE_OUTBOUND_REPL | {|-}DISABLE_NTDSCONN_XLATE — флаг DSA, который требуется снять/установить.

Примеры

Пример запроса флагов DSA для текущего контроллера домена:

samba-tool drs options
Current DSA options: IS_GC

Выполнение первоначальной репликации без присоединения к домену

Для выполнения первоначальной репликации без присоединения сервера к домену Эллес используется следующий формат вызова:

samba-tool drs clone-dc-database <dnsdomain> [options]

Подкоманда позволяет эмулировать процесс репликации для указанного домена (<dnsdomain>) без присоединения к нему и внесения каких-либо изменений. Может использоваться для целей тестирования и отладки.

Параметры

Параметры вызова:

  • --server=SERVER — полное доменное имя или IP-адрес контроллер домена AD для присоединения;

  • --targetdir=TARGETDIR — каталог для сохранения данных, получаемых при присоединении;

  • -q|--quiet — тихий режим (отключает вывод диагностических сообщений во время работы подкоманды);

  • --include-secrets — также реплицировать секретные данные домена;

  • --backend-store=BACKENDSTORE — тип базы данных каталога; возможные значения: tdb | mdb; значение по умолчанию — tdb;

  • --backend-store-size=SIZE — максимальный размер файлов базы данных каталога; поддерживается только для баз данных LMDB (--backend-store=mdb); значение по умолчанию — 8 ГБ.

Примеры

Пример выполнения репликации без присоединения к домену:

mkdir /tmp/example
samba-tool drs clone-dc-database SAMDOM.EXAMPLE.COM --include-secrets --targetdir=/tmp/example --server=DC1.samdom.example.com -U administrator

Получение информации о задержках при репликации

Для получения информации о задержках при репликации в домене Эллес используется следующий формат вызова:

samba-tool drs uptodateness [options]

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

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URI LDAP-сервера; может содержать указание на протокол, имя хоста и номер порта;

  • -p PARTITION|--partition=PARTITION — раздел каталога, для которого требуется вывести значения задержки при репликации;

  • --json — вывод данных в формате JSON;

  • --maximum — вывод только максимальных значений задержки при репликации;

  • --median — вывод только медианных значений задержки при репликации;

  • --full — вывод полных данных о задержках при репликации.

Примеры

Пример получения информации о задержках при репликации:

samba-tool drs uptodateness
DOMAIN          maximum: 207  median: 18.0  failure: 10
CONFIGURATION   maximum: 468  median: 29.0  failure: 10
SCHEMA          maximum: 318  median: 27.0  failure: 10
DNSDOMAIN       maximum: 56  median: 3.0  failure: 10
DNSFOREST       maximum: 378  median: 36.0  failure: 10

Получение информации о поддерживаемых расширениях DRS

Для получения информации о расширениях протокола Directory Replication Service (DRS) Remote Protocol, поддерживаемых контроллером в домене Эллес, используется следующий формат вызова:

samba-tool drs bind [<DC>] [options]

Подкоманда выводит список расширений в соответствии со спецификацией протокола Directory Replication Service (DRS) Remote Protocol с указанием статуса поддержки (Yes/No) на текущем или указанном удаленном (<DC>) контроллере домена.

Параметры

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

Примеры

Пример получения информации о расширениях протокола Directory Replication Service (DRS) Remote Protocol, поддерживаемых контроллером домена:

samba-tool drs bind
Bind to DC1.samdom.example.com succeeded.
Extensions supported:
  DRSUAPI_SUPPORTED_EXTENSION_BASE                            : Yes (DRS_EXT_BASE)
  DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION               : Yes (DRS_EXT_ASYNCREPL)
  DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI                       : Yes (DRS_EXT_REMOVEAPI)
  DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2                      : Yes (DRS_EXT_MOVEREQ_V2)
  DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS                 : No  (DRS_EXT_GETCHG_DEFLATE)
  DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1                       : Yes (DRS_EXT_DCINFO_V1)
  DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION        : Yes (DRS_EXT_RESTORE_USN_OPTIMIZATION)
  DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY                        : No  (DRS_EXT_ADDENTRY)
  DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE                     : Yes (DRS_EXT_KCC_EXECUTE)
  DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2                     : Yes (DRS_EXT_ADDENTRY_V2)
  DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION        : Yes (DRS_EXT_LINKED_VALUE_REPLICATION)
  DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2                       : Yes (DRS_EXT_DCINFO_V2)
  DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD    : Yes (DRS_EXT_INSTANCE_TYPE_NOT_REQ_ON_MOD)
  DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND                     : Yes (DRS_EXT_CRYPTO_BIND)
  DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO                   : Yes (DRS_EXT_GET_REPL_INFO)
  DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION               : Yes (DRS_EXT_STRONG_ENCRYPTION)
  DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01                      : Yes (DRS_EXT_DCINFO_VFFFFFFFF)
  DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP           : Yes (DRS_EXT_TRANSITIVE_MEMBERSHIP)
  DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY                 : Yes (DRS_EXT_ADD_SID_HISTORY)
  DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3                      : Yes (DRS_EXT_POST_BETA3)
  DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5                    : Yes (DRS_EXT_GETCHGREQ_V5)
  DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2                : Yes (DRS_EXT_GETMEMBERSHIPS2)
  DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6                    : Yes (DRS_EXT_GETCHGREQ_V6)
  DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS                   : Yes (DRS_EXT_NONDOMAIN_NCS)
  DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8                    : Yes (DRS_EXT_GETCHGREQ_V8)
  DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5                  : Yes (DRS_EXT_GETCHGREPLY_V5)
  DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6                  : Yes (DRS_EXT_GETCHGREPLY_V6)
  DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3                : Yes (DRS_EXT_WHISTLER_BETA3)
  DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7                  : Yes (DRS_EXT_WHISTLER_BETA3)
  DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT                   : Yes (DRS_EXT_WHISTLER_BETA3)
  DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS                 : No  (DRS_EXT_W2K3_DEFLATE)
  DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10                   : Yes (DRS_EXT_GETCHGREQ_V10)
  DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2                  : No  (DRS_EXT_RESERVED_FOR_WIN2K_OR_DOTNET_PART2)
  DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3                  : No  (DRS_EXT_RESERVED_FOR_WIN2K_OR_DOTNET_PART3)