Keepalived 高可用集群

通过keepalived实现高可用集群配置,环境配置不做解释,主要从其配置开始说明。

一、虚拟路由配置

有两台keepalived开始配置。

1、master服务器配置

2、backup配置

3、VIP自动漂移测试

1)查看组播地址数据包发送

2)KA1停止keepalive服务后

说明vip又优先级为100的master漂移到80的backup上。

二、keepalived的日志分离

默认情况下。keepalived的日志会被保存在/var/log/messages文件中,这个文件中除了含有keepalived的日志外,还有其他服务的日志信息,这样不利于对于keepalived的日志进行查看。

1、设定日志级别为第六级

bash 复制代码
[root@KA1 ~]# vim /etc/sysconfig/keepalived
KEEPALIVED_OPTIONS="-D -S 6"

2、修改日志服务配置文件

将第6级的日志放/var/log/keepalived.log文件中

3、重启日志服务及keepalived服务查看日志。

三、keepalived子配置文件设定

1、在主配置文件中导入子配置文件再建立子配置文件目录并测试。

2、子配置文件

3、重启后测试

四、keepalived的抢占模式

抢占模式:那个优先级高那个就直接抢占vip,若加入一个有限级更高的会抢占vip。

非抢占模式:只要服务器正常vip就不会漂移。

1、设定非抢占模式。

KA1中

KA2中设置启用非抢占模式即可

测试:停止KA1服务,再重启,VIP不会再漂移至KA1

2、抢占延迟

测试,首先停止KA2服务,再一同重启服务,通过watch -n 1 ip a 查看状态。发现十秒后KA1会抢占VIP。

五、keepalived的单播模式

KA1和KA2中分别关闭组播,设置单播源地址及目的地址邻居池。

测试,在新的shell中测试

六、keepalivedVIP迁移邮件告警

1、安装邮件服务

