美文网首页
keepalived 本地安装实现高可用

keepalived 本地安装实现高可用

作者: 事出反常必有妖 | 来源:发表于2019-12-19 16:46 被阅读0次

    测试环境:Red Hat Enterprise Linux Server release 7.2 (Maipo)

    虚拟IP:172.16.253.130
    节点1:172.16.253.131
    节点2:172.16.253.132

    1.安装依赖
    yum -y install libnl libnl-devel openssl-devel
    本地没有yum源,可以替换阿里云yum源 详见:点我查看

    2.下载keepalived文件
    cd /usr/local
    wget https://www.keepalived.org/software/keepalived-2.0.19.tar.gz

    3.解压文件
    tar xzf keepalived-2.0.19.tar.gz
    cd keepalived-2.0.19

     4.初始化配置
    cd keepalived-2.0.19/
    ./configure --prefix=/usr/local/keepalived

    5.编译安装
    make && make install

    6.配置
    mkdir /etc/keepalived
    cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
    cp /usr/local/keepalived/sbin/keepalived /etc/init.d/

    master 节点配置文件:keepalived.conf

    ! Configuration File for keepalived
    global_defs {                                #全局定义部分
        notification_email {                  #设置警报邮箱
            acassen@firewall.loc              #邮箱
        }

      notification_email_from Alexandre.Cassen@firewall.loc      #设置发件人地址
      smtp_server 192.168.50.1        #设置smtp server地址
      smtp_connect_timeout 30        #设置smtp超时连接时间    以上参数可以不配置
      router_id lb01                           #是Keepalived服务器的路由标识在一个局域网内,这个标识(router_id)是唯一的
    }

    vrrp_instance VI_1 {      #VRRP实例定义区块名字是VI_1
        state MASTER          #表示当前实例VI_1的角色状态这个状态只能有MASTER和BACKUP两种状态,并且需要大写这些字符ASTER为正式工作的状态,BACKUP为备用的状态
        interface eno16777736
        virtual_router_id 130 #虚拟路由ID标识,这个标识最好是一个数字,在一个keepalived.conf配置中是唯一的, MASTER和BACKUP配置中相同实例的virtual_router_id必须是一致的.
        mcast_src_ip 172.16.253.131 #本机IP地址
        priority 100                #priority为优先级 越大越优先
        advert_int 1              #为同步通知间隔。MASTER与BACKUP之间通信检查的时间间隔,单位为秒,默认为1.
        authentication {          #authentication为权限认证配置不要改动,同一vrrp实例的MASTER与BACKUP使用相同的密码才能正常通信。
            auth_type PASS
            auth_pass 1111
    }

        virtual_ipaddress {        #设置虚拟IP地址
            172.16.253.130/24    #/24可加可不加,具体看启动是否正常,通过ip addr 查看对应的/数值
        }
    }

    backup节点配置文件:keepalived.conf

    ! Configuration File for keepalived
    global_defs {                                #全局定义部分
        notification_email {                  #设置警报邮箱
        acassen@firewall.loc              #邮箱
        }

    notification_email_from Alexandre.Cassen@firewall.loc      #设置发件人地址
    smtp_server 192.168.50.1        #设置smtp server地址
    smtp_connect_timeout 30        #设置smtp超时连接时间    以上参数可以不配置
    router_id lb01                           #是Keepalived服务器的路由标识在一个局域网内,这个标识(router_id)是唯一的
    }

    vrrp_instance VI_1 {      #VRRP实例定义区块名字是VI_1
        state BACKUP    #表示当前实例VI_1的角色状态这个状态只能有MASTER和BACKUP两种状态,并且需要大写这些字符ASTER为正式工作的状态,BACKUP为备用的状态
        interface eno16777736
        virtual_router_id 130 #虚拟路由ID标识,这个标识最好是一个数字,在一个keepalived.conf配置中是唯一的, MASTER和BACKUP配置中相同实例的virtual_router_id必须是一致的.
        mcast_src_ip 172.16.253.132 #本机IP地址
        priority 100                #priority为优先级 越大越优先
        advert_int 1              #为同步通知间隔。MASTER与BACKUP之间通信检查的时间间隔,单位为秒,默认为1.
        authentication {          #authentication为权限认证配置不要改动,同一vrrp实例的MASTER与BACKUP使用相同的密码才能正常通信。
            auth_type PASS
            auth_pass 1111
        }

        virtual_ipaddress {        #设置虚拟IP地址
            172.16.253.130/24    #/24可加可不加,具体看启动是否正常,通过ip addr 查看对应的/数值
        }
    }

    注意:同一局域网内有多个keepalive组存在时,virtual_router_id 和router_id 不一致时,会出现ping 出现丢包

    7.加入开机启动
    systemctl enable /usr/lib/systemd/system/keepalived.service

    8.服务挂掉,自动重启
    vim  /usr/lib/systemd/system/keepalived.service

    [Unit]
    Description=LVS and VRRP High Availability Monitor
    After=network-online.target syslog.target
    Wants=network-online.target

    [Service]
    Type=forking
    PIDFile=/run/keepalived.pid
    KillMode=process
    EnvironmentFile=-/usr/local/keepalived/etc/sysconfig/keepalived
    ExecStart=/usr/local/keepalived/sbin/keepalived $KEEPALIVED_OPTIONS
    ExecReload=/bin/kill -HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    LimitCORE=infinity
    LimitNOFILE=2000000
    LimitNPROC=2000000
    PrivateTmp=true
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target

    保存后运行以下命令生效
    systemctl daemon-reload

    相关文章

      网友评论

          本文标题:keepalived 本地安装实现高可用

          本文链接:https://www.haomeiwen.com/subject/lutvnctx.html