При обновлении/переходе на другой дистрибутив удаляем реплики,добавляем заново.
Если удаляемая реплика IPA CA renewal master
Проверяем
ipa config-show | grep "CA renewal"
Переносим на дргой хост
ipa config-mod —ca-renewal-master-server
Удаление реплики
# ipa server-del
# ipa host-del
# ipa-replica-manage del
ПРоверяем не остались ли «replica update vectors» в LDAP
ipa-replica-manage list-ruv
Directory Manager password: password
Если осталось что-то лишнее,то ждем еще какое-то время(до 10 минут)
Если всё равно остается,то можно удалить в ручную
ipa-replica-manage clean-ruv
Разворачиваем реплику на новом сервере
ipa-replica-install --principal admin --admin-password
По окончании процесса выключаем анонимный доступ к ldap
ldapmodify -x -D "cn=Directory Manager" -W -h ipa.host -p 389 -ZZ
Enter LDAP Password:
dn: cn=config
changetype: modify
replace: nsslapd-allow-anonymous-access
nsslapd-allow-anonymous-access: rootdse
В веб морде задаем новые связи IPA Server -> Topology -> Topology Graph
Если checkipaconsistency показывает статус реплики отличный от 0,то смотрим подробности
ipa-replica-manage -v list $HOSTNAME
/var/log/dirsrv/slapd-
Если что-то пошло не так и checkipaconsistency показывает ldap conflicts
Список конфликтующих значений
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict list dc=example,dc=com
При наличии записей с одинаковым DN процедура автоматического разрешения конфликтов во время репликации переименовывает последнюю созданную запись, добавляя уникальный идентификатор.Например
uid=user_name,ou=People,dc=example,dc=com — оригинальная запись
nsuniqueid=66446001-1dd211b2+uid=user_name,ou=People,dc=example,dc=com — дубликат
Удаляем все дубликаты,которые вывела предыдущая команда,примерно так
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict delete nsuniqueid=66446001-1dd211b2+uid=user_name,ou=People,dc=example,dc=com
или через ldapdelete
ldapdelete -v -x -W 'nsuniqueid=66446001-1dd211b2+uid=user_name,ou=People,dc=example,dc=com'