Jak przeprowadzić migrację LDAP (baza danych, schemat, konfiguracja) na inny komputer

16

Korzystam z Openldap 2.4.40 i muszę przeprowadzić migrację mojej istniejącej bazy danych, konfiguracji i schematu LDAP (zasadniczo wszystko, co dotyczy serwera LDAP) na nową maszynę.

problem polega na tym, że używam konfiguracji cn = config, a nie starego pliku slapd.conf.

Dokumentacja dostarczona przez openldap i inne strony internetowe stron trzecich pomaga jedynie w migracji serwera LDAP slapd.conf, a nie serwera LDAP z nowszym plikiem konfiguracyjnym cn = config.

a także mam nowy schemat (typ atrybutu i klasa obiektu). Czy istnieje sposób na jak najszybszą migrację na nowy komputer?

Potrzebuję innego sposobu niż ręczna konfiguracja i ręczne dodawanie mojego schematu do nowego komputera.

Zostanie to zrobione w celu najprawdopodobniej wyłączenia starej maszyny.

TL; DR Czy istnieje sposób na wygodną migrację bazy danych LDAP, schematu, konfiguracji z 1 serwera LDAP na nowy serwer LDAP z zamiarem wyłączenia starego komputera

Dziękuję Ci.

* Wysłałem odpowiedź poniżej

- Julio

J_LDAP
źródło
2
Naprawdę powinieneś opublikować swoje rozwiązanie jako odpowiedź, a nie jako edycję swojego pytania.
Sven

Odpowiedzi:

17

Rozwiązanie :

Oto co zrobiłem, aby to zadziałało.

  1. Zatrzymaj Slapd na głównym serwerze
  2. Bazy danych Slapcat z serwera głównego (istnieją 2 bazy danych, które należy wyeksportować. Używam znacznika „-n”

    slapcat -n 0 -l (config file location)
    

Ten wyeksportuje wszystkie schematy i cn = config i

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

Spowoduje to wyeksportowanie wszystkich danych użytkownika przechowywanych w LDAP.

  1. SCP 2 plik ldif na nowy serwer (upewnij się, że zainstalowałeś LDAP na serwerze i upewnij się, że konfiguracja jest prawie identyczna, aby to ułatwić)
  2. przestań slapd na nowym serwerze.
  3. usuń zawartość folderu

    /etc/ldap/slapd.d
    
  4. użyj slapadd, aby zaimportować konfigurację do nowego serwera

    slapadd -n 0 -l (config ldif location)
    

    -n 0 oznacza dodanie konfiguracji z powrotem do LDAP

    slapadd -n 1 -l (database ldif location)
    

    -n 1 służy do dodawania bazy danych z powrotem do LDAP

* EDYCJA: Jakoś te polecenia nie będą działać na moim drugim 3-gim .... i tak przy próbie. Więc właściwe polecenie, które sprawdziłem, że działa

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

i

  slapadd -n 1 -l <data backup ldif path>
  1. zmień uprawnienia w folderze /etc/ldap/slapd.d (chown i chmod). Zmieniłem go na openldap i chmod na 755

Zmień także uprawnienia w folderze / var / lib / ldap (chown i chmod) na openldap

jeśli masz certyfikat na połączenie TLS. Skopiuj certyfikaty i klucze ze starego serwera na nowy serwer do tej samej dokładnej lokalizacji. zmień uprawnienia do miejsc.

  1. zacznij slapd.

i powinno być dobrze iść.

Ma nadzieję, że pomoże to innym ludziom

J_LDAP
źródło
Miałem problemy z uprawnieniami do plików bazy danych w / var / lib / ldap, które wymagały przełączenia na właściciela ldap. Poza tym było to bardzo płynne.
sheldonkreger,
cieszę się, że działa dobrze dla Ciebie
J_LDAP,
to wymaga więcej pozytywnych opinii. Poluję i testuję przez 2 tygodnie, aby moja konfiguracja działała. DZIĘKUJĘ
hanzo2001
Cieszę się, że mój post może pomóc innym
J_LDAP
W moim przypadku tylko schemat działał zgodnie z oczekiwaniami, dane nie zostały skopiowane. W rzeczywistości zestaw danych / var / lib / ldap w miejscu docelowym nie zawiera żadnych ciągów dotyczących użytkowników ... wygląda na to, że nic się nie stało. Musiałem ręcznie skopiować bazę danych do / var / lib / ldap ze źródła na maszynę docelową; Śledziłem serverfault.com/questions/227813/openldap-replication-problem/…
Fabiano Tarlao
6

Wyeksportuj oba drzewa ( cn=configi zwykłe dane) do LDIF, zaimportuj je z powrotem na nowym serwerze ( cn=configpierwszy). Gotowy.

Ponadto, cn=configjest w zasadzie tylko zbiór plików LDIF i może to być możliwe, aby po prostu skopiować tę kolekcję do tej samej względnej lokalizacji na nowym serwerze (gdy slapdnie jest uruchomiony).

Sven
źródło
jak dokładnie je eksportować? Co ze schematem (nowa klasa obiektu, typy atrybutów)? Dzięki za odpowiedź
J_LDAP,
Schematy powinny być zdefiniowane w cn=schema,cn=config(lub coś takiego) i będą zawarte w pliku LDIF.
Sven
Ok dzięki za odpowiedź. Spróbuję później. Dziękuję bardzo.
J_LDAP,