root@KA1 \~\]# dnf install s-nail postfix -y \[root@KA2 \~\]# dnf install s-nail postfix -y ### 2、邮件服务编辑配置文件 vim /etc/mail.rc ![](https://i-blog.csdnimg.cn/direct/2a19e5d3b0c14f909fbbc39f8b38ba07.png) ### 3、设定邮件告警脚本 增加可执行权限 ```bash #!/bin/bash mail_dest='*********@163.com' mail_send() { mail_subj="$HOSTNAME to be $1 vip 转移" mail_mess="`date +%F\ %T`: vrrp 转移,$HOSTNAME 变为 $1" echo "$mail_mess" | mail -s "$mail_subj" $mail_dest } case $1 in master) mail_send master ;; backup) mail_send backup ;; fault) mail_send fault ;; *) exit 1 ;; esac ``` ### 4、配置keepalived告警 ![](https://i-blog.csdnimg.cn/direct/92f29ac9b6624f9dad334b9afe0e5f09.png) ### 5、vip迁移邮件告警测试 ![](https://i-blog.csdnimg.cn/direct/e62709d39ddc4081be5fd1a6a896ddfc.png) ## 七、keepalived的双主模式 双主模式即为互为备份有两个VIP。 ### 1、编写配置文件,设置两个vip两台服务器互为备份 ![](https://i-blog.csdnimg.cn/direct/14370bd91dc04ab8b12a20b525f3ff0c.png) 名称与优先级不同,其余均一致,相互为备份。 ### 2、重启后测试效果 ![](https://i-blog.csdnimg.cn/direct/3423db0802cf473fb3a8187657eac866.png) ![](https://i-blog.csdnimg.cn/direct/2fe13ad0d0894306be1161275ef21e4e.png) 停止KA1keepalived查看vip变化 ![](https://i-blog.csdnimg.cn/direct/24644c6e63914e04a0ef4e6351945c7c.png) ## 八、实现LVS的高可用性 ### 1、RS服务器配置 设置同keepalived的vip环回地址,并设置vrp禁ping。 ![](https://i-blog.csdnimg.cn/direct/d2f9c01b79ed4ba4add1f9d2d670aa63.png) ### 2、配置keepalived主机 编写配置文件 ![](https://i-blog.csdnimg.cn/direct/b13f5f1e4b88435b84b191cf804caa8d.png) 2、测试 通过动态查看watch -n 1 ipvsadm -Ln 停止KA1服务。 ![](https://i-blog.csdnimg.cn/direct/6f05d84860bf48ce90cb1f0b6e1864ae.png) 停止后规则会自动转到KA2中。 ## 九、双主模式代理不同业务 两个VIP分别代理web业务与mysql数据库业务 在上述实验中已经将web业务服务叙述完毕,现将两种业务用不同的子配置文件进行编写。 首先在业务主机中增加数据库服务的VIP ### 1、在业务主机中下载数据库服务,并建立用户并给其权限。 dnf install mariadb-server -y ### 2、修改主配置文件后,编写子配置文件 1)web服务 ![](https://i-blog.csdnimg.cn/direct/8680b3f548944e5cb8b99b8fc429a1cd.png) 2)数据库服务 ![](https://i-blog.csdnimg.cn/direct/3c5a23f7031c4f8baae018ba736987d5.png) ### 3、测试通过VIP分别访问数据库服务和web服务 ![](https://i-blog.csdnimg.cn/direct/a3477c09caee483591dfe8d28222aa18.png) ## 十、利用VRRP Script实现全能的高可用性 1、主旨就是备份调度器通过keepalived使用VRRP协议发送信息监控其是否存活,若不发送信息则讲VIP迁移至另外一台调度器。 2、haproxy的高可用是keepalived通过脚本测试haproxy是否是在正常工作,若正常工作则它的优先级不改变,若非正常工作通过keepalived的降低优先级的配置,将VIP让出去。 ### 1、在Keepalived业务主机中安装Haproxy并业务主机开启内核路由功能 > \[root@KA1+2 \~\]# dnf install haproxy-2.4.22-4.el9.x86_64 -y > > \[root@KA1 \~\]# vim /etc/sysctl.conf > > \[root@KA1+2 \~\]# vim /etc/sysctl.conf > > net.ipv4.ip_nonlocal_bind=1 ### 2、编写Haproxy配置文件增加调度规则 > vim /etc/haproxy/haproxy.cfg > > listen webserver > > bind 172.25.254.100:80 > > mode http > > server web1 172.25.254.10:80 check > > server web2 172.25.254.20:80 check > > > \[root@KA1+2 \~\]# systemctl enable --now haproxy.service ### 3、Keepalived与Haproxy联动 1、编写Haproxy测试脚本 只需要在优先级高的主服务器上配置即可 > \[root@KA1 \~\]# vim /etc/keepalived/scripts/haproxy_check.sh > > #!/bin/bash > > killall -0 haproxy \&\> /dev/null > > \[root@KA1 \~\]# chmod +x /etc/keepalived/scripts/haproxy_check.sh 2、编写在keepalived中Haproxy测试板块 ![](https://i-blog.csdnimg.cn/direct/97a266d0752d414caf76092d1be8b513.png) ### 4、通过Haproxy状态运行测试 Haproxy停止运行后VIP自动跳转到KA2上 ![](https://i-blog.csdnimg.cn/direct/c5bbc79e11904b13a71bf1c192f337c8.png) ![](https://i-blog.csdnimg.cn/direct/64830e8d77e145d6bf6ad5b6ffcc8101.png)

相关推荐
tuotali202614 小时前
天然气压缩机技术2026,高可靠性长周期运行与智能运维融合路径
运维·python
姚不倒14 小时前
三节点 TiDB 集群部署与负载均衡搭建实战
运维·数据库·分布式·负载均衡·tidb
gpio_0114 小时前
自建gitlab服务器并用sakurafrp穿透
运维·服务器·gitlab
k7Cx7e14 小时前
Debian执行ssh root@localhost 提示认证失败
运维·debian·ssh
闻道且行之14 小时前
Nginx 安装、做成服务及 HTTPS 配置全流程
linux·运维·nginx·https
爱上妖精的尾巴14 小时前
8-20 WPS JS宏 正则表达式-懒惰匹配
服务器·前端·javascript
昵称只能一个月修改一次。。。14 小时前
Linux系统编程:网络编程
linux·服务器·网络
人工智能训练15 小时前
Qwen3.5 开源全解析:从 0.8B 到 397B,代际升级 + 全场景选型指南
linux·运维·服务器·人工智能·开源·ai编程
野犬寒鸦15 小时前
TCP协议核心:TCP详细图解及TCP与UDP核心区别对比(附实战解析)
服务器·网络·数据库·后端·面试
蜕变的小白15 小时前
Linux系统编程-->UDP编程:C/S模型实战详解
linux·运维·网络协议·udp