LDAP の設定と構成

インデックス

ほとんどの LDAP サーバーでは、インデックスを使用して検索パフォーマンスの向上を図ります。インデックスの使用法については、ディレクトリサーバーのマニュアルを参照してください。

Solaris クライアントから妥当な時間で名前情報を検索できるようにするには、基本的なインデックス付き属性に加えて、次の属性にもインデックスを付ける必要があります。


membernisnetgroup    pres,eq,sub
nisnetgrouptriple    pres,eq,sub
memberuid            pres,eq
macAddress           pres,eq
uid                  pres,eq
uidNumber            pres,eq
gidNumber            pres,eq
ipHostNumber         pres,eq
ipNetworkNumber      pres,eq
ipProtocolNumber     pres,eq
oncRpcNumber         pres,eq
ipServiceProtocol    pres,eq
ipServicePort        pres,eq
nisDomain            pres,eq
nisMapName           pres,eq
mail                 pres,eq

注 –

属性リストで使用される略語の意味は、pres が存在 (presence)、eq が等価 (equality)、sub が部分文字列 (substring) です。


さらに、サーバーで仮想リスト表示制御 (vlv) がサポートされている場合は、vlv のインデックスも作成する必要があります。ツリー内の多数のオブジェクトを含むすべてのコンテンナにインデックスを作成してください (多数であるかどうかは、ツリー内の他のオブジェクトの数との相対で判断されます)。インデックスの作成方法については、ディレクトリサーバーのマニュアルを参照してください。vlv のソート値は cn uid に設定し、vlv フィルタと範囲は次のリストのように定義します。


getpwent:      vlvFilter: (objectclass=posixAccount),     vlvScope: 1
getspent:      vlvFilter: (objectclass=posixAccount),     vlvScope: 1
getgrent:      vlvFilter: (objectclass=posixGroup),       vlvScope: 1
gethostent:    vlvFilter: (objectclass=ipHost),           vlvScope: 1
getnetent:     vlvFilter: (objectclass=ipNetwork),        vlvScope: 1
getprotoent:   vlvFilter: (objectclass=ipProtocol),       vlvScope: 1
getrpcent:     vlvFilter: (objectclass=oncRpc),           vlvScope: 1
getaliasent:   vlvFilter: (objectclass=rfc822MailGroup),  vlvScope: 1
getserviceent: vlvFilter: (objectclass=ipService),        vlvScope: 1

インデックスを作成した場合の代価

インデックスを作成すると、検索パフォーマンスが向上する反面、次のような代価も発生します。