Keepalived+Lvs-DR高可用

网友投稿 275 2022-11-11

Keepalived+Lvs-DR高可用

Keepalived高可用keepalived+LVS-DR模式拓扑图:LVS:是中间件软件(即代理服务器软件),是用来实现集群的负载均衡。

+++++++++ +---------------------------> + Client + 192.168.11.1 win7/10 | +++++++++ | ________________|_________________ | | VIP eth0:1 192.168.10.100 | | +++++++++++++++++++++ +++++++++++++++++++++ | + Director master主 node11 + + Director backup备 node12 + | +++++++++++++++++++++ +++++++++++++++++++++ | DIP 192.168.11.11 ens33网卡 DIP 192.168.11.12 ens33网卡 | |________ | _________________|________________ | | | | +++++++++++++++++ ++++++++++++++++++ +--------+ RealServer A node13 + + Real Server B node14 + +++++++++++++++++ ++++++++++++++++++ 192.168.11.13/24 192.168.11.14/24

分别在Director master、Director backup 上部署浮动资源(VIP IPVS策略)测试2个Director在DR模式下都工作正常。测试完成后都撤掉浮动资源。

首先:在node11、node12上分别安装keepalived和ipvsadm软件包,并做keepalived相关配置。在Director master上安装配置Keepalived

yum install keepalived ipvsadm -y

cp -av /etc/keepalived/keepalived.conf{,.bak} 备份原始配置文件

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalivedglobal_defs { 全局定义,说明:在实验测试环境中,以下内容可以随便写,但是master和backup的router_id必须相同 notification_email { 设置通知邮箱root@localhost 管理员的邮箱地址 }notification_email_from keepalived@localhost 通知邮件的发件人邮箱smtp_server 127.0.0.1 邮箱服务器IP地址smtp_connect_timeout 30 邮件服务器连接超时时间为30秒router_id dr1 路由器ID名称,同一个keepalived高可用集群中master和backup的ID名称必须相同#vrrp_strict 一定要注释掉此行,否则无法通过VIP地址访问调度器}

vrrp_instance VI_1 { vrrp虚拟路由冗余协议的实例设置 ,实例名称为VI_1state MASTER 状态,主为MASTER,备为BACKUP状态 interface ens33 //心跳检测网卡接口,要根据实际情况写网卡接口名,用ip a查网卡接口名virtual_router_id 51 //master主和backup备两边必须一样,此处是集群的群号priority 100 //优先级,MASTER的值必须高于BACKUP的值,类似于现实生活中的竞选的票数advert_int 1 //检查间隔,单位秒。vrrp的组播地址是224.0.0.18authentication { 身份认证配置auth_type PASS //认证类型为密码方式,主备要一致auth_pass 1111 //认证密码为1111,主备要一致}virtual_ipaddress {192.168.11.100 //VIP,可多个IP,每行一个IP地址192.168.11.111}}

virtual_server 192.168.11.100 80 { //LVS 配置(即调度器的配置),此行等同于ipvsadm -At 192.168.11.100:80 -s wrr命令delay_loop 3 //服务论询的时间间隔 lb_algo wrr //LVS 调度算法lb_kind DR // LVS 集群模式protocol TCP //指定协议为TCP协议real_server 192.168.11.13 80 { //RS后端真实服务器的IP及端口号,等同于ipvsadm -at 192.168.11.100:80 -r 192.168.11.13:80 -g -w 1命令weight 1TCP_CHECK { //RS健康检查,如果RS主机上的80端口业务异常关闭了,用ipvsadm -Ln查不到此RS的IP信息connect_timeout 3 //连接超时时间为3秒}}real_server 192.168.11.14 80 {weight 1TCP_CHECK {connect_timeout 3}}}

cd /etc/keepalived

scp keepalived.conf 192.168.11.12:/etc/keepalived/ 将配置文件发送给node12的主机

拷贝后,修改配置文件state BACKUPpriority 90

两个Director(调度器)上启动服务,并查看vip地址:

systemctl restart keepalived [centos 7专用命令]

service keepalived restart [centos 6和7通用命令]

ip a 在master上可以看到ens33网卡有192.168.11.100和192.168.11.111这两个VIP地址。而backup备主机上是没有VIP的。当在master上用systemctl stop keepalived后,备主机上就会有这两个VIP。

ipvsadm -Ln 查ipvs的集群配置信息

=============================抓包:

yum install -y tcpdump

tcpdump -i ens33 -nv vrrp

-i 指定网卡-n 以数字的方式显示(ip,port)-v 显示详细信息-vv 显示更详细的信息-w 保存到文件

----keepalived通过vrrp协议进行组播的作用:是为了竞选出由哪台keepalived主机接管业务(使用VIP的)。谁的priority优先级高(即票数多),谁就有VIP地址。

当master和backup都在运行keepalived服务时:node11(master)发送的组播信息:src:192.168.11.11dest:224.0.0.18

node12(backup)接收的组播信息:src:192.168.11.11dest:224.0.0.18

----当node11这台master停止了keepalived服务:node12发送的组播信息:src:192.168.11.12dest:224.0.0.18

keepalived集群中其他主机接收的组播信息:src:192.168.11.12dest:224.0.0.18

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mybatis框架的核心组件和作用是什么
下一篇:springboot内置tomcat之NIO处理流程一览
相关文章

 发表评论

暂时没有评论,来抢沙发吧~