赞
踩
keepalived是集群管理中保证集群高可用(HA)的一个服务软件,其功能类似于heartbeat,用于防止单点故障。
keepalived的两大核心功能是失败切换(高可用)和健康检查。所谓的健康检查,就是采用tcp三次握手,icmp请求,http请求,udp echo请求等方式对负载均衡器后面的实际的服务器(通常是承载真实业务的服务器)进行保活;而失败切换主要是应用于配置了主备模式的负载均衡器,利用VRRP维持主备负载均衡器的心跳,当主负载均衡器出现问题时,由备负载均衡器承载对应的业务,从而在最大限度上减少流量损失,并提供服务的稳定性。
keepalived是以虚拟路由冗余协议VRRP为基础来实现高可用功能的,当backup收不到vrrp包时就认为master宕掉了,这时就需要 根据VRRP的优先级来选举一个backup当master,这样我们就能保证集群的高可用。
VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议,可以认为是实现路由器高可用的协议。就是将N台提供相同功能的路由器组成一个路由组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的VIP,master会发送组广播,当backup收不到VRRP包就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master,从而保证路由器的高可用。
如何判断谁是master:看vip在哪台服务器,谁就是master
keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的
什么是脑裂?
脑裂(split-brain):指在一个高可用(HA)系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立节点,这时两个节点开始争抢共享资源,backup抢资源,master不认为自己会死,他俩抢着为客户端服务,结果会导致系统混乱,数据损坏。
1)实验环境:
共需要五台虚拟机:
虚拟机1,虚拟机2:安装nginx.。
使用nginx的web服务器功能,作为真正的web服务器提供服务。
虚拟机3,虚拟机4:安装nginx和keepalived。
作用有两个:1、使用nginx的负载均衡功能,作为负载均衡服务器转发用户请求到真实服务器中。2、安装keepalived实现负载均衡的高可用,虚拟机3作为master,虚拟机4作为backup。
虚拟机5:作为客户端,用于集群的测试,无需任何配置。
2)实验架构
为了省时间,直接在nginx默认发布目录/usr/share/nginx/html/index.htm中写入测试内容,没有重新编写配置文件。
虚拟机1进行如下操作:
安装并开启nginx,并在nginx默认发布目录中写入测试内容
[root@web-1 ~]# yum -y install nginx
[root@web-1 ~]# systemctl start nginx
[root@web-1 ~]# echo web-1 > /usr/share/nginx/html/index.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。