高可用集群keepalived

高可用集群keepalivedHaproxy 首先能够完善监听功能 在此基础上 支持七层网络 通过七层报文对数据进行分析 从而实现动静分离 ACL 与此同时 Haproxy 同时缺少主机备份功能 为了达成高集群的效果 引入了 Ke

大家好,欢迎来到IT知识分享网。

二、VRRP协议
        高可用集群keepalived
        如图所示,配置两台路由器组,各自有一个IP,一旦一方出现问题,会将IP迁移到另一台路由器上,两台路由器组会通过VRRP协议发送组播,组播地址在收到信息(Heartbeat)后判断是否存在问题,若存在问题,则将IP进行迁移。
        抢占模式非抢占模式:顾名思义,两台路由器组,哪方抢占模式,哪方取走双方IP
        安全认证:MD5、无认证、共享密钥
        工作模式:主/备(一台使用一台闲置) 主/主(两台都有VIP,负责不同业务,互为主备)

三、keepalived组件与架构
高可用集群keepalived
用户空间核心组件:
vrrp stack:VIP消息通告
checkers:监测
real server system call:实现 vrrp 协议状态转换时调用脚本的功能
SMTP:邮件组件
IPVS wrapper:生成IPVS规则
Netlink Reflector:网络接口
WatchDog:监控进程
控制组件:提供keepalived.conf 的解析器,完成Keepalived配置
IO复用器:针对网络目的而优化的自己的线程抽象
内存管理组件:为某些通用的内存管理功能(例如分配,重新分配,发布等)提供访问权限

四、环境准备
高可用集群keepalived
高可用集群keepalived
1.配置网络
高可用集群keepalived
高可用集群keepalived
高可用集群keepalived
高可用集群keepalived
2.查询selinux与防火墙是否关闭
高可用集群keepalived
其他三台类似
3.给两台服务器配置httpd(下载完记得开启)

[root@realserver1 ~]# yum install httpd -y
[root@realserver1 ~]# echo 172.25.254.110 > /var/www/html/index.html
[root@realserver2 ~]# yum install httpd -y
[root@realserver1 ~]# echo 172.25.254.120 > /var/www/html/index.html

最后访问确认 
高可用集群keepalived
五、虚拟路由配置
1.安装keepalived

[root@ka1 ~]# yum install keepalived -y [root@ka2 ~]# yum install keepalived -y

 2.安装完毕后,查询keepalived相关配置文件

[root@ka1 ~]# rpm -ql keepalived 

 高可用集群keepalived
/etc/keepalived ->配置目录
/etc/keepalived/keepalived.conf ->主配置文件
/etc/sysconfig/keepalived ->对启动进程进行设定
/usr/lib/systemd/system/keepalived.service ->启动服务的脚本
/usr/sbin/keeplived ->执行的命令
3.进入主配置文件进行配置
高可用集群keepalived
global 全局设置
高可用集群keepalived
vrrp 虚拟路由做设定
配置完成后重启,查询VIP
高可用集群keepalived
同样对ka2进行配置,对ka1复制即可
高可用集群keepalived
复制后打开文件,对其中属性进行修改即可
高可用集群keepalived
priority设为80(优先级小于ka1)
对224.0.0.18进行抓包查询
高可用集群keepalived
此时只有10没有20 是因为优先级 把10关了(模拟故障)就可以看到20
高可用集群keepalived
此时20也有了VIP
高可用集群keepalived
再把10的打开,发现20的VIP没了,抓包得到的报文又回到了10
高可用集群keepalived
高可用集群keepalived
同样,查看10的ip 发现vip又回到10了
高可用集群keepalived
此时ka1有vip,但是ping不通
高可用集群keepalived
高可用集群keepalived
查询网关发现,报文传输过来全部被丢弃
为了ping通,需要在参数配置里,加入vrrp_iptables
高可用集群keepalived
此时再ping 就已ping通
高可用集群keepalived
ping通的另一种方法就是将vrrp_strict与vrrp_iptables同时注释掉(一同在或一同无)都可以ping通
六、日志分离
进入日志文件(/etc/sysconfig/keepalived)并进行编辑
高可用集群keepalived
重启后进入rsyslog文件配置
高可用集群keepalived
此时cat查看
高可用集群keepalived
七、实现独立子配置文件
环境复杂时,文件内容过多不宜管理
可利用include指令实现包含子配置文件
高可用集群keepalived
使用include 会自动读取目录下的.conf文件从而实现子配置文件管理
高可用集群keepalived
创建文件并进行编辑,编辑后重启,查看vip是否存在
高可用集群keepalived
说明include划分使用成功

