请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

lvs读负载故障时vip不能漂移问题

我实现前看到121和122两台读节点,但我把121mysql关闭后**,121服务器没有从列表中移除,**请大师帮分析原因。
[root@test2 keepalived]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.140:3306 rr persistent 120
-> 192.168.0.121:3306 Route 1 0 0
-> 192.168.0.122:3306 Route 1 0
还有一个问题
yum install -y ipvsadm.x86_64是不是所有节点都需要安装,因为没有安装节点执行 modprobe ip_vs出错。
lvsdr是不是manager节点都需要启动服务,这个服务是什么用的。
lvsdr脚本如下,是不是有错
#!/bin/bash
VIP=192.168.0.140
DEV=enp0s3
. /etc/rc.d/init.d/functions
case “$1” in
start)
echo “1”>/proc/sys/net/ipv4/ip_forward
ipvsadm --save >/etc/sysconfig/ipvsadm
/sbin/ipvsadm -A -t $VIP:3306 -s rr -p 60
/sbin/ipvsadm -a -t $VIP:3306 -r 192.168.0.121:3306 -g
/sbin/ipvsadm -a -t $VIP:3306 -r 192.168.0.122:3306 -g
#/sbin/ipvsadm --start-daemon
echo “LVS-DR server starts successfully.\n”
;;
stop)
/sbin/route del KaTeX parse error: Expected 'EOF', got '&' at position 18: …P >/dev/null 2>&̲1 echo "0" >/p…VIP"isRoOn=/bin/netstat -rn | grep “VIP"‘if["VIP"` if [ "VIP"if["isLoOn” == “” -a “$isRoOn” == “” ]; then
echo "LVS-DR real server has to run yet."
else
echo "LVS-DR real server is running."
fi
exit 3
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0

正在回答 回答被采纳积分+3

1回答

sqlercn 2020-02-13 22:34:09

ipvsadm 在所有节点都要安装

去除不是自动的,需要使用ipvsadm -d -t 在管理节点去掉相关后台只读服务器.

lvsdr脚本用于在管理节点配置流量转移。

0 回复 有任何疑惑可以回复我~
  • 提问者 宝慕林2132329 #1
    某一个读节点down机后,不会自动从服务列表中移除吗,如果是这样,是不是读负载还是会分配到此节点上。如果是这样,lvs就不能用了呀
    回复 有任何疑惑可以回复我~ 2020-02-14 11:15:32
  • sqlercn 回复 提问者 宝慕林2132329 #2
    可以写一个脚在,在主节点上监控后端的Slave服务器,如果发现Slave无法访问则在lvs中去掉这个节点。
    回复 有任何疑惑可以回复我~ 2020-02-14 11:36:17
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信