Keepalived内核解剖

Keepalived简介

轻量级高可用解决方案工具,实现服务节点之间的负载均衡与高可用,结构简单,扩展性强,设计之初keepalived是专门为LVS设计的,后来广为流传使用,keepalived依赖tcp/ip协议三四五layer检测每个服务节点状态

原理及作用

在这里插入图片描述

  1. Keepalived作用:假设两台nginx反向代理实现负载均衡就可以用keepalived实现。假设主服务器崩了,就会把起初设计好的bakcup节点转变成主节点,keepalived会将master数据流,无缝转接到backup服务节点上,这个过程在客户端是透明的。(最主要的功能就是主备之间的转换)
  2. Keepalived 双主模式 :为了不让bakcup服务节点处于空闲状态,就有了双主模式,也就是两台master服务节点同时对外提供服务,实现了高可用的作用。

VRRP 协议与工作原理

VRRP:把两台或多台物理路由器虚拟成虚拟路由器,同一时间只有一台物理路由器对外提供服务,路由器会选举master/bakcup角色,然后运用 虚拟地址(vip) 对外提供服务,挂主上备的,需要去配置文件设置主备抢占权,也可以不设nopreempt

深入keepalived内核解剖

在这里插入图片描述
Keepalived架构大体分为两大部分User Space and Kernel Space 内核空间处于最底层

  • User Space:(包含以下
  • Scheduler I/O : I/O复用分发,安排内核任务数据之间的请求
  • Memory:内核管理机制,该部分提供与内存数据之间的访问
  • Control Plane :控制面板功能,实现设置文件内容与编译解析
  • Core components(重要):keepalived核心组件
  • WatchDOG:检测VRRP数据转换以及协议状态
  • CheCkers:三四五layer之间的protocol
  • VRRP Stack:主备其一崩后数据转移机制
  • System call:Checkers and VRRP Stack 模块之间的内核调用
  • SMTP:mail 邮件模块
  • IPVS wrapper : 将设置好的ipvs规则发送到core让core做处理
  • Netlink Reflector:实现集群中故障vip转移与切换

配置文件模板

! Configuration File for 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_script check_httpd {
    script "killall -0 httpd"
    interval 2
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 80
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass qwaszx
    }

    virtual_ipaddress {
        192.168.0.0/24
    }

    notify_master "/etc/keepalived/master.sh"
    notify_backup "/etc/keepalived/backup.sh"
    notify_fuall  "/etc/keepalived/fuall.sh"

    track_script {
    check_httpd
    }
}

Tips: 虚拟路由id主备不能相同,并且backup的id不能大于master 的虚拟id也不能使用默认的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值