## 1. 172.16.51.124负载均衡安装过程
#### 1.1 安装keepalived进行lvs配置,安装ipvsadm工具查看
sudo apt-get install ipvsadm keepalived
#### 1.2 上面软件安装完成后,进行keepalived配置
新建文件vim /etc/keepalived/keepalived.conf,如下
! Configuration File for keepalived
global_defs {
notification_email {
}
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface enp0s25
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
172.16.51.125
}
}
virtual_server 172.16.51.125 80 {
delay_loop 3
lb_algo rr
lb_kind DR
# persistence_timeout 50
protocol TCP
real_server 172.16.51.111 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 172.16.51.59 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
virtual_server 172.16.51.125 8008 {
delay_loop 3
lb_algo rr
lb_kind DR
# persistence_timeout 50
protocol TCP
real_server 172.16.51.111 8008 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 8008
}
}
real_server 172.16.51.59 8008 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 8008
}
}
}
virtual_server 172.16.51.125 1935 {
delay_loop 3
lb_algo rr
lb_kind DR
# persistence_timeout 50
protocol TCP
real_server 172.16.51.111 1935 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 1935
}
}
real_server 172.16.51.59 1935 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 1935
}
}
}
#### 1.3 修改系统参数
vim /etc/sysctl.conf
找到net.ipv4.ip_forward=1行,取消其注释。
使用命令sysctl -p,设置立即生效。
#### 1.4 启动keepalived服务
systemctl start keepalived
设置随机启动
systemctl enable keepalived
#### 1.5 简单查看lvs转发情况
sudo ipvsadm -ln
## 2. 实际业务服务器上配置
新建脚本:/usr/local/bin/realserver.sh
内容如下:
#!/bin/bash
VIP=172.16.51.125
#/etc/rc.d/init.d/functions
case "$1" in
start)
echo "start LVS of RealServer DR"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS of RealServer DR"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
添加可执行权限
chmod +x /usr/local/bin/realserver.sh
启动脚本
/usr/local/bin/realserver.sh start
添加随机启动
vim /etc/rc.local
新增配置如下:
# lvs realserver script
/usr/local/bin/realserver.sh start
两台业务服务器都执行如上操作即可。
具体原理和步骤还可以参考:
https://wsgzao.github.io/post/lvs-keepalived/
http://www.voidcn.com/article/p-udapbigh-bp.html
https://www.centos.bz/2017/07/lvs-keepalived-ha-loadbalace/