博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
keepalived介绍
阅读量:5037 次
发布时间:2019-06-12

本文共 3111 字,大约阅读时间需要 10 分钟。

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安装配置

下载地址:

Linux下以默认配置安装:

1
2
3
4
5
tar 
–zxvf keepalived-1.2.7.
tar
.gz
cd 
keepalived-1.2.7
.
/configure
make
make 
install

或:

 

1
yum 
install 
keepalived

执行脚本:

1
/etc/init
.d
/keepalived 
start|stop|restart

由于keepalived服务之间需要使用VRRP协议进行通信,因此需要进行防火墙配置:

1
2
3
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负责应用请求转发,保证服务可用。

转载于:https://www.cnblogs.com/shengy/p/7391199.html

你可能感兴趣的文章
Python Web框架要点
查看>>
Sql查询利用表变量优化一例
查看>>
[luogu3155 CQOI2009] 叶子的染色(树形dp)
查看>>
LeetCode Golang 2. 两数相加
查看>>
python接口自动化测试--数据分离读取Excal指定单元格数据
查看>>
协作式取消 CancellationTokenSource
查看>>
XML
查看>>
【NOIP模拟】密码
查看>>
LuoguP3948 数据结构
查看>>
面象对象编程学习笔记(2)
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
DP入门——01背包 & 完全背包
查看>>
智能电视系列(4)-高通,天才与极限
查看>>
让entityframework.extend库同时支持mysql,sqlsever
查看>>
hdoj:2061
查看>>
Oarcle 入门之like关键字
查看>>
Entity Framework Code First (七)空间数据类型 Spatial Data Types
查看>>
2012年度读写Excel文件的最佳PHP类库收集
查看>>
读过的书
查看>>
ll 详解
查看>>