目录

内核级负载均衡 LVS DR模式 部署记录

DR模式,Director和realserver都在一个内网里面,他们都绑定上同一个VIP, 原理是通过Director Server 修改数据包的MAC地址, 所以得让realserver不响应arp,不然肯定会造成内网IP冲突

规划:

机器 IP
VIP 10.0.0.8
director 10.0.0.41
realserver1 10.0.0.42
realserver2 10.0.0.43
网卡interface eth0

RealServer设置

创建虚拟网卡

个人习惯,可选,可以绑定在任何网卡上面

ip link add ipvs0 type dummy

配置不响应ARP请求

绑定VIP

ip addr add 10.0.0.8/32 dev ipvs0

Director设置

添加VIP

ip address add 10.0.0.8/24 dev eth0

配置ipvs规则

rr是轮询

ipvsadm -A -t 10.0.0.8:80 -s rr
ipvsadm -a -t 10.0.0.8:80 -r 10.0.0.42:80 -g
ipvsadm -a -t 10.0.0.8:80 -r 10.0.0.43:80 -g
ipvsadm

使用脚本完成以上操作

start_lvs_realserver.sh

VIP=10.0.0.8
REALIP=10.0.0.42

# Disable arp requests on virtual_ip
arptables -I INPUT -j DROP -d $VIP
arptables -I OUTPUT -j mangle -s $VIP --mangle-ip-s $REALIP

# Add vip after arptables is initialized
ip link add ipvs0 type dummy
ip addr add $VIP/32 brd + dev ipvs0

stop_lvs_realserver.sh

VIP=10.0.0.8
REALIP=10.0.0.42

# stop realserver
ip addr del $VIP/32 brd + dev ipvs0
ip link del ipvs0
arptables -D INPUT -j DROP -d $VIP
arptables -D OUTPUT -j mangle -s $VIP --mangle-ip-s $REALIP

start_lvs_directserver.sh

ip addr add 10.0.0.8 dev eth0
ipvsadm -A -t 10.0.0.8:80 -s rr
ipvsadm -a -t 10.0.0.8:80 -r 10.0.0.42:80 -g
ipvsadm -a -t 10.0.0.8:80 -r 10.0.0.43:80 -g

stop_lvs_directserver.sh

ip addr del 10.0.0.8 dev eth0
ipvsadm -C

高可用方案

使用keepalived完成LVS高可用