keepalived高可用lvs集群,主/备和主/主模型

简介:

利用keepalived高可用lvs集群,主/备和主/主;

vrrp_script高可用双主nginx;


keepalived主备:lvs-dr工作模型

网络搭建:

在前端2台调度器:

DR1:172.18.11.111

DR2:172.18.11.112

VIP:172.18.11.7


后端2台web服务器,运行nginx;

RS1:172.18.11.11

RS2:172.18.11.12


搭建web服务器:

提供简单的测试页面,以便容易观测到哪台RS被调度响应:

在RS1上:

]# yum -y install nginx

]# systemctl start nginx.service

]# cd /usr/share/nginx/html/

]# cp index.html{,.bak}

]# vim index.html

<h1> RS2-172.18.11.11</h1>

在RS2上:

]# yum -y install nginx

]# systemctl start nginx.service

]# cd /usr/share/nginx/html/

]# cp index.html{,.bak}

]# vim index.html

<h1> RS2-172.18.11.12</h1>


在RS1上为方便设置内核参数,编写自动设置脚本:

]# vim skp.sh

wKioL1c7B_njhjPXAABPNYyd9Is219.png

]# chmod +x skp.sh

]# ./skp.sh start

查看内核参数,确保生效:

]# cat /proc/sys/net/ipv4/conf/all/arp_ignore

]# cat /proc/sys/net/ipv4/conf/all/arp_announce


此脚本传递给RS2:

]# scp skp.sh root@172.18.11.12:/root

在RS2主机运行:

]# ./skp.sh start

查看是否arp设置成功

]# cat /proc/sys/net/ipv4/conf/all/arp_ignore

]# cat /proc/sys/net/ipv4/conf/all/arp_announce


在两个调度器上安装keepalived程序并编辑配置文件

]# yum -y install keepalived


分别编辑两个调度器keepalived配置文件

DR1配置:

]# vim /etc/keepalived/keepalived.conf

wKiom1c7G7_hTbinAABg_Z46wY8278.png

wKioL1c7HJXAy7H1AAAeww8mqeQ170.png


DR2配置:

只需修改state为备用和优先级即可,其它都保存不变:

]# vim /etc/keepalived/keepalived.conf

wKioL1c7HTnjRibzAABY2hOp8PM855.png

wKiom1c7HFOC3VyDAAAb2fO6XKU163.png


在两台调度器上安装ipvsadm命令工具;

安装ipvsadm并查看lvs集群:

]# yum -y install ipvsadm

]# ipvsadm -Ln

显示内容:

wKioL1c7HjOyN_bNAAAxVTYGNZ8527.png

可在DR1查看接口上的VIP,已经获得:

wKiom1c7HVOwuhFCAABiVBxiR48398.png


找一台主机多次执行测试:

]# curl http://172.18.11.7

会发现,访问请求是由两台RS交替响应的服务;即:

wKioL1c7HvfRvqgQAABi0hlBIYA922.png


使DR1掉线即手动停止keepalived服务,观察DR2获得VIP负责集群调度;也可同时手动关闭一台RS上的web服务;仍能正常请求web服务;

这就是keepalived基于主备工作模式健康状态检测,来提供高可用nginx的lvs集群服务;



再做keepalived的主/模式主,来提供高可用nginx的lvs集群服务;

只不过就是两个vrrp实例,一个是A的主B的备,一个是B的主A的备;

DR1:172.18.11.111

DR2:172.18.11.112

VIP1:172.18.11.7

VIP2:172.18.11.77


RS1:172.18.11.11

RS2:172.18.11.12


在DR1上配置keepalived:

wKiom1c7Nr7BDzj8AABSnPLYb1M616.png

wKioL1c7N6nBSgXTAABUnaSX3VY959.png

wKioL1c7N6rRgJ_tAABanmReDas039.png

wKiom1c7NsLQ7Au6AAAOjLuCRds377.png

注意:centos7中可能没有killall命令需要安装psmisc程序包,才能使用;

]# yum -y install psmisc


在DR2上配置keepalived:

wKiom1c7N76wF7wjAABd4WwMEHA759.png

wKioL1c7OLbzHWLhAABJfkxT8pk138.png

wKiom1c7N8-QYDFRAABZi7-n4I0193.png

