【DevOps工具篇】LDAP服务器(slapd)的冗余和扩展功能
@TOC
推荐超级课程:
LDAP服务器(slapd)是一种可以在各种用途中使用的LDAP服务器。它可以在不允许停机的环境或者非常频繁访问的环境中使用。因此,在搭建LDAP服务器时,始终建议采用冗余配置。此外,LDAP服务器(slapd)提供了扩展API,可以灵活地扩展功能。本文将介绍LDAP服务器(slapd)的系统配置和扩展API。
负载均衡配置和冗余配置
LDAP被用于集中进行身份验证和数据管理。因此,如果LDAP服务器停机,可能会导致各种服务中断。在搭建LDAP服务器时,始终建议采用冗余配置。根据不同级别,LDAP服务器的冗余配置有多种方法。以下介绍三种LDAP服务器冗余配置。
同步复制
同步复制是LDAP服务器(slapd)提供的LDAP数据复制机制。在多个LDAP服务器中,一个被指定为提供者(主服务器)。其他LDAP服务器作为消费者,从提供者复制数据。
在这种配置中,需要对LDAP数据进行更新时必须针对提供者进行。即使提供者停止,也可以通过消费者继续使用认证服务。但是,无法再更新LDAP数据。
多主复制配置
多主复制是同步复制的特殊形式,其中配置了多个提供者(主服务器)服务器。对一个提供者进行的更改将反映在另一个提供者上。因此,即使一个提供者停机,也可以继续参考和更新LDAP数据。
然而,如果同时向多个提供者进行更新,则可能导致LDAP数据不一致的情况。因此,需要始终将处理更新的LDAP服务器限制为一个。通常与负载均衡器的故障转移功能结合使用。
HA集群配置
为了弥补同步复制中限制LDAP数据更新服务器为单个提供者的缺点,将提供者作为HA集群进行冗余处理。建议使用DRBD来镜像LDAP数据,并使用Pacemaker、Corosync等工具来实现LDAP服务器的冗余配置。
后端和覆盖层
OpenLDAP的LDAP服务器提供了两种扩展API,即后端和覆盖层。后端是用于管理LDAP数据的数据库。通常使用基于Berkeley DB的bdb、hdb或者mdb等独立格式的数据库。但是,也可以使用mysql等数据库管理LDAP数据,或者将其他LDAP服务器或应用作为后端数据库使用。
覆盖层是作为数据库前端的API,可用于复制和转换LDAP数据等操作。以下介绍常用的后端和覆盖层。
syncprov覆盖和syncrepl覆盖
syncprov和syncrepl是用于执行同步复制的覆盖。启用syncprov的LDAP服务器可以作为同步提供者运行。此外,启用syncrepl的LDAP服务器将从提供者接收数据,并将数据写入本地数据库。
relay覆盖
relay覆盖是用于提供常规DIT复制的覆盖。通常用于更改目录树形状或转换属性名称等操作。
meta后端
meta后端用于将多个ActiveDirectory或LDAP服务器集成为一个目录树的后端。根据用途,在存在多个目录服务器的环境中使用。