设为首页 收藏本站
查看: 4542|回复: 0

[经验分享] keepalived介绍

[复制链接]
YunVN网友  发表于 2018-12-28 10:53:11 |阅读模式
  Keepalived介绍
Keepalived是一款高可用软件,它的功能主要包括两方面:
1)通过IP漂移,实现服务的高可用:服务器集群共享一个虚拟IP,同一时间只有一个服务器占有虚拟IP并对外提供服务,若该服务器不可用,则虚拟IP漂移至另一台服务器并对外提供服务;
2)对LVS应用服务层的应用服务器集群进行状态监控:若应用服务器不可用,则keepalived将其从集群中摘除,若应用服务器恢复,则keepalived将其重新加入集群中。
  Keepalived可以单独使用,即通过IP漂移实现服务的高可用,也可以结合LVS使用,即一方面通过IP漂移实现LVS负载均衡层的高可用,另一方面实现LVS应用服务层的状态监控,如图所示:

  Keepalived原理
Keepalived的实现基于VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议),而VRRP是为了解决静态路由的高可用。VRRP的基本架构如图所示:

  虚拟路由器由多个VRRP路由器组成,每个VRRP路由器都有各自的IP和共同的VRID(0-255),其中一个VRRP路由器通过竞选成为MASTER,占有VIP,对外提供路由服务,其他成为BACKUP,MASTER以IP组播(组播地址:224.0.0.18)形式发送VRRP协议包,与BACKUP保持心跳连接,若MASTER不可用(或BACKUP接收不到VRRP协议包),则BACKUP通过竞选产生新的MASTER并继续对外提供路由服务,从而实现高可用。
  Keepalived安装配置
  下载地址:http://www.keepalived.org/download.html

  Linux下以默认配置安装:
tar –zxvf keepalived-1.2.7.tar.gz
cd keepalived-1.2.7
./configure
make
make install  或:
yum install keepalived  执行脚本:
/etc/init.d/keepalived start|stop|restart  由于keepalived服务之间需要使用VRRP协议进行通信,因此需要进行防火墙配置:
iptables –I INPUT –i eth0 –d 224.0.0.0/8 –j ACCEPT
iptables –A INPUT –i eth0 –p vrrp –j ACCEPT
iptables –A OUTPUT –p vrrp –o eth0 –j ACCEPT  配置文件:
/etc/keepalived/keepalived.conf
  Keeaplived的配置包含三部分:
1)全局配置,配置邮件等;
2)VRRPD配置,配置VRRP实例;
3)LVS配置,配置LVS的应用服务器;
若只是单独使用keepalived,通过IP漂移实现服务的高可用,则只需要配置前两部分就可以,若结合LVS使用,实现LVS负载均衡层的高可用、应用服务层的状态监控,则还需要配置第三部分。
  Keepalived应用示例
1)单独使用(IP漂移)

  如图所示,两台机器192.168.80.128、192.168.80.129共享虚拟IP 192.168.80.130,192.168.80.128、192.168.80.129的keepalived配置分别如下所示:
global_defs {

    router_id LVS_DEVEL

}



vrrp_instance_VI_1{

    state MASTER

    interface eth0

    virtual_router_id 201

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.80.130/24 dev eth0

    }

}

global_defs {

    router_id LVS_DEVEL

}



vrrp_instance_VI_1{

    state BACKUP

    interface eth0

    virtual_router_id 201

    priority 50

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.80.130/24 dev eth0

    }

}

  •启动192.168.80.128、192.168.80.129上的keepalived
  192.168.80.128成为MASTER,占有VIP 192.168.80.130并对外组播VRRP协议包



  192.168.80.129无变化


  •关闭192.168.80.128上的keepalived
  192.168.80.128不再占有VIP 192.168.80.130

  192.168.80.129成为MASTER,占有VIP 192.168.80.130并对外组播VRRP协议包
  


  


  2)结合LVS使用

  LVS高可用集群通过VIP 192.168.80.130对外提供服务,负载均衡层有两台服务器192.168.80.132、192.168.80.135,负责分发服务请求至应用服务层,通过keepalived实现这两台服务器的负载均衡高可用(和单独使用keepalived的应用示例相同),应用服务层也有两台服务器192.168.80.133、192.168.80.134,负责对外提供Web应用服务,通过keepalived实现这两台服务器的状态监控。
  192.168.80.132、192.168.80.135上的keepalived配置在全局配置、VRRPD配置上和单独使用keepalived的应用示例相同,但需要添加LVS配置,如下所示:
virtual_server 192.168.80.130 80 {

    delay_loop 6

    lb_algowlc

    lb_kind DR

    persistence_timeout 50

    protocolTCP


real_server 192.168.80.133 80 {

        weight1

        TCP_CHECK{

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

real_server 192.168.80.134 80 {

        weight 1

        TCP_CHECK{

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

  启动服务后,负载均衡层通过VIP对外提供服务,并将服务请求转发至133和134这两台应用服务器上:



  132和135这两台负载均衡服务器中,132占有VIP 130,并对133和134进行状态监控:

  •应用服务状态监控
  若133和134这两台应用服务器中,134服务不可用,则keepalived将其从应用服务器集群中摘除,待其恢复后,又重新加入,在其恢复前,负载均衡层将应用请求均转发至133,保证服务可用。


  •负载均衡服务高可用
  若132和135这两台负载均衡服务器中,132服务不可用,则keepalived将VIP 130漂移至135,由135负责应用请求转发,保证服务可用。






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-656798-1-1.html 上篇帖子: Keepalived源码安装 下篇帖子: keepalived 学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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