lvs读负载均衡问题

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

宝慕林2132329

2020-02-11

大师,我在配置lvs读负载均衡时遇到问题。操作系统为centos7.6
在主库中启动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
/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

启动时报错
[root@test1 init.d]# ./lvsdr start
No such device or address
No such device or address
No such device or address
Try `/sbin/ipvsadm -h’ or ‘/sbin/ipvsadm --help’ for more information.
LVS-DR server starts successfully.\n
请大师帮我分析一下,有没有哪个地方记录更详细的日志

写回答

2回答

sqlercn

2020-02-11

#!/bin/bash 
VIP=10.103.9.221 
DEV=eth0 
. /etc/rc.d/init.d/functions 
case "$1" in 
start) 
echo "1">/proc/sys/net/ipv4/ip_forward 
/sbin/ipvsadm -A -t $VIP:3306 -s rr -p 60 
/sbin/ipvsadm -a -t $VIP:3306 -r 10.103.9.204:3306 -g 
/sbin/ipvsadm -a -t $VIP:3306 -r 10.103.9.205:3306 -g 
/sbin/ipvsadm --start-daemon 
echo "LVS-DR server starts successfully.\n" 
;; 
stop) 
/sbin/route del $VIP >/dev/null 2>&1 
echo "0" >/proc/sys/net/ipv4/ip_forward 
/sbin/ipvsadm -C 
echo "LVS-DR real server stopped." 
;; 
status) 
isLoOn=`/sbin/ifconfig lo:0 | grep "$VIP"` 
isRoOn=`/bin/netstat -rn | grep "$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

以上是课程中的lvsdr脚本,你的脚本在stop)处报错了。你先解决这个问题,再看看是否可以启动。或都可以直接手动先执行

echo "1">/proc/sys/net/ipv4/ip_forward
/sbin/ipvsadm -A -t $VIP:3306 -s rr -p 60
/sbin/ipvsadm -a -t $VIP:3306 -r 10.103.9.204:3306 -g
/sbin/ipvsadm -a -t $VIP:3306 -r 10.103.9.205:3306 -g
/sbin/ipvsadm --start-daemon

看看lvs管理节点是否启动正常。注意要把$VIP和9.204/205按你的环境替换,另外也可以查看/var/log/messages中的日志看看是否有什么错误记录。

0
2
sqlercn
回复
宝慕林2132329
systemctl start ipvsadm 这条命令应该已经启动了ipvsadm服务,下面的命令就不用执行了。我的脚本是在centos6下使用的。centos7的话服务的启动方式改成了使用systemctl 命令
2020-02-11
共2条回复

sqlercn

2020-02-11

看错误提示是设置名称未找到,你确认下网卡名称是否正确?
0
1
宝慕林2132329
[root@test1 init.d]# ip add 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:53:be:ab brd ff:ff:ff:ff:ff:ff inet 192.168.0.120/24 brd 192.168.0.255 scope global noprefixroute enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe53:beab/64 scope link valid_lft forever preferred_lft forever 网口名称是正确的。192.168.0.140 这个地址没有,有不是这个原因
2020-02-11
共1条回复

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

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

1155 学习 · 166 问题

查看课程