文章目录
- Linux云计算架构-使用keepalived+LVS+DR部署高可用集群
- 1. keepalived+LVS+DR架构图
- 2. 配置RS后端真实服务器
- 3. keepalived+LVS+DR负载均衡高可用集群测试
- 3.1 测试负载均衡
- 3.2 测试高可用
- 3.3 测试主LVS故障恢复
Linux云计算架构-使用keepalived+LVS+DR部署高可用集群
1. keepalived+LVS+DR架构图
![在这里插入图片描述](https://img8.php1.cn/3cdc5/12306/3b4/8ec5d71ea3a0a7ab.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNjUyMjA5OQ==,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img8.php1.cn/3cdc5/12306/3b4/447605f4a376957f.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNjUyMjA5OQ==,size_16,color_FFFFFF,t_70#pic_center)
在博主的其他博客有说到如何配置主备LVS,这里不多介绍。
2. 配置RS后端真实服务器
使用脚本配置rs1:
[root@rs1 ~]
VIP=192.168.10.30
source /etc/init.d/functions
case $1 in
start)echo 'start LVS of Realserver DR'/sbin/ifconfig lo:1 $VIP broadcast $VIP netmask 255.255.255.255 up/sbin/route add -host $VIP dev lo:1echo '1' > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho '2' > /proc/sys/net/ipv4/conf/lo/arp_announceecho '1' > /proc/sys/net/ipv4/conf/all/arp_ignoreecho '2' > /proc/sys/net/ipv4/conf/all/arp_announce;;
stop)/sbin/ifconfig lo:1 downecho 'Close LVS of Realserver DR'echo '0' > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho '0' > /proc/sys/net/ipv4/conf/lo/arp_announceecho '0' > /proc/sys/net/ipv4/conf/all/arp_ignoreecho '0' > /proc/sys/net/ipv4/conf/all/arp_announce;;
*)echo "Usage:$0 (start|stop)"
exit 1
esac
[root@rs1 ~]
[root@rs1 ~]
Reloading systemd: [ 确定 ]
Starting lvsrsdr (via systemctl): [ 确定 ]
[root@rs1 ~][root@rs1 ~]
lo:1: flags&#61;73<UP,LOOPBACK,RUNNING> mtu 65536inet 192.168.10.30 netmask 255.255.255.255loop txqueuelen 1000 (Local Loopback)
[root&#64;rs1 ~]
[root&#64;rs1 ~]
[root&#64;rs1 ~]
success
[root&#64;rs1 ~]
success
[root&#64;rs1 ~]
[root&#64;rs1 ~]
[root&#64;rs1 ~]95 ServerName localhost:80
[root&#64;rs1 ~]
192.168.10.40
为了看到负载均衡的效果&#xff0c;测试页的内容稍微调整下&#xff1a;
[root&#64;rs2 ~]
[root&#64;rs2 ~]
192.168.10.50
3. keepalived&#43;LVS&#43;DR负载均衡高可用集群测试
这里配置一台客户端&#xff0c;IP地址为192.168.10.60
。能访问VIP
的前提是能ping通。
![在这里插入图片描述](https://img8.php1.cn/3cdc5/12306/3b4/cc25f26abcbde0c7.png?x-oss-process&#61;image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNjUyMjA5OQ&#61;&#61;,size_16,color_FFFFFF,t_70#pic_center)
3.1 测试负载均衡
[root&#64;client ~]
persistence_timeout 50
![在这里插入图片描述](https://img8.php1.cn/3cdc5/12306/3b4/ce366893b635b7ab.png?x-oss-process&#61;image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNjUyMjA5OQ&#61;&#61;,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img8.php1.cn/3cdc5/12306/3b4/a5f1bf52a691ce78.png#pic_center)
3.2 测试高可用
[root&#64;mlvs1 ~]
[root&#64;mlvs2 ~]
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000inet 192.168.10.20/24 brd 192.168.10.255 scope global noprefixroute ens32inet 192.168.10.30/32 scope global ens32
[root&#64;client ~]192.168.10.50
[root&#64;client ~]192.168.10.40
[root&#64;client ~]192.168.10.50
[root&#64;client ~]192.168.10.40
[root&#64;client ~]192.168.10.50
[root&#64;client ~]192.168.10.40
[root&#64;client ~]192.168.10.50
[root&#64;client ~]192.168.10.40[root&#64;mlvs2 ~]
IP Virtual Server version 1.2.1 (size&#61;4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes-> RemoteAddress:Port
TCP 192.168.10.30:80 8 48 0 3736 0-> 192.168.10.40:80 4 24 0 1868 0-> 192.168.10.50:80 4 24 0 1868 0
3.3 测试主LVS故障恢复
[root&#64;mlvs1 ~]
[root&#64;mlvs1 ~]
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000inet 192.168.10.10/24 brd 192.168.10.255 scope global noprefixroute ens32inet 192.168.10.30/32 scope global ens32
[root&#64;client ~]192.168.10.50
[root&#64;client ~]192.168.10.40
[root&#64;client ~]192.168.10.50
[root&#64;client ~]192.168.10.40
[root&#64;client ~]192.168.10.50
[root&#64;client ~]192.168.10.40[root&#64;mlvs1 ~]
IP Virtual Server version 1.2.1 (size&#61;4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes-> RemoteAddress:Port
TCP 192.168.10.30:80 6 36 0 2802 0-> 192.168.10.40:80 3 18 0 1401 0-> 192.168.10.50:80 3 18 0 1401 0