zoukankan      html  css  js  c++  java
  • keepalived

    keepalived

    1       keepalived概念

    keepalived主要是通过vrrp协议实现高可用功能的

    vrrp是虚拟路由冗余协议

    vrrp出现的目的就是为了解决静态路由单点故障问题

    2       vrrp协议原理

    路由器使用VRRP 功能后,会根据优先级确定自己在备份组中的角色。优先级高的路由器成为Master 路由器,优先级低的成为Backup 路由器。Master 拥有对外服务的虚拟IP,提供各种网络功能,并定期发送VRRP 报文,通知备份组内的其他设备自己工作正常;Backup 路由器只接收Master 发来的报文信息,用来监控Master 的运行状态。当Master 失效时,Backup 路由器进行选举,优先级高的Backup 将成为新的Master 。

    在抢占方式下,当Backup 路由器收到VRRP 报文后,会将自己的优先级与报文中的优先级进行比较。如果大于通告报文中的优先级,则成为Master 路由器;否则将保持Backup状态;

    在非抢占方式下,只要Master 路由器没有出现故障,备份组中的路由器始终保持Master 或Backup 状态,Backup 路由器即使随后被配置了更高的优先级也不会成为Master 路由器;

    如果Backup 路由器的定时器超时后仍未收到Master 路由器发送来的VRRP报文,则认为Master 路由器已经无法正常工作,此时Backup 路由器会认为自己是Master 路由器,并对外发送VRRP报文。备份组内的路由器根据优先级选举出Master 路由 器,承担报文的转发功能。

    3       部署keepalived高可用

    3.1         确认服务是否可用

    3.2         安装部署高可用keeplived服务

    1.安装keepalived软件

    yum install -y  keepalived

    2.编辑配置文件/etc/keepalived/keepalived.conf

           GLOBAL CONFIGURATION  ===>全局配置

           VRRPD CONFIGURATION    ===》vrrp配置

           LVS CONFIGURATION         ===》lvs相关配置

    ! Configuration File for keepalived        -----》注释内容介绍说明是keepalived配置文件

    global_defs {

       notification_email {                 =====}邮件信息

         acassen@firewall.loc

         failover@firewall.loc

         sysadmin@firewall.loc

       }

       notification_email_from Alexandre.Cassen@firewall.loc

       smtp_server 192.168.200.1

       smtp_connect_timeout 30

       router_id LVS_DEVEL

       vrrp_skip_check_adv_addr

       vrrp_strict

       vrrp_garp_interval 0

       vrrp_gna_interval 0

    }

    ########只保留router_id

    vrrp_instance VI_1 {

        state MASTER                    ---------->设置主备

        interface eth0           ---------->设置主备服务器的虚拟ip放置网卡位置

        virtual_router_id 51            ----------->虚拟路由id,不同实例不同,主备相同

        priority 100              ----------->优先级  优先级越大数字越大

        advert_int 1             ----------->主备间通讯的时间间隔

        authentication {        ------------>主备间通过认证建立链接

            auth_type PASS

            auth_pass 1111

        }

        virtual_ipaddress {                ------------>定义主备服务器之间的虚拟ip地址信息

            172.16.1.43

        }

    }

    3.3         进行测试访问

    4       keeplived脑裂问题

    同时在keepalived高可用集群中,出现两个虚拟ip地址信息,这种情况就称为脑裂

    4.1         脑裂出现的原因

    1.心跳线出现问题

    2.网卡配置有问题

    3.交换设备有问题

    4.线缆链接有问题

    5.有防火墙软件阻止问题

    6.virtual_router_id配置数值不正确

    总结:只要备服务器收不到组播包,就会成为主,主资源没有释放就会出现脑裂

    利用shell脚本实现监控管理

    学习如逆水行舟,不进则退
  • 相关阅读:
    Linux下判断字符串长度
    Linux下使用xargs得到字符串作为参数进行输出、awk得到字符串作为参数进行输出
    Linux下使用xargs将多行文本转换成一行并用tr实现逗号隔开
    Linux下使用split按行数进行切割
    Maven设置snapshot无法在远程仓库下载的问题解决
    Intellij IDEA自动生成serialVersionUID
    Spring中@Value用法收集
    Http报头Accept与Content-Type的区别(转)
    Linux下Shell的for循环语句
    Shell脚本中的分号使用
  • 原文地址:https://www.cnblogs.com/bkydxy/p/12133113.html
Copyright © 2011-2022 走看看