八、抢占与非抢占模式
1.非抢占模式
两台ka1、ka2配置时加入nopreempt,同时将两台状态都改为BACKUP
高可用集群keepalived
而后重启设置,vip在ka2主机上。
高可用集群keepalived
将ka2停止后,vip又回到了ka1上
高可用集群keepalived
这就很好的诠释了非抢占模式的概念(即vip搁置在其中,哪台先启动哪台先拥有且不会因为优先级等等进行抢夺)
2.延迟抢占模式
高可用集群keepalived
设置延迟时间为5s 
将ka1停止后,vip到ka2上
高可用集群keepalived
此时重新打开ka1,vip并没有立即回到ka1上,而是在延时5s后回到
高可用集群keepalived
九、VIP单播配置
打开配置,在ka1中添加如下单播配置
高可用集群keepalived
同样,20与其相反
高可用集群keepalived
但是,此时开始抓包,并未有任何反应
高可用集群keepalived
打开网卡配置查看,发现连vip都没了
高可用集群keepalived
然后查看文件(确保配置无误)、防火墙设置、selinux设置等等,发现并没有问题
高可用集群keepalived
最后查找相关资料,发现必须要同时把这两个相关配置注释掉才可以
高可用集群keepalived
此时再进行相关查询,发现一切正常
高可用集群keepalived
高可用集群keepalived

十、邮件通知
下载安装包
高可用集群keepalived
在邮箱里生成授权码
高可用集群keepalived
编辑配置,输入个人账号信息
高可用集群keepalived
而后发送邮件,打开邮箱发现已收到
高可用集群keepalived
编写脚本
高可用集群keepalived
加权限
高可用集群keepalived
打开主配置文件,添加如下配置
高可用集群keepalived
执行脚本
[root@ka1 ~]# /etc/keepalived/mail.sh fault
高可用集群keepalived
十一、双主架构
编辑双主配置
ka1:
高可用集群keepalived

ka2:
高可用集群keepalived
配置完成后,重启查看
高可用集群keepalived
高可用集群keepalived
由图可知 eth0:1的主在ka1 eth0:2的主在ka2
stop掉ka2的keepalive后,发现eth0:2在ka1中出现
高可用集群keepalived
十二、单主LVS-DR模式
ka1进入编辑文档进行配置
高可用集群keepalived
高可用集群keepalived
ka2进行配置编辑
高可用集群keepalived
高可用集群keepalived
rs1配置
高可用集群keepalived
进入/etc/sysctl.d/arp.conf目录下
高可用集群keepalived
[root@realserver1 ~]# sysctl –system
[root@realserver1 ~]# sysctl -p
rs2同理
高可用集群keepalived
高可用集群keepalived
[root@realserver2 ~]# sysctl –system
[root@realserver2 ~]# sysctl -p
十三、利用keepalived实现haproxy高可用
1.对两台服务器进行http搭建
高可用集群keepalived
高可用集群keepalived
2.对ka1ka2进行配置文件编辑
[root@ka1 ~]# vim /etc/sysctl.conf
高可用集群keepalived
[root@ka1 ~]# vim /etc/haproxy/haproxy.cfg
高可用集群keepalived
进入keepalived配置文件进行编辑
[root@ka1 ~]# vim /etc/keepalived/keepalived.conf
高可用集群keepalived
最后重启
同样,对ka2进行配置
[root@ka2 ~]# vim /etc/sysctl.conf
高可用集群keepalived
[root@ka2 ~]# sysctl -p
下载haproxy
[root@ka2 ~]# yum install haproxy -y
[root@ka2 ~]# vim /etc/haproxy/haproxy.cfg
高可用集群keepalived
编写脚本
[root@ka2 ~]# vim /etc/keepalived/haproxy.sh
高可用集群keepalived
加权
高可用集群keepalived
最后进入keepalived文件进行编辑配置
高可用集群keepalived
完成后重启,配置完毕
[root@ka2 ~]# systemctl restart keepalived.service

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/157892.html

(0)
上一篇 2025-01-27 18:25
下一篇 2025-01-27 18:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信