• 关注官方微信 微信公众号 添加方式:
    1:搜索微信号(gogolinux
    2:扫描左侧二维码
  • 登录 注册
  • 一起学LINUX - GOGOLINUX

    查看: 45|回复: 0
    打印 上一主题 下一主题

    keepalived经典笔记

    [复制链接]

    3154

    主题

    3160

    帖子

    9867

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9867
    跳转到指定楼层
    楼主
    发表于 2020-1-17 15:00:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    HA Cluster:

        集群类型:LB(lvs/nginx(http/upstream, stream/upstream))、HA、HP
       
            SPoF: Single Point of Failure
            
        系统可用性的公式:A=MTBF/(MTBF+MTTR)
            (0,1), 95%,
            几个9(指标): 99%, 99.5%, ...., 99.999%,99.9999%;
                99%: %1, 99.9%, 0.1%
                
            系统故障:
                硬件故障:设计缺陷、wear out、自然灾害、……
                软件故障:设计缺陷、
                
            提升系统高用性的解决方案之降低MTTR:
            
                手段:冗余(redundant)

                active/passive(主备),active/active(双主)
                    active --> HEARTBEAT --> passive
                    active <--> HEARTBEAT <--> active
                   
            高可用的是“服务”:
                HA nginx service:
                    vip/nginx process[/shared storage]
                   
                    资源:组成一个高可用服务的“组件”;
                   
                    (1) passive node的数量?
                    (2) 资源切换?
                   
                shared storage:
                    NAS:文件共享服务器;
                    SAN:存储区域网络,块级别的共享;
                   
                Network partition:网络分区
                    隔离设备:
                        node:STONITH = Shooting The Other Node In The Head
                        资源:fence
                        
                    quorum:            
                        with quorum: > total/2
                        without quorum: <= total/2
                   
                    TWO nodes Cluster?
                        辅助设备:ping node, quorum disk;
                   
            Failover:故障切换,即某资源的主节点故障时,将资源转移至其它节点的操作;
            Failback:故障移回,即某资源的主节点故障后重新修改上线后,将转移至其它节点的资源重新切回的过程;
                   
        HA Cluster实现方案:
            vrrp协议的实现
                keepalived
            ais:完备HA集群
                RHCS(cman)
                heartbeat
                corosync
                
        keepalived:
            
            vrrp协议:Virtual Redundant Routing Protocol
                术语:
                    虚拟路由器:Virtual Router
                    虚拟路由器标识:VRID(0-255)
                    物理路由器:
                        master:主设备
                        backup:备用设备
                        priority:优先级
                    VIP:Virtual IP
                    VMAC:Virutal MAC (00-00-5e-00-01-VRID)
                        GraciousARP
                   
                通告:心跳,优先级等;周期性;
                
                抢占式,非抢占式;
                
                安全工作:
                    认证:
                        无认证
                        简单字符认证
                        MD5
                        
                工作模式:
                    主/备:单虚拟路径器;
                    主/主:主/备(虚拟路径器1),备/主(虚拟路径器2)
                   
            keepalived:
                vrrp协议的软件实现,原生设计的目的为了高可用ipvs服务:
                    基于vrrp协议完成地址流动;
                    为vip地址所在的节点生成ipvs规则(在配置文件中预先定义);
                    为ipvs集群的各RS做健康状态检测;
                    基于脚本调用接口通过执行脚本完成脚本中定义的功能,进而影响集群事务;
                   
                组件:
                    核心组件:
                        vrrp stack
                        ipvs wrapper
                        checkers
                    控制组件:配置文件分析器
                    IO复用器
                    内存管理组件
                   
            HA Cluster的配置前提:
                (1) 各节点时间必须同步;
                    ntp, chrony
                (2) 确保iptables及selinux不会成为阻碍;
                (3) 各节点之间可通过主机名互相通信(对KA并非必须);
                    建议使用/etc/hosts文件实现;
                (4) 确保各节点的用于集群服务的接口支持MULTICAST通信;
                    D类:224-239;
                   
            keepalived安装配置:
                CentOS 6.4+ 随base仓库提供;   
                
                程序环境:
                    主配置文件:/etc/keepalived/keepalived.conf
                    主程序文件:/usr/sbin/keepalived
                    Unit File:keepalived.service
                    Unit File的环境配置文件:/etc/sysconfig/keepalived
                   
                配置文件组件部分:
                    TOP HIERACHY
                        GLOBAL CONFIGURATION
                            Global definitions
                            Static routes/addresses
                        VRRPD CONFIGURATION
                            VRRP synchronization group(s):vrrp同步组;
                            VRRP instance(s):每个vrrp instance即一个vrrp路由器;
                        LVS CONFIGURATION
                            Virtual server group(s)
                            Virtual server(s):ipvs集群的vs和rs;
                
                单主配置示例:
                    ! Configuration File for keepalived

                    global_defs {
                        notification_email {
                            root@localhost
                        }
                        notification_email_from keepalived@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 eno16777736
                        virtual_router_id 14
                        priority 98
                        advert_int 1
                        authentication {
                            auth_type PASS
                            auth_pass 571f97b2
                        }
                        virtual_ipaddress {
                            10.1.0.91/16 dev eno16777736
                        }
                    }            
                
                
                配置语法:
                    配置虚拟路由器:
                        vrrp_instance {
                            ....
                        }
                        
                        专用参数:
                             state MASTER|BACKUP:当前节点在此虚拟路由器上的初始状态;只能有一个是MASTER,余下的都应该为BACKUP;
                             interface IFACE_NAME:绑定为当前虚拟路由器使用的物理接口;
                             virtual_router_id VRID:当前虚拟路由器的惟一标识,范围是0-255;
                             priority 100:当前主机在此虚拟路径器中的优先级;范围1-254;
                            advert_int 1:vrrp通告的时间间隔;
                            authentication {
                                auth_type AH|PASS
                                auth_pass
                            }
                            virtual_ipaddress {
                                / brd dev scope label
    分享到:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    官方微博:

    官方头条号:

    官方微信

    手机访问:

    官方微信

    QQArchiver 手机版 小黑屋 一起学LINUX - GOGOLINUX 闽ICP备18025837号-1 Discuz! X3.4 Powered by © 2001-2013 Comsenz Inc. 

    本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

    快速回复 快速发帖 返回顶部 返回列表