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上

相关推荐
小嵌同学6 分钟前
Linux 内核中的 Per-CPU 机制详解
linux·运维·arm开发·嵌入式
云飞云共享云桌面11 分钟前
自动化设备厂 10 人研发团队,如何共用一台服务器做 SolidWorks 建模?
运维·服务器·网络·3d·自动化·制造
筝筝ba31 分钟前
Configure IP Address Via Different User Roles And Verify(1)
服务器
QH1392923188040 分钟前
NVIDIA H200 H300服务器
运维·服务器·开发语言·网络·信息与通信
xixiaoyunya41 分钟前
中小微企业轻量组网方案的技术选型与实践:从传统专线到软定义隧道的成本与效能分析
服务器·php·apache
Hello-FPGA41 分钟前
嵌入式LINUX 设备 ip配置后怎么保存才能掉电不消失?
linux·运维·服务器
奥莱维1 小时前
KNX酒店方案_KNX专用线与高端酒店技术逻辑
java·服务器·前端·数据库
工业一体机老司机1 小时前
Linux工业一体机自启动服务配置:systemd服务单元编写与开机优化实战
java·linux·服务器
zhixingheyi_tian1 小时前
Linux 之 ssh
linux·服务器·ssh
艾伦_耶格宇2 小时前
【DOCKER容器实战】-2MySQL
运维·docker·容器