keepalived 保证集群的高可用

keepalived 保证集群的高可用

高并发: 能够同时供多台客户端访问
高可用: 防止集群中因为某个节点坏掉,而导致整个集群不能正常的提供服务
keepalived起初就是为了和lvs进行搭配,配合lvs对后端的集群进行健康检查,当后端的集群中有一个服务器宕机,他将会将这个服务器从后端节点中剔除,来保证集群的可用性,当后端的这个服务能够正常提供服务的时候,再将该服务加入到后端的集群中。后来keepalived实现了vrrp协议
vrrp 虚拟路由协议 漂移ip
lvs 要有两台

client

负载

负载

web1

web2

后期keepalived对lvs负载均衡服务器是用做节点检查的,避免单点故障
负载均衡的集群中,分为(master backup) 如果发生故障,从节点将会在集群中选出一个主,来代替主的位置,主和从之间会发送特定的消息,(这个时间一般为1s),当从服务器接收不到主给的消息,就意味着主服务器宕机,然后从将接替主来进行工作,从而保证集群的高可用
当主服务器修好以后,就会继续主的位置

client 192.168.2.100
lvs1 192.168.2.10
lvs2 192.168.2.11
web1 192.168.2.20 httpd 1111
web2 192.168.2.30 httpd 2222

lvs1 以及lvs2都要进行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
lvs1和lvs2搭建keepalived
在这里插入图片描述
./configure –prefix=/ –with-kernel-dir=/usr/src/kernel && make && make install

在这里插入图片描述
修改主配置文件
在这里插入图片描述
3 global_defs { #全局配置
4 notification_email { #管理员的邮箱
5 acassen@firewall.loc
6 failover@firewall.loc
7 sysadmin@firewall.loc
8 }
9 notification_email_from Alexandre.Cassen@firewall.loc
#邮件的发送者
10 smtp_server 192.168.200.1 #邮件服务器的ip
11 smtp_connect_timeout 30 #邮件连接超时时间
12 router_id LVS_DEVEL #节点的表示 hostname
13 }
15 vrrp_instance VI_1 { ##vrrp组
16 state MASTER #节点的状态
17 interface ens32 #用来发送vrrp的网卡
18 virtual_router_id 51 #server_id
19 priority 100 #优先级 1—255
20 advert_int 1 #发送vrrp通告的时间
21 authentication { #认证
22 auth_type PASS
23 auth_pass 1111
24 }
25 ##虚拟ip 在这里插入图片描述
31 #健康检查间隔的时间
32 调度算法
33 lvs工作模式
35 会话保持时间
36 使用tcp传输
在这里插入图片描述
39权重
40连接的端口
41超时时间
42
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
scp传输过去
在这里插入图片描述

在lvs2上面在进行配置文件更改
在这里插入图片描述
在这里插入图片描述
然后查看ip
应该是两个lvs中一个有拟ip一个没有
如果一个宕机了会换成另一个出现虚拟ip
在这里插入图片描述
在这里插入图片描述
web1以及web2都进行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

客户端验证:
在这里插入图片描述

keepalived 脑裂
keepalived 出现两个主的情况
1 statr MASTER 节点的状态都是主
防火墙没有放行
prioity 100 优先级一致
vrrp_instance vl_1 组名不一致
viryual_router_id 51 不一致
当主恢复后 漂移IP转移需要时间
在生产环境当中 要关闭主恢复后不会转移
nopreempt 这个参数必须记住
实际环境中必须添加

keepalived + haproxy (不用配置ip)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101989.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 三次握手协议

    三次握手协议一 什么是三次握手协议 nbsp tcp ip 建立连接的过程 三次握手协议指的是在发送数据的准备阶段 服务器与客户端之间需要进行三次交互 具体过程如下 第一次握手 建立连接时 客户端向服务器发送一个 SYN 包 握手信号 并计入 SYN SENT 状态 等待服务器确认 第二层握手 服务器收到 SYN 包 必须确认客户端的 SYN 同时自己也发送一个 SYN 包 即 SYN ACK 包 接收到消息并响应 此 nbsp nbsp nbsp nbsp

    2025年8月28日
    6
  • 如何将sql文件导入mysql

    第一步:打在开始界面中找到mysql第二步:双击打开mysql软件。,并输入密码。第三步:如果sql文件的内容中有创建数据库的语句或者你想将表存放在你已有的数据库,在这里就不用创建数据库。第四步:输入“showdatabases;”就能看到自己创建的数据库。第五步:输入“use数据库名”,开始使用这个数据库。第六步:开始导入sql文件,输入“sourcesql文件的路径”(注意你的文件路径要…

    2022年4月4日
    349
  • MATLAB读取nc文件_如何转换mp3文件格式

    MATLAB读取nc文件_如何转换mp3文件格式因为课题处理30年的降雨和蒸发的遥感资料(.NC格式),而想要在Arcgis中处理要求的是raster格式的,所以需要批量转化为tif文件,所以在此分享自己改编之后的代码,可以简洁明了的实现这个过程:版本:MATLAB_2018bclc;clear;%%批读取NC文件的准备工作datadir=’G:\Global_P_ET\MSWEP_V2.2\’;%指定批量数据所在的文件夹…

    2025年8月12日
    2
  • 企业环境中的账户与身份管理 之:1-认识

    企业环境中的账户与身份管理 之:1-认识

    2021年8月9日
    60
  • busybox 安装方法「建议收藏」

    busybox 安装方法「建议收藏」busyboxpro是一个集成了一百多个最常用linux命令和工具的软件,集成了一个http服务器和一个telnet服务器,Android系统中自带的toolbox工具(/system/bin)比较简单,对于一些命令如find等支持的不好,可以Android系统中加入busybox,就可以使用常见的Linux命令,同时通过busybox可以定制Android的根文件系统。  首先,先把手

    2022年7月25日
    19
  • JavaCV开发详解之3:通用拉流器实现,从流媒体服务器拉流rtsp/rtmp录制成视频文件

    JavaCV开发详解之3:通用拉流器实现,从流媒体服务器拉流rtsp/rtmp录制成视频文件javaCV系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作…

    2022年5月8日
    135

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号