Нужна помощь в переносе базы ldap.
Стоит сервер SLES10sp3, на нем ldap сервер. Хочу этот сервер вывести из работы, но как перекинуть ldap на другой сервер (тоже SLES10sp3) не знаю.
Читал про репликацию (и документация от новела и просто в инете), но как применить ее к SLES так и не понял.
Кроме того как после репликации slave поднять до уровня основного
Буду очень благодарен за любую помощь.
> Нужна помощь в переносе базы ldap.
> Стоит сервер SLES10sp3, на нем ldap сервер. Хочу этот сервер вывести из
> работы, но как перекинуть ldap на другой сервер (тоже SLES10sp3) не
> знаю.
> Читал про репликацию (и документация от новела и просто в инете), но
> как применить ее к SLES так и не понял.
> Кроме того как после репликации slave поднять до уровня основного
> Буду очень благодарен за любую помощь.вам нужно slapcat/slapadd.
> вам нужно slapcat/slapadd.Это точно сработает в SLES. Потому как в нем все не как у людей. И ldap сервер поднимался средствами Yast.
>> вам нужно slapcat/slapadd.
> Это точно сработает в SLES. Потому как в нем все не как
> у людей. И ldap сервер поднимался средствами Yast.Откровенно говоря, ничего не знаю про suse. Но если это OpenLDAP, то конечно сработает. Если у них там какой-то свой directory server типа как у RedHat, то он наверняка все равно использует OpenLDAP как бэкенд. В общем или предоставьте больше информации или попробуй сделать дамп slapcat'ом и развернуть его slapadd'ом.
>> вам нужно slapcat/slapadd.
> Это точно сработает в SLES. Потому как в нем все не как
> у людей. И ldap сервер поднимался средствами Yast.Почитал вот тут:
http://www.linuxtopia.org/online_books/suse_linux_guides/SLE...Я так понял что там используется OpenLDAP, а yast просто позволяет настроить ldap и pam из gui. Так что вариант с slapcat/slapadd вам определенно подойдет.
> Я так понял что там используется OpenLDAP, а yast просто позволяет настроить
> ldap и pam из gui. Так что вариант с slapcat/slapadd вам
> определенно подойдет.То что используется OpenLDAP это я знаю. Команда slapcat выполняется нормально, без ошибок. А вот slapadd пока дает ошибки. Чуть позже опишу подробно.
Все я ушел в ступор.
1. поставил suse на новую машину (копия старого сервера, с тем же именем), во время инсталляции АВТОМАТИЧЕСКИ СОЗДАЕТСЯ нужная база ldap (DC=TEST,DC=RU). Все прекрасно работает.
2. С рабочего сервера делаю выгрузку ldap базы в файл. Все нормально, без ошибок.
3. Пытаюсь импортировать базу. И вот тут начинаются ошибки.=> bdb_tool_entry_put: id2entry_add failed: DB_KEYEXIST: Key/data pair already exists (-30996)
=> bdb_tool_entry_put: txn_aborted! DB_KEYEXIST: Key/data pair already exists (- 30996)
slapadd: could not add entry dn="dc=test,dc=ru" (line=13): txn_aborted! DB_KE YEXIST: Key/data pair already exists (-30996)После этого на новом сервере зайти в базу ldap невозможно ошибка авторизации.
Куда смотреть, чего показать.И все таки может кто знает как сделать репликацию в suse
> Посмотреть заливаемый ldif файл и удалить уже существующие записи.
>> Посмотреть заливаемый ldif файл и удалить уже существующие записи.И так делал. Он начинает ругаться на позиции типа SambaSID, на новом сервере не была поднята samba.
str2entry: str2ad (sambaSID) attribute type undefined
>>> Посмотреть заливаемый ldif файл и удалить уже существующие записи.
> И так делал. Он начинает ругаться на позиции типа SambaSID, на новом
> сервере не была поднята samba.
> str2entry: str2ad (sambaSID) attribute type undefinedНужно чтобы slapd.conf совпадал с тем, что на старом сервере. И схемы все должны быть со старого сервера. В данном случае samba.scheme. Скопируйте конфиг, схемы, удалите текущую базу и залейте заново из ldif.
Всем огромное спасибо.
После многочисленных попыток получилось нормально импортировать базу командой slapadd. Базу на новом сервере удалять не стал. Пришлось удалить из файла ldif все совпадающие позиции и изменить SambaSID от нового сервера. Схемы копировать также не стал , просто поднял все сервисы какие были на основном сервере.А как все таки реализовать репликацию ldap? На будущее, чтобы не плясать больше с бубнами.
Из того что я нашел в литературе новела
slapd.conf на мастер сервере:
replica uri=slave_ldap.test.ru
binddn="cn=replicator,dc=test,dc=ru"
bindmethod=simle
credentials=password
slapd.conf на вторичном сервереupdatedn="cn=replicator,dc=test,dc=ru"
updateref="ldap://master.test.ru"
access to *
by dn="cn=replicator,cn=test,ch=ru" write
by * readДостаточно ли будет этих строк?
Для чего нужны slurpd или syncrepl?
>[оверквотинг удален]
> bindmethod=simle
> credentials=password
> slapd.conf на вторичном сервере
> updatedn="cn=replicator,dc=test,dc=ru"
> updateref="ldap://master.test.ru"
> access to *
> by dn="cn=replicator,cn=test,ch=ru" write
> by * read
> Достаточно ли будет этих строк?
> Для чего нужны slurpd или syncrepl?slurpd - это отдельный демон для репликации. Сейчас он объявлен устаревшим и не должен использоваться. syncrepl - современная замена slurpd, работающая на базе самого slapd, а не отдельного демона. Мастер-сервер должен иметь оверлей syncprov, не знаю как в suse, может он там как-то модулем отдельно подключается. Плюс нужно завести отдельного юзера для репликации с минимальным набором прав. Конфигурация слэйв-серверов примерно такая (только что касается репликации)
syncrepl rid=7
provider=ldap://server
type=refreshOnly
interval=00:00:05:00
retry="30 10 600 20"
searchbase="dc=domain,dc=tld"
binddn="cn=repl,dc=domain,dc=tld"
credentials=replpossword
updateref ldap://serverБолее подробно смотрите в официальной документации к openldap.