首页 > 代码库 > keepalived

keepalived


一、KeepAlive基本介绍

            keepalived是一款失效转发机制的软件, 它的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中。

keepalived内置了对ipvs函数的调用支持。可以直接在keepalived中按照语法配置ipvs然后keepalived就可以实现对ipvs的配置。

keepalived是以VRRP(Virtual Router Redundancy Protocol)协议为实现基础的即虚拟路由冗余协议。虚拟路由冗余协议可以认为是实现路由器高可用的协议即将N台提供相同功能的路由器组成一个路由器组这个组里面有一个master和多个backupmaster上面有一个对外提供服务的vip该路由器所在局域网内其他机器的默认路由为该vipmaster会发组播当backup收不到vrrp包时就认为master宕掉了这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

keepalived的工作原理是基于ARRP协议实现的,基于虚拟路由就是把多个路由设备对外看成一个,使用一个虚拟路由IP,该IP在路由间飘动,其中一个路由故障,该IP就会被其他路由获取,对外表现正常不影响服务。

    KeepAlived 的作用:

            防止单点,故障转移一步到位,丝毫不影响外界与服务器之间的交互,对我们搭建高可用性的集群服务器有一定的帮助。 


 

二、KeepAlived的基本配置案例:



安装:使用rpm包安装,yum  install keepalived

配置2个服务节点:如下



使用2个节点node

A节点:192.168.10.1

    节点A(MASTER)

 配置文件 /etc/keepalived/keepalived.conf

     
vrrp_instance VI_1 {               //实例名称 
    state MASTER                   //主节点 
    interface eth1                 //指定网卡设备
    virtual_router_id 100          //拟路由ID    priority 100                   //优先级,主节点要数字要大于从节点 
    advert_int 1 
    authentication { 
        auth_type PASS 
        auth_pass 412825
    } 
    virtual_ipaddress {             //虚拟IP地址 
        192.168.100.1
    } 
}
    节点上的web页面:nodeA



B节点:192.168.10.2

节点B(BACKUP)

    节点上的web页面内容 :nodeB

   
vrrp_instance VI_1 {               //实例名称 
    state BACKUP                   //从节点
    interface eth1                 //指定网卡设备
    virtual_router_id 100          //拟路由ID    priority 100                 //优先级,从节点要数字要小于主节点 
    advert_int 1 
    authentication { 
        auth_type PASS 
        auth_pass 412825
    } 
    virtual_ipaddress {             //虚拟IP地址 
        192.168.100.1   } 
}

启动keepalived   

#   service keepalived start  (2个节点都要启动)
 
启动后,使用 # IP addr show 命令,查看VIP被发送到哪个节点上, 


操作:

    启动2个节点A和B,会在 /var/logs 下查看启动信息

    他会首先被转移到默认MASTER的主节点上,

    然后把主节点A节点停掉,会发现,VIP转移到B节点上了,且身份为MASTER,

    

    如果把2个节点都停掉,然后再启用B节点,也就是BACKUP节点,但是会发现,BACKUP节点会显示为MASTER。






本文出自 “linux小盆友” 博客,请务必保留此出处http://ny0716.blog.51cto.com/9154254/1557144

keepalived