Keepalived高可用服务搭建
标签(空格分隔): linux服务
文章目录
1 keepalived高可用软件
1.1 介绍
Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx,Haproxy,MySQL等)的高可用解决方案软件。
1.2 三大功能
- 管理LVS负载均衡软件
- 实现对LVS集群节点健康检查功能
- 作为系统网络服务的高可用功能
1.3 Keepalived高可用故障切换转移原理
- Keepalived高可用服务之间的故障切换转移,是通过VRRP(Virtual Router Redundancy - Protocol,虚拟路由器冗余协议)来实现的。
- 在Keepalived服务正常工作时,主Master节点会不断地向备节点发送(多播的方式)心跳消息,告诉备Backup节点自己存活,当主节点发生故障无法发送心跳消息时,备节点检测不到主节点的“心跳”了,于是调用接管程序,接管主Master节点的IP资源及服务。而当主Master节点恢复时,备Backup节点又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色。
1.4 VRRP虚拟路由冗余协议
-
VRRP的出现就是为了解决静态路由的单点故障问题,VRRP是通过一种竞选机制来将路由的任务交给某台VRRP路由器的。
-
在VRRP路由器集群中,有多台物理VRRP路由器。其中,一Master工作,其他都是Backup。Master拥有虚拟路由器的IP地址,负责转发发送给网关地址的包和响应ARP请求。
-
VRRP通过竞选机制来实现虚拟路由器的功能,所有的协议报文都是通过IP多播(Multicast)包
(默认的多播地址224.0.0.18)
形式发送的。虚拟路由器由VRID(范围0-225)和一组IP地址组成,对外表现为一个周知的MAC地址:00-00-5E-00-01-{VRID}。所以,在一个虚拟路由器中,不管谁是Master,对外都是相同的MAC和IP(称之为VIP)。客户端主机并不需要因Master的改变而修改自己的路由配置。 -
在一组虚拟路由器中,只有作为Master的VRRP路由器会一直发送VRRP广播包,此时Backup不会抢占Master。当Master不可用时,Backup就收不到来自Master的广播包了,此时多台Backup中优先级最高的路由器会抢占为Master。这种抢占是非常快速的(可能只有1秒甚至更少),以保证服务的连续性。出于安全性考虑,VRRP数据包使用了加密协议进行了加密。
2 Keepalived高可用服务搭建
2.1 CentOS 6*安装
在两台负载均衡服务器上配置,一台为主,一台为备
- keepalived有yum安装方式,源码编译安装方式,这里用yum安装,以主服务器为例(如果是虚拟机设置,需要在这两台服务器上添加一块新网卡,用于keepalived主备之间心跳信息发送)
- 使用yum安装并检查版本
yum -y install keepalived
rpm -qa keepalived - 启动keepalived并检查
/etc/init.d/keepalived start
ps -ef | grep keep | grep -v grep - 提示有三个keepalived进程表示安装正确
ip add | grep 192.168
默认情况下会开启三个VIP地址,和配置文件有关,检查都完成后关闭服务,进行自定义配置 - keepalived配置文件高可用部分详解(主MASTER)
输入vim /etc/keepalived/keepalived.conf
其内容为:
! Configuration File for keepalived
global_defs {
#全局配置
notification_email {
119856