Я хочу полностью перенести всю базу данных с conf, схемой (всем) из очень старой Debian 4 ( травление ) экземпляр к новому Debian 11 (яблочко).
Исходная система работает slapd 2.3.30 и пункт назначения slapd 2.4.57
Я нашел несколько тем, как это сделать, например, эту: Как перенести LDAP на другой компьютер
но это не работает в моем случае. Я получил такие ошибки:
> slapcat -n 0 -l схема.backup.ldif
/etc/ldap/slapd.conf: строка 183: rootdn всегда имеет неограниченные привилегии.
/etc/ldap/slapd.conf: строка 193: rootdn всегда имеет неограниченные привилегии.
/etc/ldap/slapd.conf: строка 202: rootdn всегда имеет неограниченные привилегии.
/etc/ldap/slapd.conf: строка 231: rootdn всегда имеет неограниченные привилегии.
slapcat: не удалось открыть базу данных
Я также пробовал варианты с -f указывает на /etc/ldap/slapd.conf и -Ф указывает на /etc/ldap/ каталог переключиться, но это не помогает.
Резервное копирование выполняется всего за -n 1 коммутатор не импортирует на новый сервер с ошибкой - это ожидалось:
> slapadd -l база данных.ldif
slapadd: строка 1: база данных №1 (dc=localdomain) не настроена для хранения "dc=system,o=domain,c=com"; база данных не настроена для этого контекста именования
Закрыть БД...
В любом случае, даже если это сработает, будет отсутствовать вся конфигурация и схемы, так что это не то, что мне нужно.
Мне удалось сбросить на исходную старую систему с выключенным демоном slapd только эту резервную копию:
> slapcat -l backup.ldif
Затем я скопировал его вместе с slapd.conf, файлами схемы и сертификатами на новую машину и запустил:
slaptest -f slapd.conf -F slapd.d/ -d 256
61264867 slapd.conf: строка 150: ключевое слово <replogfile> устарело (игнорируется)
61264867 slapd.conf: строка 153: ключевое слово <replica> устарело (игнорируется)
61264867 slapd.conf: строка 183: rootdn всегда имеет неограниченные привилегии.
61264867 slapd.conf: строка 193: rootdn всегда имеет неограниченные привилегии.
61264867 slapd.conf: строка 202: rootdn всегда имеет неограниченные привилегии.
61264867 slapd.conf: строка 231: rootdn всегда имеет неограниченные привилегии.
61264867 bdb_db_open: предупреждение - файл DB_CONFIG не найден в каталоге /var/lib/ldap: (2).
Ожидайте низкой производительности для суффикса "dc=system,o=domain,c=pl".
61264867 bdb_db_open: база данных "dc=system,o=domain,c=pl": ошибка db_open(/var/lib/ldap/id2entry.bdb): нет такого файла или каталога (2).
61264867 backend_startup_one (type=bdb, suffix="dc=system,o=domain,c=pl"): ошибка bi_db_open! (2)
slap_startup не прошел (проверка прошла успешно с использованием ключа -u)
Это не выглядит идеально, но позволило мне импортировать резервную базу данных:
# slapadd -l backup.ldif
612648c3 bdb_db_open: предупреждение - файл DB_CONFIG не найден в каталоге /var/lib/ldap: (2).
Ожидайте низкой производительности для суффикса «dc=system,o=domain,c=com».
-##################### 100,00% расчетное время не истекло 21 с скорость 88,2 к/с
Закрытие БД...
Что выглядело красиво. Все равно не запускается, пробовал отлаживать с -d 256 но в журнале нет ничего интересного просто:
slapd[2728]: Запуск OpenLDAP: slapd
slapd[2734]: не удалось!
Я могу slapcat эти данные, но он не запускает демон slapd.
Что еще я мог сделать? Может я неправильно сделал?
Есть ли универсальный хороший способ перенести весь сервер OpenLDAP на новую машину?
Спасибо за помощь :)