Linux系统keepalived实现主备高可用方案

2024-05-29 1411阅读

Linux系统keepalived实现主备高可用方案

环境准备

装备两台机器,IP地址信息如下:

Linux系统keepalived实现主备高可用方案
(图片来源网络,侵删)
host1: 192.168.18.180
host2: 192.168.18.183
虚拟vip: 192.168.18.188

为了测试,分别在两台机器上安装nginx服务,使下面两个url均可访问

  • http://192.168.18.180
  • http://192.168.18.183

    安装和配置keepalived

    1.分别在两台机器上安装keepalived组件

    #ubuntu
    sudo apt-get install keepalived
    #centos
    sudo yum install -y keepalived
    

    2.创建并配置keepalived.conf文件

    cd /etc/keepalived/
    sudo touch keepalived.conf
    sudo vim keepalived.conf
    

    3.主服务器配置

    vrrp_script chk_nginx {
        script "/etc/keepalived/check_nginx.sh"
        interval 2
        weight 2
    }
      
    vrrp_instance VI_1 {
        interface enp0s3                 # 根据你的网络接口名称调整
        state MASTER                     #设置角色,这里为主设备
        virtual_router_id 51             #设置虚拟路由器ID组,主备一致
        priority 101                     #优先级,数值越大,优先级越高
        advert_int 1                     #vrrp组之间的心跳包频率,1s 
        authentication {                 #组认证信息
            auth_type PASS               #认证方式,密码
            auth_pass 12345              #认证密码
        }
        virtual_ipaddress {
            192.168.18.188                  #虚拟IP地址
        }
        track_script {                   #健康检查脚本
            chk_nginx
        }
    }
    

    4.备服务器配置

    vrrp_script chk_nginx {
        script "/etc/keepalived/check_nginx.sh"
        interval 2
        weight 2
    }
    vrrp_instance VI_1 {
        interface enp0s3                 # 根据你的网络接口名称调整
        state BACKUP                     #设置角色,这里为备设备
        virtual_router_id 51             #设置虚拟路由器ID组,主备一致
        priority 90                          #优先级,数值越大,优先级越高
        advert_int 1                        #vrrp组之间的心跳包频率,1s 
        authentication {                  #组认证信息
            auth_type PASS               #认证方式,密码
            auth_pass 12345              #认证密码
        }
        virtual_ipaddress {
            192.168.18.188                   #虚拟IP地址
        }
        track_script {                     #健康检查脚本
            chk_nginx
        }
    }
    

    5.启动keepalived

    #ubuntu
    sudo systemctl start keepalived
    #centos
    sudo service keepalived start
    sudo chkconfig keepalived on
    

    6.创建并配置check_nginx.sh文件

    主备都一样

    sudo touch check_nginx.sh
    sudo vim check_nginx.sh
    #!/bin/bash
    if systemctl is-active --quiet nginx; then
        exit 0
    else
        exit 1
    fi
    

    7.授予文件执行权限

    sudo chmod +x /etc/keepalived/check_nginx.sh
    

    8.检查状态

    sudo systemctl status keepalived
    

    验证

    访问虚拟vip:http://192.168.18.188 其实访问的内容是:192.168.18.180的主机

    • 停止主服务的keepalived组件,再访问虚拟vip:http://192.168.18.188 其实访问的内容变成:192.168.18.183的备机
    • 重新启动主的keepalived组件,再访问虚拟vip:http://192.168.18.188 其实访问的内容又变回:192.168.18.180的主机

      参考链接:

      https://www.cnblogs.com/chuhe42/p/17731967.html

      https://cloud.tencent.com/developer/article/1121797?areaSource=102001.9&traceId=DZSfVW7fabllQG92ut0g5

      https://www.cnblogs.com/Mr-shen/p/17850038.html

      https://blog.csdn.net/weixin_46471797/article/details/132279198

      https://blog.csdn.net/qq_37591637/article/details/129810077

      https://blog.51cto.com/u_16213624/10115281

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]