VA Linux Systems Japan株式会社

ホーム 検索 お問い合わせ

English

 
 

 

ホーム VA Tech.Top テックライブラリーTop ディレクトリサービス

update : 2007/09/01

 

index

Xen特集

テックライブラリ

ディレクトリサービス

データエントリ

レプリケーション機能

レファラル機能

プレゼンライブラリ

イベントレポート

tips

VA Virtual-suite

仮想化に関するレポート販売

Xenを使ってみよう

OpenLDAP

RFC2251

 
 


openldap

ディレクトリサービスとは

あるひとつのキーを使用してそれに関連した情報を調べられるサービスを指し、データの読み込み・閲覧・検索に特化した仕組みを提供します。代表的な例をあげるとDNS(DomainNameService)、NIS(NetworkInformationService)もこの種のサービスに含まれます。
DNSではIPアドレスをひとつのキーにしてホスト名などを検索でき、 NISの場合はユーザIDをキーにしてパスワードや使用シェルの情報などを検索することができます。
ここ数年、このようなディレクトリサービスを汎用的に利用できる仕組みとしてLDAP(Lightweight Directory Access Protcol)が注目されてきました。
DNSやNISなどのように限られた情報だけを提供するだけではなく、様々なシステムに必要な情報を提供することが可能な仕組みです。

 

LDAPとは

ディレクトリサービスに関しては、以前から「X.500」の国際基準化されたプロトコルが存在しましたが、多機能さと構造の複雑さからインターネット環境での利用が難しいとされていました。LDAPはこのような点を比較的シンプルな構造でTCP/IP上で簡単に動作するように設計したもので、Lightweight(軽い)というネーミングになっています。

LDAPは、標準化されたプロトコルなのでアーキテクチャやオペレーティングシステムに依存することなくディレクトリサービスの機能を利用することができます。
利用する例として多くあげられるのはユーザ情報の管理でしょう。複数台のサーバや複数のオペレーティングシステムが混在する環境では、ユーザの管理をどうするかが必ず検討課題になります。ユーザの情報がサーバごとに分散して管理されていると、ユーザ名やパスワードをサーバごとに使い分けするなど非常に面倒です。従来UNIXの環境では、このような事態を回避するために、NISなどが用いられてきましたが、セキュリティの面で問題があったり、拡張性や性能などに問題があり大規模なシステムで導入できないなどの理由から使用が見送られることが多くなりました。

このような場合に対して、LDAPを利用するとユーザの一元管理を始めとするシステムの拡張性・可用性面など次のような利点があります。

数千〜数万のデータエントリが可能

ユーザごとにアクセス制御情報を設定可能、SSLの暗号化にも対応

レプリケーション(複製)機能を活用することで耐障害にも対応可能

レファラル(紹介)機能を用いることで、データ管理を分散化可能(遠隔地などに)

LDAPは様々な情報を格納し読み出すことが可能なため、リレーショナルデータベースシステムと混同されがちです。しかし、実際のリレーショナルデータベースシステムとは以下の表に示す通り、機能が格段に異なるため、LDAPをリレーショナルデータベースの代わりに利用することはできません。
LDAPとリレーショナルデータベースの違いについて簡単にあげておきます。

LDAP

【処理形態】検索処理
【構築形態】分散・オープンなシステム構築可
【データ構造】木構造(DNSツリーのような構造)
【データ更新】トランザクションの概念は特になし
【アクセス・操作】LDAP(TCP/IPプロトコル)で操作

リレーショナルデータベース

【処理形態】検索・更新処理を同じ頻度で行う
【構築形態】一極集中型(ローカルな分散化)
【データ構造】表構造(行、列の概念あり)
【データ更新】トランザクションの概念があり、それを活かした更新処理が可能
【アクセス・操作】SQL(プログラミング言語)で操作

 

オープンソース・ソフトウェアで実現するLDAP

オープンソース・ソフトウェアで、LDAPを実現するには「OpenLDAP」を利用 するのが一般的です。「OpenLDAP」は RFC2251 に基づき、開発されているスタンダードなディレクトリサービスです。OpenLDAPには、LDAPサーバslapd、slurpd、 LDAPプロトコルのライブラリ群、LDAPのクライアントユーティリティなどが含まれています。これらの提供されているツールを利用することにより、 ディレクトリサーバが構築できます。

 

OpenLDAP 性能測定

メールシステムのユーザ管理にLDAPを使用した場合を想定し、次のような測定環境を用いてOpenLDAPの性能を測定しました。


測定環境

測定環境


データ構造
メールユーザのエントリ数

:30万、100万

1エントリあたりのデータサイズ

:約700Byte

ディレクトリ構成
8個のドメイン配下に均等にユーザを配分

データ構造

 

測定結果

上記のような環境で、表内の条件の元にユーザの検索処理を行いました。

検索処理結果

前回の測定では、140req/sまでの測定を行いましたが、今回はその約3倍近い要求数を処理させる検証を行いました。前回の想定通り、高い負荷をかけた場合でもスループットの低下はみられませんでした。また平均処理時間もメールシステムでの利用を想定した場合でのユーザ検索には十分実用的な結果が得られました。

 

考察

ここでは、ユーザの検索を中心に性能測定について取り上げましたが、実際のメールシステムで実行される処理を想定し、ユーザ追加・ユーザ削除が同時に処理が行われた場合の性能測定を行っています。検索140req/sを行っているときに、更新系の処理である、パスワードの変更・ユーザ追加・ユーザ削除処理を実行すると更新処理はトータルで、30万エントリ時 15.3ops/s、100万エントリ時 12.8ops/sのスループットが得られています。また検索にかかる平均処理時間が130ms弱となったものの、メールシステムの利用では実用的な範囲内であると考えられ、性能的にOpenLDAPでの大規模なシステム構築は問題ないと考察できます。


 
 
本サイトの利用に関して 免責事項 コピーライト 個人情報保護方針

Copyright C VA Linux Systems Japan. All rights reserved.