本节书摘来自异步社区《Linux/UNIX OpenLDAP实战指南》一书中的第2章,第2.8节,作者:郭大勇著,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.8 OpenLDAP索引
2.8.1 索引介绍
OpenLDAP索引(index)可以提高用户对OpenLDAP目录树查询的速度,减轻OpenLDAP服务器的压力,提高性能。那么如何创建OpenLDAP 索引呢?
可通过ldapmodify命令完成索引的创建和修改。下面通过为olcDatabase={2}hdb数据库文件创建一个“sn pres,eq,sub”索引来进行介绍。
2.8.2 创建索引
要创建索引具体步骤如下。
1)通过ldapsearch命令查看当前olcDatabase={2}hdb有哪些索引。
[root@mldap01 cn=config]# ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config
'(olcDatabase={2}bdb)' olcDbIndex
dn: olcDatabase={2}bdb,cn=config
olcDbIndex: objectClass pres,eq
olcDbIndex: cn pres,eq,sub
olcDbIndex: uid pres,eq,sub
olcDbIndex: uidNumber pres,eq
olcDbIndex: gidNumber pres,eq
olcDbIndex: loginShell pres,eq
olcDbIndex: ou pres,eq,sub
olcDbIndex: mail pres,eq,sub
olcDbIndex: givenName pres,eq,sub
olcDbIndex: memberUid pres,eq,sub
olcDbIndex: nisMapName pres,eq,sub
olcDbIndex: nisMapEntry pres,eq,sub
上述结果显示当前数据库文件没有关于“sn pres,eq,sub”索引的信息。
2)创建一个ldif文件,用于存放索引命令。
[root@mldap01 cn=config]# cat >> hdb-index.ldif << EOF
dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: sn pres,eq,sub
EOF
3)通过ldapmodify命令创建olcDatabase={2}hdb数据库相关索引条目。
[root@mldap01 ~]# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f hdb-index.ldif
modifying entry "olcDatabase={2}bdb,cn=config"
4)通过ldapsearch进行验证,是否“sn pres,eq sub”添加成功。
[root@mldap01 ~]# ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config
'(olcDatabase={2}bdb)' olcDbIndex | grep -i 'sn'
olcDbIndex: sn pres,eq,sub
从上述结果得知,索引添加成功。后期针对OpenLDAP服务器性能监控,适当添加索引,不仅能提高查询请求,还能提高服务器的性能。