LDAP (veritabanı, şema, yapılandırma) diğer makineye nasıl taşınır


16

Openldap 2.4.40 kullanıyorum ve mevcut ldap veritabanı, yapılandırma ve şemayı (temelde her şey ldap sunucusuyla ilgili) yeni bir makineye geçirmem gerekiyor.

sorun, artık eski slapd.conf dosyasını değil cn = yapılandırma yapılandırması kullanıyorum.

Openldap ve diğer üçüncü taraf web siteleri tarafından sağlanan belgeler, daha yeni cn = config yapılandırma dosyasıyla LDAP sunucusuna değil, yalnızca slapd.conf LDAP sunucusunun taşınmasına yardımcı olur.

ve ayrıca yeni şema (attributetype ve objectclass) var, bunları mümkün olduğunca kolay bir şekilde yeni bir makineye geçirmek için bir yolu var mı?

Yeniden yapılandırmak ve şemayı manuel olarak yeni makineye tek tek eklemek dışında başka bir yol lazım.

Bu, büyük olasılıkla eski makineyi kapatmak niyetiyle yapılacaktır.

TL; DR Eski makineyi kapatmak amacıyla LDAP veritabanını, şemayı, yapılandırmayı 1 LDAP Sunucusundan yeni bir LDAP Sunucusuna kolayca geçirmenin herhangi bir yolu var mı?

Teşekkür ederim.

* Aşağıdaki cevabı yayınladı

- Julio


2
Çözümünüzü, sorunuzun bir düzenlemesi olarak değil bir cevap olarak göndermelisiniz.
Sven

Yanıtlar:


17

Çözüm :

İşte bu işi yapmak için yaptığım şey.

  1. Ana sunucuda Slapd'ı durdur
  2. Ana sunucudan Slapcat veritabanları (Dışa aktarılması gereken 2 veritabanı var. "-N" etiketini kullanıyorum

    slapcat -n 0 -l (config file location)
    

Bu, tüm şemayı dışa aktarır ve cn = config ve

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

Bu, LDAP'de tuttuğunuz tüm kullanıcı verilerini dışa aktarır.

  1. 2 ldif dosyasını yeni sunucuya SCP (sunucuya LDAP yüklediğinizden ve bunu kolaylaştırmak için yapılandırmanın neredeyse aynı olduğundan emin olun)
  2. yeni sunucuda tokatlamayı durdur.
  3. klasörün içeriğini sil

    /etc/ldap/slapd.d
    
  4. yapılandırmayı yeni sunucuya aktarmak için slapadd kullanın

    slapadd -n 0 -l (config ldif location)
    

    -n 0, LDAP'ye yapılandırma eklemek içindir

    slapadd -n 1 -l (database ldif location)
    

    -n 1, LDAP'ye veritabanı eklemek içindir

* DÜZENLEME: Her nasılsa bu komut benim 2. 3. .... ve böylece denemek işe yaramaz. Yani çalıştığını doğruladığım doğru komut

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

ve

  slapadd -n 1 -l <data backup ldif path>
  1. /etc/ldap/slapd.d klasöründeki (chown ve chmod) izni değiştirin. Ben openldap için chown ve 755 chmod için

Ayrıca / var / lib / ldap klasöründeki (chown ve chmod) izni openldap olarak değiştirin

TLS bağlantısı için sertifikanız varsa. Sertifikaları ve anahtarları eski sunucudan yeni sunucuya aynı konuma kopyalayın. yerlerdeki izni değiştirin.

  1. tokat atmaya başla.

ve gitmek iyi olmalı.

Umarım bu diğer insanlara yardımcı olur


Sahibi var ldap için gerekli olan / var / lib / ldap veritabanı dosyaları izinleri ile ilgili sorunlar vardı. Bunun dışında, bu çok düzgün.
sheldonkreger

sevindim senin için iyi çalışıyor
J_LDAP

bunun daha fazla oy alması gerekiyor. Kurulumumun çalışması için 2 hafta boyunca avlanıp test ediyorum. TEŞEKKÜR EDERİZ
hanzo2001

Sevgilim başkalarına yardımcı olabilir
J_LDAP

Benim durumumda sadece şema beklendiği gibi çalıştı, veriler kopyalanmadı. Aslında hedefteki veri kümesi / var / lib / ldap kullanıcılarla ilgili herhangi bir dize içermiyor ... hiçbir şey olmamış gibi görünüyor. / Var / lib / ldap veritabanını kaynaktan hedef makineye el ile kopyalamak zorunda kaldım; Ben takip serverfault.com/questions/227813/openldap-replication-problem/...
Fabiano Tarlao

6

Her iki ağacı ( cn=configve normal verilerinizi) LDIF'ye aktarın, yeni sunucuya geri aktarın ( cn=configönce). Bitti.

Ayrıca, cn=configaslında sadece bir LDIF dosyası koleksiyonudur ve bu koleksiyonu yeni sunucuda aynı göreceli konuma kopyalamak mümkün olabilir ( slapdçalışmazken).


tam olarak nasıl ihraç ederim? Şema (yeni nesne sınıfı, öznitelik türleri) ne olacak? Cevabınız için teşekkürler
J_LDAP

Şemalar gerektiğini tanımlanmalıdır cn=schema,cn=config(veya böyle bir şey) ve LDIF dosyasında bulunan edilecektir.
Sven

Tamam cevap için teşekkürler. Daha sonra tekrar deneyeceğim. Çok teşekkür ederim.
J_LDAP
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.