美文网首页
keepalived

keepalived

作者: Az_d981 | 来源:发表于2017-09-15 10:17 被阅读0次

    keepalived

    简介

    Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到, 并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived 自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

    vrrp协议

    vrrp作用

    vrrp协议的软件实现,原生设计主的目的为了高可用的ipvs服务。

    1. 于vrrp协议完成地址流动

    2. 为了集群内的所有节点生成ipvs规则

    3. ipvs集群的各RS做健康监测

    4. 于脚本调用接口通过执行脚本完成脚本中定义的功能,进而影响集群事物

    组件

    核心组件:

    1. vrrp stack:vrrp协议的实现;

    2. ipvs wrapper:为了集群内的所有节点生成ipvs规则等功能;

    3. checkers:为ipvs集群的各RS做健康状态监测;

    控制组件:

    1. 实现配置文件的分析和加载;

    2. IO复用器;

    3. 内存管理组件;

    配置文件主要配置核心组件。

    配置

    HA Cluster的配置前提:

    1. 各节点时间必须同步;
    2. 确保iptables及selinux不会成为阻碍;(如果了解规则,可适当添加规则,较为复杂)
    3. 各节点之间可通过主机名互相通信;
    4. 确保各节点用于集群服务的接口支持MULTICAST通信;
    • 实验环境
    1. 一台服务器
    2. 客户端数台

    - 时间同步

    vim /etc/chrony.conf

    # Use public servers from the pool.ntp.org project.
    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    #server 0.centos.pool.ntp.org iburst
    #server 1.centos.pool.ntp.org iburst
    #server 2.centos.pool.ntp.org iburst
    server 172.16.0.1 iburst
    

    默认server是指向网上,这里把它注释掉了,我添加了一条直接指向了服务器。

    systemctl chrony.service restart
    重启服务生效

    chronyc sources
    查看时间源同步差距

    date
    查看时间是否正确

    - 确保iptables及selinux不会成为阻碍

    systemctl status firewalld.service
    查看firewalld.service服务是否停止

    getenforce
    查看是否关闭(Disabled)

    如果是enforcing,就需要修改/etc/selinux/config文件。

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=Disabled
    # SELINUXTYPE= can take one of three two values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected. 
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    

    - 各节点之间可通过主机名互相通信

    vim /etc/hosts

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4  centos7.waz.com
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
    192.168.40.184 node1.wanganzhi.com node1
    192.168.40.185 node2.wanganzhi.com node2
    192.168.40.186 node3.wanganzhi.com node3
    192.168.40.186 node4.wanganzhi.com node4
    

    - 确保各节点用于集群服务的接口支持MULTICAST通信

    ifconfig
    查看网卡是否支持MULTICAST

    安装配置

    - keepalived安装配置

    CentOS 6.4以后 直接base仓库就可以提供,yum源配光盘或源仓库可直接安装

    yum -y install keepalived

    主配置文件:/etc/keepalived/keepalived.conf

    主程序文件:/usr/sbin/keepalived

    Unit File:keepalived.service

    Unit File的环境配置文件:/etc/sysconfig/keepalived

    • 配置文件配置段

        TOP HIERACHY
            GLOBALCONFIGURATION
                Globaldefinitions
                Staticroutes/addresses
            VRRPD CONFIGURATION
                VRRPsynchronizationgroup(s):vrrp同步组;
                VRRPinstance(s):每个vrrpinstance即一个vrrp路由器;
            LVS CONFIGURATION
                Virtualservergroup(s)
                Virtualserver(s):ipvs集群的vs和rs;
      
    • 单主配置示例:

    cd /etc/keepalived/

    vim keepalived.conf

    ! Configuration File for keepalived
    
        global_defs {
                    notification_email {
                        root@localhost
                    }
                    notification_email_fromkeepalived@localhost
                    smtp_server 127.0.0.1
                    smtp_connect_timeout 30
                    router_id node1
                    vrrp_mcast_group4 224.0.100.19
                }
    
        vrrp_instance VI_1 {
                    state BACKUP
                    interface eno33
                    virtual_router_id 14
                    priority 98
                    advert_int 1
                    authentication {
                        auth_type PASS
                        auth_pass 571f97b2
                    }
                    virtual_ipaddress {
                        10.1.0.91/16 dev eno33
                    }
                }           
    

    配置完毕后,启动Keepalived服务

    /etc/init.d/keepalived start

    检查配置结果,查看是否有虚拟ip xx.x.x.xx

    ip addr |grep xx.x.x.xx

    如果出现ip,就表示Keepalived服务单主配置成功

    相关文章

      网友评论

          本文标题:keepalived

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