BDBではなくMySQL Clusterを使うとどんなメリットがあるのだろうか?例えば次のようなものである。
- MySQL Clusterによる99.999%の可用性。
- データノードを増やすことで負荷分散が行える。
- データノードを増やすことで貯蓄できるデータ容量を増やすことができる。
- 複数のslapd間でデータを完全に同期することができる。
- slapdを追加することで負荷分散が行える。
- 遠隔地レプリケーションを利用することで、地理的に離れた場所にデータを転送できる。
- LDAPのデータに対してSQLを用いてアクセスすることができる。
というわけで基本的なセットアップ方法を紹介しよう。
1. MySQL Clusterをセットアップする。
とりあえず評価するだけなら耐障害性はないがサーバ2台で構成するといいだろう。注意点としてはSQLノード数、つまり[mysqld]セクションをたくさん登録しておくことである。slapdから多数の接続を同時に行うためである。また、初期化時のみ/etc/my.cnfにおいて、以下の行を追加しておくこと。(将来は改善されるであろう。)
[mysqld] character-set-server=latin1 [client] default-character-set=latin1
2. OpenLDAPをビルドする。
ダウンロードhttp://www.openldap.org/software/download/
shell> ./configure --enable-ndb=yes --enable-bdb=no --enable-hdb=no && make shell> sudo make install
3. slapd.confの編集
以下、MySQL Clusterに関連する箇所の設定例である。database ndbとして、db*において適切な設定をすれば良い。database ndb suffix "o=example" suffix "dc=example,dc=com" rootdn "o=example" rootdn "dc=example,dc=com" rootpw secret dbhost mysqldhost dbport 3306 dbconnect mgmdhost dbsocket /tmp/mysql.sock dbname OpenLDAP dbuser ldapdbuser dbpass password index employeeNumber dbconnections 10
4. slapdを起動する。
shell> /usr/local/libexec/slapd -f slapd.conf
LDAPの負荷分散で問題を抱えているなら是非OpenLDAPとMySQL Clusterの組み合わせを試してみよう。
0 件のコメント:
コメントを投稿