写在前面
在软件定义网络中,高可用的合理实现,是一个最具鲜明特色的例证。高可用是分布式系统架构设计中必须考虑的因素之一。
本文将从高可用的应用场景入手,通过对场景实现的描述,到keepalived软件的原理,再到VRRP协议的剖析,将高可用某些应用向大家做简要介绍。
Keepalived实现集群高可用使用场景为主备集群高可用,以公有云现有的网络产品为例,VRRP协议在部署中的应用见下图:
上文提到某些网关设备的高可用,是通过keepalived实现的。那么keepalived又是什么:
Keepalived的实现基于VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)。
Keepalived是一款用c语言编写,基于GNU GPL开源许可协议开发的开源软件。
Keepalived的功能主要包括两方面:
(1)实现服务高可用: Keepalived是基于vrrp协议的一款高可用软件,Keepalived服务器集群共享一个虚拟IP,同一时间只有一个服务器占有虚拟IP并对外提供服务,若该服务器不可用,则虚拟IP漂移至另一台服务器并对外提供服务;
(2)实现服务器集群状态监控:keepalived可以对LVS服务器集群做监控。若对LVS若应用服务器不可用,则keepalived将其从集群中摘除,若应用服务器恢复,则keepalived将其重新加入集群中。
Keepalived可以单独使用,即通过IP漂移实现服务的高可用,也可以结合LVS使用,即一方面通过IP漂移实现LVS负载均衡层的高可用,另一方面实现LVS应用层的探测。
keepalived是模块化设计,不同模块负责不同的功能,下面是keepalived的核心组件 :
通过对keepalived的简要介绍,我们了解了在某些高可用中的软件定义的实现途径。
但是,在keepalived中起到关键作用的VRRP又是什么呢:
VRRP是为了解决静态路由的高可用。
VRRP由IETF提出,目的是为了解决局域网中配置默 认网关的单点失效问题,遵循RFC3768协议标准。
VRRP虚拟路由器由多个VRRP路由器组成,每个VRRP路由器都有各自的IP和共同的VIP、虚mac和VRID(0-255)。
VRRP路由器通过竞选成为MASTER,占有VIP,对外提供路由服务,其他成为BACKUP,MASTER以IP组播(组播地址:224.0.0.18)形式发送VRRP协议包,与BACKUP保持心跳连接,若MASTER不可用(或BACKUP接收不到VRRP协议包),则BACKUP通过竞选产生新的MASTER并继续对外提供路由服务,从而实现高可用。
配置VRRP时,需要路由器支持VRRP功能。同时VRRP管理的机器,要在同一个二层网络下,或同一个VLAN下。
写在最后
通过本文,笔者旨在通过对高可用某些应用实现方式的介绍,让大家对SDN这个概念能有一个更加感性的认识。
其实,看似晦涩的它,并没有那么难懂。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞9
添加新评论2 条评论
2021-02-17 23:32
2018-12-20 17:57