一、keepalived简介
keepalived是Linux下一个轻量级的高可用解决方案,keepalived主要通过虚拟路由冗余(VRRP)来实现高可用功能,防止因为单点故障导致整个系统架构的不可用的发生。可以实现诸如“服务器状态检测”、“故障隔离”、“高可用集群”的功能。
keepalived最主要的目的是能够自己调用ipvsadm命令来生成规则,并且能够自动实现将用户需求的访问地址转移到其他节点上。
keepalived在一个节点上提供VIP向外提供服务,将用户的请求转发到后端的real servel上去。
keepalived自身启动一个服务,它能够工作在两个节点上也可以是多个节点,其中当前持有资源的节点称为活动节点Master,另一个称为备用节点backup;对于Master和backup来讲,Master这个节点会不停的向backup这个节点通告心跳,但他的通告是基于VRRP这种机制来实现的,Master这个节点会一直处于存活状态的,备用节点backup一旦接收不到主节点的心跳传递过来的VRRP信息之后,他就会把资源抢过来在本地使用并在本地生效规则;这个规则的生效是:本地有个服务,它只需要把本地的keepalived的那个生效服务中的某个模块把他生效起来就可以了,所以keepalived自身是模块化设计的,它有着诸多模块;有些模块是监控生效ipvs的,去监控配置文件中跟ipvs相关的一些应用;他的主要目的是为ipvs提供高可用性,keepalived除了能实现资源转移之外,还能自身调用ipvs命令来生成规则;而且还能够实现后端realserver的健康状态检测。
keepalived是轻量级,适用于节点少的场景;支持多个节点,但是对于同一组服务来讲,仍然跟此前的法则一样,只能有一个节点是活动的,因为VIP只能在一个节点上运行,所以他是一主多从的模式;可以有一个主Master多个backup;但是backup越大浪费越大,资源占用越大。
需要注意的是:virtual_server_group、virtual_server是用来配置LVS。LVS配置是专门为keepalived+LVS集成准备的。这里LVS配置并不是指真的安装LVS然后用ipvsadm来配置他,而是用keepalived的配置文件来代替ipvsadm来配置LVS,这样会方便很多,一个配置文件搞定这些,维护方便,配置方便。
二、keepalived的部署
2.1、软件安装
1、系统内核参数修改
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 --把0改为1。功能:设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。 |
使配置生效:sysctl -p
2、下载keepalived安装软件包
wgethttp://www.keepalived.org/software/keepalived-1.2.12.tar.gz
tar xzf keepalived-1.2.12.tar.gz
cd keepalived-1.2.12
yum install -y gcc openssl-devel popt-devel
yum -y install libnl*
./config