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

来源:5-6 使用LVS解决读负载均衡

宝慕林2132329

2020-02-13

我实现前看到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

写回答

1回答

sqlercn

2020-02-13

ipvsadm 在所有节点都要安装

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

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

0
2
sqlercn
回复
宝慕林2132329
可以写一个脚在,在主节点上监控后端的Slave服务器,如果发现Slave无法访问则在lvs中去掉这个节点。
2020-02-14
共2条回复

高性能可扩展MySQL数据库设计及架构优化 电商项目

从基础设计入手,设计高性能可扩展的千万级数据库架构

1155 学习 · 166 问题

查看课程