Настройка глобального каталога

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

Принудительное включение роли сервера глобального каталога

По умолчанию при запуске контроллер домена Эллес не устанавливает атрибут isGlobalCatalogReady и не регистрирует в DNS SRV-запись для обнаружения его в качестве сервера глобального каталога до тех пор, пока не будет завершена синхронизация всех частично реплицируемых разделов каталога.

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

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

При необходимости принудительно включить роль сервера глобального каталога через определенное время после запуска используйте конфигурационный параметр ldap_server:gc_delay_advertisement в разделе [global] файла smb.conf на контроллере домена Эллес.

Параметр задает период в секундах, по истечении которого контроллер домена устанавливает атрибут isGlobalCatalogReady и регистрирует в DNS SRV-запись для обнаружения его в качестве сервера глобального каталога, независимо от текущего уровня заполненности разделов каталога.

По умолчанию период не установлен (ldap_server:gc_delay_advertisement = 2147483647), и роль сервера глобального каталога включается только после достижения уровня заполненности, заданного параметром ldap_server:gc_partition_occupancy (по умолчанию — уровень 6).

Параметр ldap_server:gc_delay_advertisement имеет приоритет над уровнем заполненности, но не отменяет его. Если gc_delay_advertisement истек, а уровень заполненности ниже заданного gc_partition_occupancy, сервер глобального каталога будет объявлен, но в логах появится предупреждение (EventId 1578) о несоответствии требований к репликации.

Пример изменения значения параметра:

[global]
    ...
    ldap_server:gc_delay_advertisement = 30
    ...

Управление уровнем заполненности разделов каталога

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

Параметр принимает целочисленные значения от 0 до 6, соответствующие стадиям завершения репликации:

  • уровень 0 — нет требований к заполненности, сервер глобального каталога может быть включен немедленно;

  • уровень 1 — хотя бы для одного частичного раздела каталога начата репликация;

  • уровень 2 — хотя бы один частичный раздел каталога полностью синхронизирован;

  • уровень 3 — для всех частичных разделов каталога, расположенных в локальном сайте, начата репликация;

  • уровень 4 — все частичные разделы каталога, расположенные в локальном сайте, полностью синхронизированы;

  • уровень 5 — для всех частичных разделов каталога в лесу начата репликация;

  • уровень 6 — все частичные разделы каталога в лесу полностью синхронизированы.

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

Пример настройки:

[global]
    ...
    ldap_server:gc_partition_occupancy = 4
    ...

При достижении уровня заполненности или принудительном включении (через gc_delay_advertisement) устанавливается атрибут isGlobalCatalogReady в базе данных и регистрируется SRV-запись в DNS.

Управление повторными IRPC-вызовами

Для управления повторными внутренними RPC-вызовами (Internal Remote Procedure Call, IRPC), совершаемыми LDAP-сервером при включении функциональности глобального каталога, используются параметры:

  • ldap_server:gc_irpc_retry_period_msec (по умолчанию — 60000):

    • задает интервал в миллисекундах для повторной попытки неуспешного IRPC-вызова;

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

  • ldap_server:gc_irpc_max_retries (по умолчанию — 30) — задает максимальное количество попыток повторения IRPC-вызова.

Если в процессе включения функциональности глобального каталога обнаруживается, что не все доменные разделы доступны локально, LDAP-сервер (сервис ldap_server) совершает несколько IRPC-вызовов:

  1. Вызывает сервис KCC (kccsrv) для обновления топологии репликации.

  2. Вызывает сервис репликации (dreplsrv).

  3. После завершения репликации — вызывает сервис обновления записей DNS (dnsupdate).

  4. Опционально вызывает сам себя для нотификации рабочих процессов.

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

В текущей версии Эллес эти параметры влияют только на вызовы KCC. Изменять их не требуется.

Сохранение размера файлов базы данных для LMDB-бэкенда

Если при присоединении сервера к домену с помощью команды samba-tool domain join в качестве базы данных указывается LMDB-бэкенд (--backend-store=mdb), для корректного создания файлов частичных доменных разделов каталога также должен быть задан достаточный для этого размер файлов базы данных (--backend-store-size).

Чтобы заданное при присоединении значение --backend-store-size было доступно функциональности глобального каталога, оно сохраняется в отдельном конфигурационном параметре — ldb_backend:store size.

Этот параметр добавляется автоматически в файл конфигурации smb.conf процедурой join. Изменять его значение вручную не требуется.