1. Общая информация
Один из контроллеров домена Avanpost DS (по умолчанию первый установленный) имеет роль хозяина относительных идентификаторов (RID master). Этот сервер выдает массивы уникальных идентификаторов контроллерам домена, для создания объектов с уникальными атрибутами "uidnumber", "gidnumber" и "sid". Все контроллеры домена получают у RID master пул идентификаторов при добавлении в домен и при исчерпании пула более чем на 50%. В файле конфигурации Avanpost DS можно изменить размер пула и пороговое значение для запроса выдачи нового пула.
Если КД с ролью RID master не доступен, то добавить новый контроллер в репликацию не получится, возникнет ошибка вида:
Nov 25 15:31:23 ds04.avanpost.local ads[88341]: 2024/11/25 15:31:23 Error initing new server: NewUidGidNumberProvider err: rpc error: code = Unknown desc = rid master is not configured
2. Назначение роли RID master другому КД
Если КД с ролью RID master стал недоступен, либо его данные безвозвратно утеряны, то необходимо одному из доступных КД назначить эту роль.
Для этого требуется подключиться на доступный КД, например "ds02.avanpost.local" по SSH и выполнить команду по шаблону:
/opt/avanpost/ads/cli/cli change-rid-master --hostname [FQDN] --lastrid [LAST RID] --endpoint [IP]:48910
Заменить [FQDN] на полное доменное имя (FQDN) контроллера домена, которому передаем роль RID master.
Заменить [IP] на IP адрес контроллера домена, которому передаем роль RID master.
Заменить [LAST RID] на последний выданный идентификатор объекта или пула. Если последний выданный ID неизвестен, можно указать большое число (например, 1000000
), чтобы избежать конфликтов.
ВАЖНО:
Посмотреть пул идентификаторов можно через утилиту Apache Directory Studio. (По Apache Directory Studio см. инструкцию "5.3. Настройка Apache Directory Studio для работы с Avanpost DS")
Данную процедуру необходимо провести на всех КД. Значение параметра "--lastrid" на новом КД с ролью RID master не должно пересекаться с пулом каждого КД, Лучшим решением будет выставить значение "--lastrid" по верхней границе пула всех КД.
DN: uid=DirectoryService,ou=state,dc=system
/opt/avanpost/ads/cli/cli change-rid-master --hostname ds02.avanpost.local --lastrid 1000000 --endpoint 192.168.10.8:48910
3. Проверка, какой из контроллеров домена имеет роль RID master
Для проверки назначения роли RID master новому КД необходимо выполнить команду по шаблону и по запросу ввести пароль от УЗ, указанной в команде:
ldapsearch -H ldap://[IP]:389 -D cn=[ЛОГИН],ou=users,dc=[Домен2ур],dc=[Домен1ур] -W -b "uid=ridmaster,dc=system" "(uid=*)"
Заменить [IP] на IP адрес контроллера домена, которому передали роль RID master.
Заменить [Домен1ур] на свой домен первого уровня, а [Домен2ур] — на свой домен второго уровня.
Заменить [ЛОГИН] на логин администратора Avanpost DS.
$ ldapsearch -H ldap://192.168.10.8:389 -D cn=Administrator,ou=users,dc=avanpost,dc=local -W -b "uid=ridmaster,dc=system" "(uid=*)" Enter LDAP Password: ... # ridmaster, system dn: uid=ridmaster,dc=system host: 192.168.10.8 uid: 01936e39-1c63-7e0d-8833-fd3529e878c5 ...