Keepalived高可用服务器配置


高可用服务器

  • 以提高应用系统的可靠性、尽可能减少终端宕机时间为目标,确保服务的连续性,达到高可用(HA)的容错效果,例如“故障切换”“双击热备”“多机热备”等都属于高可用群集技术
  • 实现技术:keepalived、heartbeat、corosync、cman
  • 高可用主要用于解决单点故障的问题
  • 单点故障: 当节点发生故障时,会导致整个系统发故障,我们把这种故障叫做单点故障

Keepalived

  • 专为LVS和HA设计的一款健康检查工具(官方网站), keepalived是以VRRP协议为基础实现的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议
  • keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析;check负责健康检查,包括常见的各种检查方式;vrrp模块是来实现VRRP协议的。
  • 主要功能:
    • 支持故障自动切换(Failover)
    • 支持节点健康状态检查(Health Checking)
  • 主要文件
    • /usr/sbin/keepalived keepalived主程序文件
    • /etc/keepalived/keepalived.conf keepalived主配置文件
    • /usr/lib/systemd/system/keepalived.service keepalived服务启停脚本
    • /usr/share/doc/keepalived-1.3.5/samples/ keepalived 配置的模板文件

Keepalived实现主从双机热备

  • 实验环境

    • keepalived1+httpd:192.168.10.124
    • keepalived2+httpd:192.168.10.125
  • 为两台keepalived服务器安装服务

  • 修改keepalived master服务器配置文件

    ! Configuration File for keepalived
    
    global_defs {
       router_id HA_TEST1
    }
    
    vrrp_instance VI_1 {
        state MASTER
        interface ens33
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 123456
        }
        virtual_ipaddress {
            192.168.10.200
        }
    }
  • 修改keepalived salve服务器配置文件

  • 开启服务器

  • 查看网卡信息,漂移地址已经被配置到MASTER的ens33上


  • 为这两台keepalived服务器安装httpd服务


  • 添加测试页并启动服务





  • 关闭防火墙

  • 测试

    关闭master上的keepalived服务后测试


LVS+keepalived

  • 实验环境

    • lvs+keepalived server1:Centos7 192.168.10.124
    • lvs+keepalived server2:Centos7 192.168.10.125
    • LAMP server1:Centos7 192.168.10.10
    • LAMP server2:Centos7 192.168.10.11
  • 拓扑图

  • 搭建LAMP环境
    这里使用之前实验中搭建的两台LAMP服务(LAMP环境搭建详细流程

  • httpd服务器修改测试页



  • 因为yum 安装的keepalived 1.3.5貌似无法兼容kernel3.1中的lvs,所以使用源码包重新安装keepalived(需要先将之前安装的使用卸载)

  • 上传源码包(官网下载地址

  • 安装依赖和所需软件

    yum install -y gcc gcc-c++ make popt-devel kernel-devel openssl-devel 
  • 解压安装包

  • 编译安装

  • 将启动脚本复制到/etc/init.d目录下

  • 为两台keepalived配置文件添加如下配置



    ! Configuration File for keepalived
    global_defs {
        router_id HA_TEST1 #名称
    }
    
    vrrp_instance VI_1 {
        state MASTER | BACKUP #设置服务器角色 主或从
        interface ens33 #使用的网卡
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 123456
        }
        virtual_ipaddress {
            192.168.10.200 #漂移地址
        }
    }
    virtual_server 192.168.10.200 80 {
        delay_loop 15
        lb_algo rr
        lb_kind DR
        ! persistence 60
        protocol TCP
        real_server 192.168.10.10 80 { #RS服务器地址及端口
            weight 1
            TCP_CHECK{
                connect_port 80 #端口号
                connect_timeout 3 #超时时长(秒)
                retry 3 #重试次数
                delay_before_retry 3 #重试前延时时长(秒)
            }
        }
        real_server 192.168.10.11 80 {
            weight 1
            TCP_CHECK{
                connect_port 80
                connect_timeout 3
                retry 3
                delay_before_retry 3
            }
        }
    }

  • 安装ipvsadm工具并关闭ipvsadm服务

  • 修改后端RS的内核参数、添加回环网卡子接并配置响应的路由规则

  • 重启keepalived服务

  • 查看启动的进程及生成的lvs

  • 访问测试

    注:curl命令不能在有漂移地址的keepalived服务器上进行测试
    关闭主keepalived的服务,查看从服务器是否自动进行切换


    后台服务依然正常响应

    重新启动主keepalived服务

    查看漂移地址是否重新切换到主keepalived

优质内容筛选与推荐>>
1、layui实现checkbox的目录树tree
2、街道的寂寞钢琴谱
3、pch文件配置
4、asp利用winrar解压缩文件
5、分页


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号