应用linux上的openldap集群应用

上传人:j****9 文档编号:46007705 上传时间:2018-06-20 格式:DOC 页数:12 大小:47.68KB
返回 下载 相关 举报
应用linux上的openldap集群应用_第1页
第1页 / 共12页
应用linux上的openldap集群应用_第2页
第2页 / 共12页
应用linux上的openldap集群应用_第3页
第3页 / 共12页
应用linux上的openldap集群应用_第4页
第4页 / 共12页
应用linux上的openldap集群应用_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《应用linux上的openldap集群应用》由会员分享,可在线阅读,更多相关《应用linux上的openldap集群应用(12页珍藏版)》请在金锄头文库上搜索。

1、应用应用 Linux 上的上的 OpenLDAP 集群集群 Linux 服务器具有低成本、性能卓越、代码开放等特性。越来越多的 企业正在准备或已经采用 Linux 担起了企业应用服务器的重任。本文要 介绍的是笔者在实际工作中,采用 Linux 和其它开放套件共同部署高可 靠性 LDAP 认证服务的实例。 系统所要用到的软件包括: Red Hat 7.2; OpenLDAP 2.1,www.openldap.org; Heartbeat 1.04,www.linux-ha.org。 合理的流程提供高可靠性合理的流程提供高可靠性 OpenLDAP 在该系统的网络应用体系中用于对所有应用提供统一的身

2、 份认证服务,还包括如邮件路由、地址、联系人信息等其它信息的查询。 LDAP 作为一种特殊的数据库,通过对读取、查询操作进行特别的优化和 处理,以保证在查询速度方面的优势,所以特别适合用来统一企业的各 种认证服务,从而规范各种业务系统的同一登录身份和口令。当然,它 的缺点和优点一样明显,比如不善于 update、insert 等操作,但是如果 把它作为中央认证数据库,则正好可以利用它的长处而回避它的弱点。 由于系统采用了 LDAP 作为所有应用的中央认证数据库,一旦该 LDAP 服务器失效,则系统网络环境中所有依赖于该数据库的应用都会受 到影响,甚至停止提供相应的服务。为了避免这种情况的发生,

3、就要通 过两台 LDAP 服务器建立一个高可靠性的认证数据库集群,同时对其它应 用系统提供统一的数据库访问网络接口。系统网络结构图如图 1。 图 1 系统网络结构图从图 1 可以看到,整个系统分为三层:应用服务器、数据库中间引 擎和 OpenLDAP 数据库集群。所有的应用服务器通过数据库中间引擎 (midd)来访问 192.168.1.200,并通过这一统一的数据库网络接口来 访问 LDAP 数据库。对于系统的要求是,正常情况下 master 服务器 (192.168.1.100)绑定在 192.168.1.200 上提供服务,slave 服务器处 于备机状态,一旦 master 发生故障,

4、slave 能够自动接管任务,同时通 过某种通信方式通知系统管理员(如邮件、手机短信)。 这里,midd 数据库中间引擎是根据需要编写的一个简单工具,使用 它要达到以下几个目的: 统一应用服务器上的应用程序访问各种数据库的接口。例如,以 后有可能将后台的 LDAP 数据库换为其它数据库,如 Oracle 等,这时只 需要更改 midd 的配置文件,而不需要对应用程序进行任何更改。 通过采用进程池的方式来提供应用程序的查询速度。midd 能通 过对前端应用程序的访问负载,自动调节进程池的进程数量。同时进程 池中的每个进程和后台的 LDAP 数据库保持一个长连接,这样可以避免一 般条件下每次查询都

5、要开一个连接的资源浪费和延时。 每个应用服务器上都部署一个 midd。这样应用程序每次请求的 时候都是通过本地 IPC 与 midd 进行通信,避免了 TCP 方式连接的开销。 midd 在两台 LDAP 数据库 active-active 模式下的应用模式。 midd 根据启动时的参数能够自动区别读、写请求,会将写请求分配到 Master LDAP 数据库上,这是由于 Slave LDAP 数据库只能进行读操作。 在整个网络负载大、两台 LDAP 数据库同时提供服务的情况下,使用 midd 的这一模式,可以避免 Slave LDAP 数据库不能更改数据导致两台 服务器不能保持数据同步的问题。

6、 根据以上流程的要求,系统必须解决两个问题,首先是由于作为 LDAP 数据库的两台服务器并没有实现存储共享,因此要求 master 和 slave 两台数据库服务器的数据必须实时同步,才能保证一旦 slave 接 管任务后能够提供完整的服务。其次,master 和 slave 必须能够实时检 测对方的健康状态,一旦发现对方有故障,自己能够接管各种任务,包 括切换虚拟 IP 地址、LDAP 服务(变为主 LDAP 服务,意味着其能对写进 行操作,从而要求 master 服务器恢复后必须先和 slave 进行一次数据同 步),以及通过 rsh 方式来执行其它远程应用服务器上的 midd 启动模式

