文章插图
停止[扩展]killall haproxyps -ef | grep haproxynetstat -tunpl | grep haproxyps -ef |grep haproxy |awk '{print $2}'|xargs kill -9安装Keepalived[153,154]简介
- 之前在Nginx已经用过Keepalived了
- Keepalived,它是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx、Haproxy等反向代理的负载均衡服务器配合实现web服务端的高可用 。Keepalived以VRRP协议为实现基础 , 用VRRP协议来实现高可用性(HA).VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个) 。

文章插图
tar -zxvf keepalived-2.0.18.tar.gzcd keepalived-2.0.18/yum install libnl libnl-devel./configure \--prefix=/usr/local/keepalived \--sysconf=/etcmake && make installcd /etc/keepalived/vi keepalived.conf153配置
! Configuration File for keepalivedglobal_defs {router_id haproxykm##标识节点的字符串,通常为hostname}vrrp_script chk_haproxy {script "/etc/keepalived/haproxy_check.sh"##执行脚本位置interval 2##检测时间间隔weight -20##如果条件成立则权重减20}vrrp_instance VI_1 {state MASTER## 主节点为MASTER,备份节点为BACKUPinterface ens33 ## 绑定虚拟IP的网络接口(网卡),与本机IP地址所在的网络接口相同(我这里是eth0)virtual_router_id 74## 虚拟路由ID号(主备节点一定要相同)mcast_src_ip 192.168.247.153 ## 本机ip地址priority 100##优先级配置(0-254的值)nopreemptadvert_int 1## 组播信息发送间隔,俩个节点必须配置一致,默认1sauthentication {## 认证匹配auth_type PASSauth_pass bhz}track_script {chk_haproxy}virtual_ipaddress {192.168.247.160## 虚拟ip,可以指定多个}}154配置
! Configuration File for keepalivedglobal_defs {router_id haproxyks##标识节点的字符串,通常为hostname}vrrp_script chk_haproxy {script "/etc/keepalived/haproxy_check.sh"##执行脚本位置interval 2##检测时间间隔weight -20##如果条件成立则权重减20}vrrp_instance VI_1 {state BACKUP## 主节点为MASTER,备份节点为BACKUPinterface ens33 ## 绑定虚拟IP的网络接口(网卡),与本机IP地址所在的网络接口相同(我这里是eth0)virtual_router_id 74## 虚拟路由ID号(主备节点一定要相同)mcast_src_ip 192.168.247.154 ## 本机ip地址priority 80##优先级配置(0-254的值)nopreemptadvert_int 1## 组播信息发送间隔,俩个节点必须配置一致,默认1sauthentication {## 认证匹配auth_type PASSauth_pass bhz}track_script {chk_haproxy}virtual_ipaddress {192.168.247.160## 虚拟ip,可以指定多个}}编写自动检测脚本touch /etc/keepalived/haproxy_check.shchmod +x /etc/keepalived/haproxy_check.shvi /etc/keepalived/haproxy_check.sh脚本内容
#!/bin/bashCOUNT=`ps -C haproxy --no-header |wc -l`if [ $COUNT -eq 0 ];then/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfgsleep 2if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];thenkillall keepalivedfifi启动# 记得先启动haproxy, 再启动Keepalived/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg# 查看进程ps -ef | grep haproxy# 将Keepalived注册为系统服务cd /home/software/keepalived-2.0.18/keepalived/etc/cp init.d/keepalived /etc/init.d/cp sysconfig/keepalived /etc/sysconfig/systemctl daemon-reload# 启动Keepalivedsystemctl [start | stop | status | restart] keepalivedsystemctl start keepalived.servicesystemctl stop keepalived.service# 查看服务ps -ef|grep keepalived高可用测试

文章插图
160默认在153主Keepalived上
节点宕机测试停止153上的keepalived

文章插图
查看153 ip

文章插图
160的vip已经不再了, 查看154

文章插图
已经自动绑定154了, 重启153

文章插图

推荐阅读
- centos7中配置java + mysql +jdk+使用jar部署项目
- 云原生下基于K8S声明式GitOps持续部署工具ArgoCD实战-上
- opencvcv.line
- 基于 Apache Hudi 极致查询优化的探索实践
- 14 基于SqlSugar的开发框架循序渐进介绍-- 基于Vue3+TypeScript的全局对象的注入和使用
- 【Python+C#】手把手搭建基于Hugging Face模型的离线翻译系统,并通过C#代码进行访问
- 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
- 最高温度25度穿什么衣服合适 18-25度穿什么衣服合适
- pr基于当前字幕新建字幕怎么用 PR如何新建视频字幕
- 图片如何水印化 图片如何使用水印