ChenHuajun / pha4pgsql

Pacemaker High Availability for PostgreSQL
GNU General Public License v3.0
61 stars 30 forks source link

lvs负载均衡功能未正常启动. #11

Open zhaoyanwshh opened 4 years ago

zhaoyanwshh commented 4 years ago

首先,感谢您的代码,可以快速搭建pg集群.我在搭建过程中遇到了一些问题.lvs启动,显示未知错误.查看日志找不到相关信息.望给予帮助 TIM图片20200421192739 TIM图片20200421192747

ChenHuajun commented 4 years ago

看错误好像是执行monitor超时了。

monitor的代码在下面,可能其中的ipvsadm命令卡死了。 /usr/lib/ocf/resource.d/heartbeat/lvsdr lvsdr_monitor() ->update_lvs()

单独执行ipvsadm命令看看是否运行正常

如果正常,再打开debug开关进行调试

mkdir /tmp/lvsdr.ocf.ra.debug touch /tmp/lvsdr.ocf.ra.debug/log

然后清除状态触发lvsdr再次执行monitor cls_cleanup

再查看下面的日志输出,具体哪个地方出错 /tmp/lvsdr.ocf.ra.debug/log

zhaoyanwshh commented 4 years ago

经过查看代码。发现报错为 these is no virtual service definition for this virtual servie 手动执行ipvsadm命令 ipvsadm -L -t ip:port 报错:memory allocation problem 希望作者可以予以帮助 good luck!

ChenHuajun commented 4 years ago

上面的错误是没有执行ipvsadm -A

你执行看下什么输出。 ipvsadm -L

lvsdr启动时会执行ipvsadm -A -t ip:port命令。可以手动执行看能不能成功。 最后,如果还是有问题,找下LVS DR配置的资料,手动配置LVS DR,确认下是不是机器环境的问题。

zhaoyanwshh commented 4 years ago

经过您的指导,我自己将vip_reader与lvs服务配置在同一个节点,可以使用均衡负载. 最后再想请教您一个问题,.这样的话,我的负载均衡服务是不是就不是自动切换了? 并且通过调试发现,在我使用cls_clearnup脚本后,会正常启动lvs负载均衡服务,并且测试得知,确实进行了轮询.,但是过几分钟,服务就会终止,并且cls_status会报我上图的错误,fail-count会+1.直到fail-count变成10,最终停止lvs负载均衡.因此,我想请问下,我该如何调试monitor监控.望指导.由衷的感谢您.

ChenHuajun commented 4 years ago

配置模板里已经把vip_reader与lvs要绑定在一台机器上了,不需要手动配vip_read,你是没按模板配置。 fail-count会+1肯定发生错误了,还是要错误排查出来才能解决,看staus输出和日志