LDAPのデータベースをコピーする anchor.png

LDAPのデータベースは、重要なデータが入っているはずです。というか、普通データベースは、なくすと困る重要データが入ってるもんですよね。このため、自動でレプリケーションされる設定をしておきます。ちなみに、うちの場合は、メインサーバがダウンした場合に、レプリカされる側をバックアップサーバとして使用する目的もありますね。比較的簡単ですので、やってみましょう~

Page Top

レプリケーションの基本 anchor.png

マスターサーバ
コピーされるもととなるサーバです。
スレーブサーバ
コピーを保持するサーバです。

また、データベースを変更する側(ldapadd/ldapdelete/ldapmodifyする側)は基本マスターサーバ側。スレーブ側はデータを保持するだけの運用とします。

Page Top

設定 anchor.png

Page Top

事前準備 anchor.png

マスターサーバの/etc/openldap/slapd.confをスレーブサーバ側にコピーしておきます。

# scp /etc/openldap/slapd.conf slave:/etc/openldap/slapd.conf

また、データベースの同期専用に、ユーザを作成しておいてやりましょう。誰彼にでもコピーされちゃうと困るので、ってことでね。 ここではsyncuserっていうアカウント作成して、この人の権限でコピー出来るようにしておきましょう。

dn: cn=syncuser,dc=example,dc=com
objectClass: person
cn: syncuser
sn: replication user
userPassword: {SSHA}LbcQRqSCgamVLsRD9PJvJvIeGmhTnlKX

こんな内容で、repl.ldifて作ったとします。これをLDAPのマスターサーバに追加。

# ldapadd -D "cn=Manager,dc=example,dc=com" -W -f repl.ldif
Page Top

マスターサーバ側のslapd.conf anchor.png

slapd.confに以下の行を追加します。

overlay syncprov

おわり

Page Top

スレーブサーバ側のslapd.conf anchor.png

slapd.confに以下の設定を追加いたします。

syncrepl rid=123
   provider=ldap://foo.example.com
   type=refreshAndPersist
   retry="5 10 60 +"
   searchbase="dc=example,dc=com"
   bindmethod=simple
   binddn="cn=syncuser,dc=example,dc=com"
   credentials="secret"

credentialsは、syncuserのパスワード。平文で書きこんでおくのを注意してくださいね。

また、ここでは、typeにrefreshAndPersistを指定しています。これは、極力リアルタイムに変更をレプリケーションする設定。定期的にポーリングする場合は、refreshOnlyを指定します。これだと、定期的にポーリングすることによって、レプリケーションの負荷を軽減します。 その場合はこんな感じ。

syncrepl rid=123
   provider=ldap://foo.example.com
   type=refreshOnly                      # レプリケーション方式(定期的な更新確認)
  interval=00:00:05:00                  # 接続間隔(5分)
   searchbase="dc=example,dc=com"
   bindmethod=simple
   binddn="cn=syncuser,dc=example,dc=com"
   credentials="secret"

また、工夫点としては、providerにldap://ではなく、ldaps://を指定して、暗号化して通信する、という手もありますね。

Page Top

仕上げ anchor.png

最後に、マスターサーバ、スレーブサーバの順ででslapdを再起動してあげます。

# /etc/init.d/slapd restart

さて、スレーブサーバ側で、ldapsearchしてみましょう。ちゃんとLDAPデータベース読み出せましたかね?


Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 5666, today: 2, yesterday: 0
Princeps date: 2011-01-07 (Fri) 01:32:20
Last-modified: 2011-01-09 (Sun) 12:31:29 (JST) (5055d) by maruo
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード