Cara memigrasi LDAP (database, skema, konfigurasi) ke mesin lain

16

Saya menggunakan openldap 2.4.40, dan saya perlu memigrasi database ldap saya yang ada, konfigurasi, dan skema (pada dasarnya semuanya terkait server ldap) ke mesin baru.

masalahnya adalah, saya menggunakan konfigurasi cn = config bukan lagi file slapd.conf yang lama.

Dokumentasi yang disediakan oleh openldap dan situs web pihak ketiga lainnya hanya membantu untuk memigrasi server LDAP slapd.conf, bukan server LDAP dengan file konfigurasi cn = config yang lebih baru.

dan saya juga punya skema baru (atribut tipe dan objectclass), apakah ada cara untuk memigrasikannya ke mesin baru semudah mungkin?

Saya perlu cara lain selain mengkonfigurasi ulang dan menambahkan skema saya secara manual satu per satu ke mesin baru.

Ini akan dilakukan dengan tujuan mematikan mesin lama kemungkinan besar.

TL; DR Apakah ada cara untuk memigrasi basis data, skema, konfigurasi LDAP dari 1 LDAP Server dengan mudah ke Server LDAP baru dengan maksud mematikan mesin lama

Terima kasih.

* Diposting jawabannya di bawah ini

- Julio

J_LDAP
sumber
2
Anda benar-benar harus memposting solusi Anda sebagai jawaban dan bukan edit untuk pertanyaan Anda.
Sven

Jawaban:

17

Solusinya :

Jadi, inilah yang saya lakukan untuk membuatnya bekerja.

  1. Hentikan Slapd di server utama
  2. Database Slapcat dari server utama (Ada 2 database yang perlu diekspor. Saya menggunakan tag "-n"

    slapcat -n 0 -l (config file location)
    

Yang ini akan mengekspor semua skema dan cn = config dan

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

Ini akan mengekspor semua data pengguna yang Anda simpan di LDAP.

  1. SCP file 2 ldif ke server baru (pastikan Anda menginstal LDAP di server dan pastikan konfigurasi hampir identik untuk membuatnya lebih mudah)
  2. hentikan slapd di server baru.
  3. hapus isi folder

    /etc/ldap/slapd.d
    
  4. gunakan slapadd untuk mengimpor konfigurasi ke server baru

    slapadd -n 0 -l (config ldif location)
    

    -n 0 adalah untuk menambahkan konfigurasi kembali ke LDAP

    slapadd -n 1 -l (database ldif location)
    

    -n 1 adalah untuk menambahkan basis data kembali ke LDAP

* EDIT: Entah bagaimana perintah itu tidak akan bekerja pada 2nd 3 saya .... dan seterusnya coba. Jadi Perintah yang tepat Bahwa saya telah memverifikasi bahwa itu berfungsi adalah

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

dan

  slapadd -n 1 -l <data backup ldif path>
  1. ubah izin di folder /etc/ldap/slapd.d (chown dan chmod). Saya chown ke openldap dan chmod ke 755

Juga Ubah izin di folder / var / lib / ldap (chown dan chmod) ke openldap

jika Anda memiliki sertifikat untuk koneksi TLS. Salin sertifikat dan kunci dari server lama ke server baru ke lokasi yang sama persis. ubah izin di tempat.

  1. mulai slapd.

dan itu harus baik untuk pergi.

Semoga ini bisa membantu orang lain

J_LDAP
sumber
Saya memiliki masalah dengan izin pada file database di / var / lib / ldap yang perlu dialihkan ke ldap pemilik. Selain itu, ini sangat mulus.
sheldonkreger
senang itu bekerja dengan baik untuk Anda
J_LDAP
ini membutuhkan lebih banyak upvotes. Saya sudah memburu dan menguji selama 2 minggu agar setup saya berfungsi. Terima kasih
hanzo2001
Senang posting saya dapat membantu orang lain
J_LDAP
Dalam kasus saya hanya skema yang berfungsi seperti yang diharapkan, data belum disalin. Bahkan dataset / var / lib / ldap di tujuan tidak mengandung string tentang pengguna ... sepertinya tidak ada yang terjadi. Saya harus menyalin database secara manual di / var / lib / ldap dari sumber ke mesin tujuan; Saya mengikuti serverfault.com/questions/227813/openldap-replication-problem/…
Fabiano Tarlao
6

Ekspor kedua pohon ( cn=configdan data reguler Anda) ke LDIF, impor kembali di server baru ( cn=configpertama). Selesai

Juga, cn=configpada dasarnya hanya kumpulan file LDIF dan dimungkinkan untuk menyalin koleksi ini ke lokasi relatif yang sama di server baru (saat slapdtidak berjalan).

Sven
sumber
bagaimana tepatnya cara saya mengekspornya? Bagaimana dengan Skema (kelas objek baru, tipe atribut)? Terima kasih atas jawabannya
J_LDAP
Skema harus didefinisikan dalam cn=schema,cn=config(atau sesuatu seperti itu) dan akan terkandung dalam file LDIF.
Sven
Ok terima kasih untuk jawabannya. Saya akan mencobanya nanti. Terima kasih banyak.
J_LDAP