Як перемістити LDAP (базу даних, схему, конфігурацію) на іншу машину


16

Я використовую openldap 2.4.40, і мені потрібно перемістити існуючу базу даних, конфігурацію та схему ldap (в основному все, що стосується сервера ldap) на нову машину.

проблема в тому, що я вже використовую конфігурацію cn = config, а не старий файл slapd.conf.

Документація, що надається на openldap та інших сторонніх веб-сайтах, допомагає лише перенести LDAP-сервер slapd.conf, а не LDAP-сервер із новішим файлом конфігурації cn = config.

а також у мене є нова схема (тип атрибутів і об'єктних класів), чи є спосіб перенести їх на нову машину якомога простіше?

Мені потрібен інший спосіб, ніж перенастроювання та додавання моєї схеми вручну по черзі до нової машини.

Це буде зроблено з наміром вимкнути стару машину, швидше за все.

TL; DR Чи є можливість зручно перенести базу даних, схему, конфігурацію LDAP з нового сервера LDAP на новий сервер LDAP з метою вимкнення старої машини

Дякую.

* Написав відповідь нижче

- Хуліо


2
Ви дійсно повинні розміщувати своє рішення як відповідь, а не редагування свого питання.
Свен

Відповіді:


17

Рішення :

Тож ось що я зробив, щоб це працювало.

  1. Зупиніть Slapd на головному сервері
  2. Бази даних Slapcat з основного сервера (Є 2 бази, які потрібно експортувати. Я використовую тег "-n"

    slapcat -n 0 -l (config file location)
    

Цей буде експортувати всі схеми та cn = config та

    slapcat -n 1 -l <database backup ldif path>

Це буде експортувати всі дані користувачів, які ви зберігаєте в LDAP.

  1. SCP-файл 2 ldif на новий сервер (переконайтеся, що ви встановили LDAP на сервері та переконайтеся, що конфігурація майже однакова, щоб зробити це простіше)
  2. зупинити slapd на новому сервері.
  3. видалити вміст папки

    /etc/ldap/slapd.d
    
  4. використовувати slapadd для імпорту конфігурації на новий сервер

    slapadd -n 0 -l (config ldif location)
    

    -n 0 - для додавання конфігурації назад до LDAP

    slapadd -n 1 -l (database ldif location)
    

    -n 1 - для повернення бази даних до LDAP

* EDIT: Якось ці команди не працюватимуть на моєму другому третьому .... і так далі. Отже, належна команда, яку я переконався, що це працює

  slapadd -n 0 -F /etc/ldap/slapd.d -l <config backup ldif path>

і

  slapadd -n 1 -l <data backup ldif path>
  1. змінити дозвіл у папці /etc/ldap/slapd.d (chown та chmod). Я порушив його до openldap і chmod до 755

Також змініть дозвіл у папці / var / lib / ldap (chown та chmod) на openldap

якщо у вас є сертифікат на TLS-з'єднання. Скопіюйте сертифікати та ключі зі старого сервера на новий сервер в те саме місце розташування. змінити дозвіл на місця.

  1. почати ляпас.

і слід добре піти.

Сподіваємось, що це допомагає іншим людям


У мене виникли проблеми з дозволами на файли бази даних в / var / lib / ldap, які потрібно було перейти на власний ldap. Крім цього, це було дуже гладко.
sheldonkreger

рада, що це добре працює для вас
J_LDAP

для цього потрібно більше коштів. Я працюю на тестуванні протягом 2 тижнів, щоб моя установка працювала. ДЯКУЄМО
hanzo2001,

Радий, що моя публікація може допомогти іншим
J_LDAP

У моєму випадку тільки схема працювала так, як очікувалося, дані не копіюються. Насправді набір даних / var / lib / ldap у пункті призначення не містить жодної рядки щодо користувачів ... схоже, нічого не сталося. Мені довелося вручну скопіювати базу даних в / var / lib / ldap з джерела на машину призначення; Я стежив за сервером default.com/questions/227813/openldap-replication-problem/…
Фабіано Тарлао

6

Експортуйте обидва дерева ( cn=configта ваші звичайні дані) у LDIF, імпортуйте їх на новий сервер ( cn=configперший). Зроблено.

Крім того, cn=configце по суті лише колекція файлів LDIF, і можливо, можливо, просто скопіювати цю колекцію в те саме відносне місце на новому сервері (поки slapdвін не працює).


як саме я їх експортую? Що щодо схеми (новий об’єктний клас, атрибутики)? Дякую за відповідь
J_LDAP

Схеми слід визначити у cn=schema,cn=config(або щось подібне) і міститись у файлі LDIF.
Свен

Добре дякую, що відповідь. Я спробую пізніше. Дуже дякую.
J_LDAP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.