当前位置:   article > 正文

云计算学习之路——Keepalived实现高可用

keepalived

一、Keepalived简介

1、Keepalived是什么?

keepalived是集群管理中保证集群高可用(HA)的一个服务软件,其功能类似于heartbeat,用于防止单点故障

keepalived的两大核心功能是失败切换(高可用)健康检查。所谓的健康检查,就是采用tcp三次握手,icmp请求,http请求,udp echo请求等方式对负载均衡器后面的实际的服务器(通常是承载真实业务的服务器)进行保活;而失败切换主要是应用于配置了主备模式的负载均衡器,利用VRRP维持主备负载均衡器的心跳,当主负载均衡器出现问题时,由备负载均衡器承载对应的业务,从而在最大限度上减少流量损失,并提供服务的稳定性。

2、Keepalived工作原理

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不认为自己会死,他俩抢着为客户端服务,结果会导致系统混乱,数据损坏。

二、实战:Keepalived+Nginx(实现Nginx负载均衡的高可用)

1、实验环境与架构

1)实验环境:

共需要五台虚拟机:
虚拟机1,虚拟机2:安装nginx.。
使用nginx的web服务器功能,作为真正的web服务器提供服务。

虚拟机3,虚拟机4:安装nginx和keepalived。
作用有两个:1、使用nginx的负载均衡功能,作为负载均衡服务器转发用户请求到真实服务器中。2、安装keepalived实现负载均衡的高可用,虚拟机3作为master,虚拟机4作为backup。

虚拟机5:作为客户端,用于集群的测试,无需任何配置。

2)实验架构
在这里插入图片描述

2、web服务器搭建

为了省时间,直接在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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/770905
推荐阅读
相关标签
  

闽ICP备14008679号