include /Opt/LDAP/etc/openldap/schema/core.schema
include /Opt/LDAP/etc/openldap/schema/corba.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/schema/mail.schema
include /Opt/LDAP/etc/openldap/schema/openldap.schema
access to *
by self write
by dn.base="cn=Manager,dc=yourdomain,dc=com" write
by * read
pidfile /Opt/LDAP/var/slapd.pid
argsfile /Opt/LDAP/var/slapd.args
# ldbm database definitions
#database bdb
database ldbm
suffix "dc=yourdomain,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=userPassword
by self write
by anonymous auth
by dn.base="cn=Manager,dc=yourdomain,dc=com" write
by * none
access to *
by self write
by dn.base="cn=Manager,dc=yourdomain,dc=com" write
by * read
index objectClass eq
access to *
by self read
by dn="cn=Manager,dc=yourdomain,dc=com" write
by * none
updatedn "cn=Manager,dc=yourdomain,dc=com" |
分别对主、从LDAP数据库进行配置后,初始化主LDAP数据库中的数据,可以利用OpenLDAP本身提供的工具完成。
3.数据同步。
在运行主、从模式前,必须先将主、从LDAP服务器上的数据同步。可以通过把master上的数据文件(本例中是ldbm目录下的所有文件)直接拷贝到从LDAP服务器上,实现节点数据的完全一致。
4.启动服务
分别启动服务,测试数据的同步是否有效。先启动主LDAP服务器上的两个进程:
#/opt/LDAP/libexec/slapd -f /opt/LDAP/etc/openldap/slapd.conf -d 5 > /dev/null 2>&1 &
#/opt/LDAP/libexec/slurpd -f /opt/LDAP/etc/openldap/slapd.conf -d 5 > /dev/null 2>&1 &
然后启动从LDAP服务器上的进程:
#/opt/LDAP/libexec/slapd -f /opt/LDAP/etc/openldap/slapd.conf -d 5 > /dev/null 2>&1 &
对主LDAP服务器上的数据进行各种更新操作,包括增加、删除、修改等动作,然后在从LDAP服务器上查看数据是否保持与主LDAP服务器同步更新。通过以上测试,主、从LDAP数据库服务器已经达到了数据同步复制的效果。
使用Heartbeat实现自动检测和任务接管
1.Linux下HA软件简要介绍
(1)The High Availability Linux Project
其Heartbeat软件不仅可以作为高可靠性的HA软件独立使用,也可以配合其它IP分发器做Balancing Cluster应用。参见。
(2)Lifekeeper
Lifekeeper是一款著名的高可靠性软件,能支持32个节点的应用,支持Linux、x86 Solaris和等操作系统。参见。
(3)SRRD
SRRD(Service Routing Redundancy Daemon),支持PKI、SSL的通信认证。参见。
这里选择Linux-HA提供的Heartbeat HA软件来实现该系统的高可靠性,软件名Heartbeat,当前最新版本为1.2。Heartbeat通过监控几个节点的状态来进行管理操作,监控方式支持串行线和以太网作为媒介的通信,这里使用以太网链路。在集群中的每个节点运行一个守护程序进程,名为heartbeat。主守护程序派生子进程,以对每个heartbeat媒介进行读写,并派生状态进程。当检测到节点终止时,heartbeat运行Shell脚本实现资源任务的切换和接管,从而保证了整个系统的高可靠性。
2.安装Heartbeat
可以从最新的安装包,包括src和rpm。本例了heartbeat-1.0.4.tar.gz包进行安装,具体操作如下:
#./configure -prefix=/opt/ha
#make
#make install |
在此过程中,系统可能会提醒安装其它依赖软件包,比如libnet等,按照提示进行下载安装即可。安装完成后在/opt/ha目录下将产生相关子目录。进入/opt/ha/etc/ha.d,在该目录下创建以下文件:ha.cf、authkeys、haresources、myexec。
3.master配置说明:
(1)ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 120
ucast eth0 192.168.1.101
nice_failback on//保证slave变为master后,
即使master恢复启动服务也不转移,从而保证LDAP数据同步。
node master
node slave |
(2)authkeys
auth 3
3 md5 test
(3)haresources
master 192.168.1.200 myexec
(4)进入/opt/ha/etc/ha.d/resource.d,创建执行脚本myexec。
当Heartbeat软件监控到其它节点出现故障时,会执行该脚本并完成以下工作:如果本机是主LDAP服务器,则必须以某种方式(邮件或手机短信)来通知系统管理员,备用服务器出现故障;如果是从服务器监控到主服务器不可用状态,则必须以主LDAP模式启动LDAP服务,并通过rsh重新启动远程midd启动模式。