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

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告警

5、vip迁移邮件告警测试

七、keepalived的双主模式

双主模式即为互为备份有两个VIP。

1、编写配置文件,设置两个vip两台服务器互为备份

名称与优先级不同,其余均一致,相互为备份。

2、重启后测试效果

停止KA1keepalived查看vip变化

八、实现LVS的高可用性

1、RS服务器配置

设置同keepalived的vip环回地址,并设置vrp禁ping。

2、配置keepalived主机

编写配置文件

2、测试

通过动态查看watch -n 1 ipvsadm -Ln 停止KA1服务。

停止后规则会自动转到KA2中。

九、双主模式代理不同业务

两个VIP分别代理web业务与mysql数据库业务

在上述实验中已经将web业务服务叙述完毕,现将两种业务用不同的子配置文件进行编写。

首先在业务主机中增加数据库服务的VIP

1、在业务主机中下载数据库服务,并建立用户并给其权限。

dnf install mariadb-server -y

2、修改主配置文件后,编写子配置文件

1)web服务

2)数据库服务

3、测试通过VIP分别访问数据库服务和web服务

十、利用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测试板块

4、通过Haproxy状态运行测试

Haproxy停止运行后VIP自动跳转到KA2上

相关推荐
Cosolar1 小时前
LlamaIndex索引类型全解析:原理与实战指南
运维·服务器
方便面不加香菜4 小时前
Linux--基础IO(一)
linux·运维·服务器
鼎讯信通6 小时前
风电光缆运维提质增效:G-4000A 光缆故障追踪仪破解风场巡检难题
运维·网络·数据库
三十..6 小时前
MySQL 从入门到高可用架构实战精要
运维·数据库·mysql
跨境数据猎手7 小时前
大数据在电商行业的应用
大数据·运维·爬虫
linyanRPA8 小时前
影刀RPA店群自动化实战:多店铺活动自动报名与促销管理架构设计
运维·自动化·办公自动化·rpa·python脚本·爬虫自动化·店群自动化
mounter6258 小时前
现代 Linux 内存管理的演进与变革:从传统 LRU 到多代架构 MGLRU
linux·服务器·kernel
会Tk矩阵群控的小木8 小时前
安卓群控系统对于游戏工作室实战教程
android·运维·游戏·adb·开源软件·个人开发
佛山个人技术开发9 小时前
GitCode SSH连接配置教程
运维·ssh·gitcode
The Sheep 20239 小时前
Vue复习
linux·服务器·数据库