概要描述
Guardian的ApacheDS组件存储了Guardian的用户、权限等信息,并对外提供Kerberos和LDAP服务。
ApacheDS一般在部署时选择两个节点,一个主节点,一个备节点。
主节点可以服务所有请求, 备节点只能服务读请求。
本文描述当ApacheDS主节点宕机的情况下,如何将备节点切换为主节点。
环境背景:
两个ApacheDS:
- 172.22.16.88 tdh1-600
- 172.22.16.89 thd2-600
详细描述
1 背景情况描述
当ApacheDS主节点不可用后,Guardian服务将会呈现Warning状态,正常服务不受影响,但是无法做添加用户、修改权限等操作。
2 确认主备情况
分别登陆172.22.16.88和172.22.16.89 两个ApacheDS服务所在的节点
cat /etc/guardian/conf/guardian-ds.properties
查看guardian.ds.ha.status
的值,可以看到节点的主备情况
172.22.16.88 服务器上该值为Master,就代表172.22.16.88 为主节点
172.22.16.89 服务器上该值为slave,就代表172.22.16.89为备节点
3 假如集群存在2个以上的ApacheDS角色的情况
假如集群出现≥3个以上的ApacheDS角色存在,就意味着出现1个主节点,2个或者2个以上的备用节点,这个时候如果ApacheDS的主节点不可用,请使用下面的方法,在多个slave节点中选举合适的节点作为下一个master节点。
分别进入多个slave的pod内
cat /etc/guardian/conf/fortress.properties
找到admin.pw 就是密码
带入密码进:
ldapsearch -h localhost -p 10389 -D uid=admin,ou=system -w 123456 -b ou=system -s one "ads-replconsumerid=replication" "+"
获得输出:
其中modifyTimestamp 表示了这个slave最近一次跟Master同步的时间。多个slave查询该值后,找到更新最晚的slave节点,将其准备切换为Master节点。
4 通过manager关闭Guardian服务
5 在manager页面删除除了准备切换成master的ApacheDS角色之外的所有ApacheDS角色
6 配置服务,重启Guardian
经过上一步后目前只有唯一一个ApacheDS角色,即我们要切换成master的节点,这时点击配置服务,Manager将会刷新配置,把当前唯一的ApacheDS配置成master。
7 重启所有其它开启了安全和插件的服务。
8 对比ApacheDS的配置文件
cat /etc/guardian/conf/guardian-ds.properties
此时TDH2-600该配置文件中的guardian.ds.ha.status 已经为master状态
此时guardian添加用户,修改权限均能正常操作。
可以添加角色为ApacheDS再继续添加备用节点。