web-dev-qa-db-ja.com

LDAP(データベース、スキーマ、構成)を他のマシンに移行する方法

私はopenldap 2.4.40を使用しています。既存のLDAPデータベース、構成、およびスキーマ(基本的にすべてのLDAPサーバーに関連するもの)を新しいマシンに移行する必要があります。

問題は、古いslapd.confファイルではなく、cn = config構成を使用することです。

Openldapおよびその他のサードパーティのWebサイトによって提供されるドキュメントは、slapd.conf LDAPサーバーの移行にのみ役立ち、新しいcn = config構成ファイルを使用するLDAPサーバーには役立ちません。

また、新しいスキーマ(属性タイプとオブジェクトクラス)がありますが、これらをできるだけ簡単に新しいマシンに移行する方法はありますか?

スキーマを1つずつ手動で再構成して新しいマシンに追加する以外の方法が必要です。

これは、おそらく古いマシンの電源を切ることを意図して行われます。

TL; DR LDAPデータベース、スキーマ、構成を1台のLDAPサーバーから古いマシンをオフにする目的で新しいLDAPサーバーに移行する方法はありますか

ありがとうございました。

*以下の回答を投稿しました

-フリオ

17
J_LDAP

ソリューション:

それで、これが私がこれを機能させるためにしたことです。

  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. 2 ldifファイルを新しいサーバーにSCPします(サーバーに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に戻すためのものです。

*編集:どういうわけか、これらのコマンドは2nd 3rd ....などでは機能しません。だから私がそれが機能することを確認した適切なコマンドは

  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にchownして、755にchmodしました

/ var/lib/ldapフォルダー(chownおよびchmod)の権限もopenldapに変更します。

tLS接続用の証明書がある場合。証明書とキーを古いサーバーから新しいサーバーに正確に同じ場所にコピーします。場所の許可を変更します。

  1. slapdを起動します。

行くのは良いことです。

これが他の人の役に立つことを願っています

18
J_LDAP

両方のツリーをエクスポート(cn=configと通常のデータ)をLDIFにインポートし、新しいサーバー(cn=config 最初)。できました。

また、cn=configは本質的にはLDIFファイルの単なるコレクションであり、このコレクションを新しいサーバー上の同じ相対ロケーションにコピーするだけでよい場合があります(slapdが実行されていない場合)。

6
Sven