当前位置: 首页 > article >正文

keepalived实战演练

环境准备:两台虚拟机,关闭防火墙,selinux,配置阿里云仓库,配置epel

192.168.88.21   (主机master)

192.168.88.22 (备用机backup

实验说明:给主机配置一个虚拟IP192.168.88.100 当访问虚拟IP时,可以访问到nginx服务器下的项目。当主机服务器宕机时,备用机可以代替主机工作。当主机nginx服务挂掉后,实现自动启动nginx服务,保持项目可以随时访问。

一、下载 keepalived

yum -y install keepalived

二、编辑文件keepalived.conf

vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
 router_id 1                            #设备在组中的标识,设置不一样即可
 }

vrrp_script chk_nginx {                        #健康检查
 script "/etc/keepalived/ck_ng.sh"     #检查脚本
 interval 2                            #检查频率.秒
 weight -5                             #priority减5
 fall 3                                        #失败三次
 }

#高可用集群的组员设置
vrrp_instance VI_1 {               #VI_1。实例名两台路由器相同。同学们要注意区分。
    state MASTER                        #主或者从状态
    interface ens33                     #监控网卡
    mcast_src_ip 192.168.88.21         #心跳源IP,当前主机的ip
    virtual_router_id 55                #虚拟路由编号,主备要一致。同学们注意区分
    priority 100                        #优先级 数值越大优先级越高
    advert_int 1                        #心跳间隔 单位是秒

    authentication {                    #秘钥认证(1-8位)
        auth_type PASS
        auth_pass 123456
    }

    virtual_ipaddress {                 #VIP 虚拟ip
    192.168.88.100/24
        }

  track_script {                       #引用脚本
       chk_nginx
    }

}

设置开机自启

systemctl enable keepalived.service

注明:

同理192.168.88.21备用机需要与主机在同一组

同上不同的是:

mcast_src_ip 192.168.88.21 修改为 mcast_src_ip 192.168.88.22   #心跳源IP,当前主机的ip

priority 100             修改为   priority  90        #优先级 数值越大优先级越高

state MASTER        修改为 state backup                #主或者从状态

三、master backup两台添加Nginx监控脚本

vi /etc/keepalived/ck_ng.sh
#!/bin/bash
#检查nginx进程是否存在
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
#尝试启动一次nginx,停止5秒后再次检测
    systemctl start nginx
    sleep 5
    counter=$(ps -C nginx --no-heading|wc -l)
    if [ "${counter}" = "0" ]; then
#如果启动没成功,就杀掉keepalive触发主备切换
        service keepalived stop
    fi
fi

1、给执行权限

chmod +x /etc/keepalived/ck_ng.sh

四、实战模拟

访问192.168.88.100

模拟192.168.11服务器宕机。当主机宕机时再次访问虚拟IP192.168.88.100时,这个时候备用机会替代主机工作,保持项目能正常访问

模拟主机192.168.88.21修复好后,再次访问虚拟IP192.168.88.100时,这是因为备用机的优先级小于主机,所以当主机修复时,192.168.88.22依旧是备用机。


http://www.kler.cn/a/320885.html

相关文章:

  • xcode-select: error: tool ‘xcodebuild‘ requires Xcode, but active developer
  • AtCoder Beginner Contest 380(A-F)
  • nginx源码安装配置ssl域名
  • 用OMS进行 OceanBase 租户间数据迁移的测评
  • 基于rk356x u-boot版本功能分析及编译相关(三)Makefile分析
  • T265相机双目鱼眼+imu联合标定(全记录)
  • Sealos 快速创建k8s 集群
  • 代码随想录算法训练营DAY09之动态规划(一)基础题目
  • 稀土功能化合物
  • HTML中的列表、表格、媒体元素和内联框架
  • 【C++习题】2.双指针_移动零
  • Rapid品牌SSL证书通配符单域名申请窍门
  • [笔记]数据结构
  • selenium模块的基本使用
  • 【Elasticsearch系列廿二】特殊参数
  • 【openwrt-21.02】openwrt PPTP Passthrough 不生效问题解决方案
  • Delphi5利用DLL实现窗体的重用
  • Vue 响应式监听 Watch 最佳实践
  • C++:STL详解(二)string类的模拟实现
  • 《python语言程序设计》2018版第8章18题几何circle2D类(下部)
  • 2024准备去面试软件测试岗,高频面试题预测?
  • yarn : 无法加载文件 C:\Users\Rog\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本
  • 深入浅出 AbstractQueuedSynchronizer (AQS)
  • SpringCloudEureka简介
  • Qt | linux+openCV+Qt6.5.3环境搭建成功版(带例子)
  • 网络高级day03(Http)