通过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上  