7、(在 active-active 模式下)。 下面就将解决以上数据同步和任务接管两个问题。 主、从主、从 LDAPLDAP 服务器的数据同步服务器的数据同步 OpenLDAP 本身提供了一种复制机制来保证网络上主、从节点之间的 数据同步。slurpd 守护程序实现了这一功能,它通过定期活动检查主服务器 master 上的日志文件,检查 master 上的数据是否有更新。如果有 更新,那么把更新的数据传递到各个从服务器。读(查询)请求可以由 LDAP 数据群中的任一服务器应答,但写操作(update、insert)只能在 主服务器 master 上进行,这就是为什么 midd 数据库中间引擎必须

8、采用 不同的启动模式来处理读写的原因。 下面主要说明主、从 LDAP 服务器的配置过程。有关 OpenLDAP 的安 装过程可以查看 http:/www.openldap.org 上的安装文档,本文不再赘 述。将 OpenLDAP 安装到两台服务器上,并对它们分别进行主、从配置。 1主 LDAP 服务器(master)上的配置文件如下,这是一个简单的 配置例子。配置文件名:slapd.conf文件内容: include /Opt/LDAP/etc/openldap/schema/core.schema include /Opt/LDAP/etc/openldap/schema/corba.sc

9、hema include /Opt/LDAP/etc/openldap/schema/cosine.schema include /Opt/LDAP/etc/openldap/schema/inetorgperson.schema include /Opt/LDAP/etc/openldap/schema/java.schema include /Opt/LDAP/etc/openldap/schema/nis.schema include /Opt/LDAP/etc/openldap/schema/misc.schema include /Opt/LDAP/etc/openldap/sche

10、ma/mail.schema include /Opt/LDAP/etc/openldap/schema/openldap.schema access to *by self writeby dn.base=“cn=Manager,dc=yourdomain,dc=com“ writeby * read pidfile /Opt/LDAP/var/slapd.pid argsfile /Opt/LDAP/var/slapd.args # ldbm database definitions #database bdb database ldbm suffix “dc=yourdomain,dc=

11、com“ rootdn “cn=Manager,dc=yourdomain,dc=com“ # Cleartext passwords, especially for the rootdn, should# be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw test # The database directory MUST exist prior to running slapd AND # should only be ac

12、cessible by the slapd/tools. Mode 700 recommended. replogfile /Opt/LDAP/var/slapd.replog directory /Opt/LDAP/var/ldbm # Indices to maintain access to attr=userPasswordby self writeby anonymous authby dn.base=“cn=Manager,dc=yourdomain,dc=com“ writeby * none access to *by self writeby dn.base=“cn=Mana

13、ger,dc=yourdomain,dc=com“ writeby * node index objectClass eq replica host=slave:389binddn=“cn=Manager,dc=yourdomain,dc=com“bindmethod=simple credentials=test 2从 LDAP 服务器(slave)上的配置文件。配置文件名:slapd.conf 文件内容: include /Opt/LDAP/etc/openldap/schema/core.schema include /Opt/LDAP/etc/openldap/schema/corba

14、.schema include /Opt/LDAP/etc/openldap/schema/cosine.schema include /Opt/LDAP/etc/openldap/schema/inetorgperson.schema include /Opt/LDAP/etc/openldap/schema/java.schema include /Opt/LDAP/etc/openldap/schema/nis.schema include /Opt/LDAP/etc/openldap/schema/misc.schema include /Opt/LDAP/etc/openldap/s

15、chema/mail.schema include /Opt/LDAP/etc/openldap/schema/openldap.schema access to *by self writeby dn.base=“cn=Manager,dc=yourdomain,dc=com“ writeby * read pidfile /Opt/LDAP/var/slapd.pid argsfile /Opt/LDAP/var/slapd.args # ldbm database definitions #database bdb database ldbm suffix “dc=yourdomain,

16、dc=com“ rootdn “cn=Manager,dc=yourdomain,dc=com“ rootpw test #replogfile /Opt/LDAP/var/slapd.replog directory /Opt/LDAP/var/ldbm access to attr=userPasswordby self writeby anonymous authby dn.base=“cn=Manager,dc=yourdomain,dc=com“ writeby * none access to *by self writeby dn.base=“cn=Manager,dc=yourdomain,dc=com“ writeby * read index objectClass eq access to *by self readby dn=“cn=Manager,dc=yourdomain,dc=com“ write

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号