wKioL1c7OLjxsZ3KAAAGAuTZKyQ612.png


编辑脚本通知机制:

wKioL1c7OY7hVfvpAABG0Mnd3gg806.png


配置RS:

在RS1上为方便设置内核参数,编写自动设置脚本:

wKioL1c7P6XAhoEnAABhhCH__O4178.png

注意:此处有一大坑!要在两台RS上分别添加lo:1的本机路由条目:

以便实现172.18.11.77能够被访问调度:

]# ifconfig lo:1 172.18.11.77 netmask 255.255.255.255 broadcast 172.18.11.77

]# route add -host 172.18.11.77 dev lo:1


]# chmod +x skp.sh

]# ./skp.sh start

查看内核参数,确保生效:

]# cat /proc/sys/net/ipv4/conf/all/arp_ignore

]# cat /proc/sys/net/ipv4/conf/all/arp_announce


此脚本传递给RS2:

]# scp skp.sh root@172.18.11.12:/root

在RS2主机运行:

]# ./skp.sh start

查看是否arp设置成功

]# cat /proc/sys/net/ipv4/conf/all/arp_ignore

]# cat /proc/sys/net/ipv4/conf/all/arp_announce


两台DR上的keepalived都启动,两台RS上的web服务都启动,分别查看两台DR的ip地址:

wKioL1c7QJTQ5ELsAABjUcHRIpA353.png

wKiom1c7P6zSWONoAABaG2ooTO0046.png

分别获取到不同VIP,即DR1是VIP1的主用,是VIP2的备用,DR2是VIP1的备用,是VIP2的主用;


测试:访问VIP1和VIP2

wKioL1c7QYrSlU9gAACrZtP9-x0235.png


可继续测试,手动停止DR1上的keepalived,查看DR2上的ip地址:

wKiom1c7QRXCNDdEAABugg4SKDQ281.png

在另一台主机curl测试两个VIP:在一台调度器掉线时,对于两个VIP提供的服务,使用curl测试两个VIP,没有任何影响;


同时,再手动停止RS2的nginx服务,在另一台主机curl测试两个VIP:

wKioL1c7Qw3w5YBFAABkv8drLc8626.png

此时,一台调度器掉线,一台RS掉线,仍能能保持两个VIP提供客户端的服务;

实现了keepalived高可用lvs-dr集群调度,双主nginx的应用。











本文转自 crystaleone 51CTO博客,原文链接:http://blog.51cto.com/linsj/1774560,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
弹性计算 负载均衡 网络协议
LVS (Linux Virtual server)集群介绍
LVS (Linux Virtual server)集群介绍
|
2月前
|
运维 负载均衡 监控
keepalived+LVS实现高可用性集群
通过结合keepalived和LVS,你可以创建一个高可用性的负载均衡集群,确保服务器的稳定性和性能。这对于托管Web服务、应用服务器等关键服务的服务器集群非常有用。
64 1
|
2月前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
2月前
|
负载均衡 监控 调度
Keepalived+Lvs(dr)调度器主备配置小实验
Keepalived和LVS(Linux Virtual Server)是两个常用的开源软件,通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalived是一种用于实现高可用性的软件,它可以监控服务器的健康状态,并在主服务器出现故障时自动切换到备份服务器。
125 2
|
2月前
|
负载均衡 算法 Linux
LVS集群
LVS(Linux Virtual Server)集群是一种基于Linux操作系统的高可用性和负载均衡解决方案。它通过将网络流量分发到多个后端服务器上,实现了对网络服务的负载均衡,并提高了系统的可用性和性能。
78 1
|
7月前
|
负载均衡 网络协议 Linux
小白带你学习linux的keepalived+lvs和keepalived双机热备(三十七)
小白带你学习linux的keepalived+lvs和keepalived双机热备(三十七)
101 0
|
7月前
|
负载均衡 算法 网络协议
小白带你学习linux的LVS集群(三十六)
小白带你学习linux的LVS集群(三十六)
119 0
|
1天前
|
负载均衡 网络协议 算法
使用IPVSADM配置LVS负载均衡
使用IPVSADM配置LVS负载均衡
|
2月前
|
负载均衡 网络协议 算法
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
|
2月前
|
负载均衡 网络协议
NAT模式 LVS负载均衡部署
NAT模式 LVS负载均衡部署