zoukankan      html  css  js  c++  java
  • 高可用技术之keepalived原理简单了解

    Keepalived

    工作原理

    keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
    虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。
    

    TCP/IP四层模型

    具体实现及ARP协议简单了解

    在实际应用中,当我们想给目标主机发送消息时,需要首先通过DNS获取到目的主机的IP地址;但在实际网络的链路上传送数据帧时,最终还是必须使用该主机的硬件地址。但是怎么知道对方MAC地址呢?这就是ARP需要做的事,通过IP地址解析到对方的MAC地址。同时在每个主机上都设有一个ARP高速缓存,里面有本局域网上的各主机和路由器的IP地址对应硬件地址的列表,都是通过发送ARP报文解析到的
    
    也就是说是通过更改ip对应的MAC地址 实现动态切换
    

    在虚拟机上简单演示

    **Ubuntu 16.04.3 LTS**
    

    1.安装Keepalived

        apt-cache pkgnames | grep keepalived
        apt-get install keepalived
    

    2.安装ntp服务 保证时间一致性

    3.分别 查看网卡 并 绑定虚拟IP

    ip a
    
    ## 编辑interfaces文件
    auto ens33:0
    iface ens33:0 inet static
    address 192.168.232.100
    netmask 255.255.255.0
    

    4.查看虚拟ip 对应的MAC地址

    ifconfig
    
    ##server1 ens33:0   Link encap:Ethernet  HWaddr 00:0c:29:f2:58:16  inet addr:192.168.232.100
    
    ##server2 ens33:0   Link encap:Ethernet  HWaddr 00:0c:29:8e:11:5e  inet addr:192.168.232.100
    

    5.编辑keepalived

    keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。
    
    ##Master配置
    
    vrrp_instance VI_1 {
        state MASTER
        interface ens33
        virtual_router_id 51 
        priority 103
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
           192.168.232.100
        }
    }
    
    ##Slave配置
    vrrp_instance VI_1 {
        state BACKUP
        interface ens33
        virtual_router_id 51
        priority 10
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
           192.168.232.100
        }
    }
    
    
    state 可以是MASTER或BACKUP,不过当其他节点keepalived启动时会将priority比较大的节点选举为MASTER,因此该项其实没有实质用途
    
    interface 节点固有IP(非VIP)的网卡,用来发VRRP包
    
    virtual_router_id 取值在0-255之间,用来区分多个instance的VRRP组播
    
    priority 用来选举master的,要成为master,那么这个选项的值最好高于其他机器50个点,该项取值范围是1-255(在此范围之外会被识别成默认值100)
    
    advert_int 发VRRP包的时间间隔,即多久进行一次master选举(可以认为是健康查检时间间隔)
    
    authentication 认证区域,认证类型有PASS和HA(IPSEC),推荐使用PASS(密码只识别前8位)
    
    virtual_ipaddress 虚拟ip
    

    6.启动Keepalived服务 并查看系统日志

    tail -f syslog
    
    

    Master状态

    ubuntu Keepalived_vrrp[3892]: VRRP_Instance(VI_1) Transition to MASTER STATE
    ubuntu Keepalived_vrrp[3892]: VRRP_Instance(VI_1) Received lower prio advert, forcing new election
    ubuntu Keepalived_vrrp[3892]: VRRP_Instance(VI_1) Entering MASTER STATE
    

    Slave状态

    Keepalived_vrrp[4139]: VRRP_Instance(VI_1) Entering BACKUP STATE
    

    7.在Slave上传使用tcpdump查看arp广播

    tcpdump vrrp
    
    IP 192.168.232.103 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 51, prio 103, authtype simple, intvl 1s, length 20
    

    8.在另外一台Server上 ping 虚拟ip

    ping 192.168.232.100
    
    root@ubuntu:/home/guolin# arp
    Address HWtype  HWaddress Flags Mask Iface
    192.168.232.100          ether   00:0c:29:8e:11:5e   C                     ens38
    

    可以看到MAC地址是 00:0c:29:8e:11:5e

    9.停止掉Master服务

    通过查看日志可以看到 Slave转成Master状态了
    
    ubuntu Keepalived_vrrp[4139]: VRRP_Instance(VI_1) Transition to MASTER STATE
    Jan 28 17:44:36 ubuntu Keepalived_vrrp[4139]: VRRP_Instance(VI_1) Entering MASTER STATE
    
    

    10.再次在另外一台Server 上ping 虚拟ip

    ping 192.168.232.100
    PING 192.168.232.100 (192.168.232.100) 56(84) bytes of data.
    
    arp
    Address                  HWtype  HWaddress           Flags Mask            Iface
    192.168.232.100          ether   00:0c:29:f2:58:16   C                     ens38
    

    可以看到MAC地址已经变成了 00:0c:29:f2:58:16

  • 相关阅读:
    QString::toStdString() crashes
    Consolas 字体
    Mesh BRep Shapes
    PyOpenCL库安装
    全国精确到乡镇的行政边界、路网水系建筑poi等矢量shp免费下载
    DEM数据(ASTER GDEM|SRTM|GLS2005|ALOS DEM)下载
    IDL基础
    辐射定标与FLAASH大气校正
    Circos绘图—基础
    R-散点密度图
  • 原文地址:https://www.cnblogs.com/alin-qu/p/8371536.html
Copyright © 2011-2022 走看看