我需要有关使用 Ldap 高可用性杂项检查脚本的 keepalived 的帮助。
我们遇到了一个 LDAP 问题,突然用户无法通过应用程序和 su – ldapuser 登录系统,这种情况发生了两次。
在此期间,主 LDAP 服务器的连接数为 600,辅助 LDAP 服务器的连接数为 1000。
所有应用程序服务器都将通过 keepalived(负载平衡器)服务器进行联系,目前,我们有 2 个 lb 节点和 2 个 LDAP 节点。
LDAP 设计是主动和主动的,如果主要关闭,则请求转到辅助。
所以找到根本原因是非常困难的,我们尝试了很多,所以如果连接数很高,比如 600 或更多,我们就想在 LB 级别实现,然后切换到辅助服务器
我在这里寻求有关如何在 misc 中实施检查的建议,检查连接数检查是否合适或用于检查 LDAP 相关内容以切换到辅助服务器的任何其他参数。即使我不想这样做来自 lb 的 ssh 来检查 ldap 内容,我需要直接逻辑来检查和切换
目前,我们有如下的杂项检查脚本:
LB监控脚本:
virtual_server 10.X.X.X 389 {
protocol TCP
!service_name ldap
persistence_timeout 0
sorry_server 10.X.X.X 389
lb_kind DR
real_server 10.X.X.X 389 {
MISC_CHECK {
misc_path "/monitor.sh 389 10.X.X.X"
misc_timeout 6
}
weight 1
}
lb_algo rr
delay_loop 15
猫监视器.sh
#!/bin/bash
port=$1
ip=$2
timeout 1s /bin/bash -c "2>/dev/null >/dev/tcp/$ip/$port"
if [ $? -eq 0 ]
then
echo "OK"
RETURN_CODE=0
else
echo "NOK"
RETURN_CODE=1
fi
exit $RETURN_CODE
谢谢, Subhash Kumar.D