keepalived 保证集群的高可用

简介: keepalived 保证集群的高可用

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

graph LR
A[client]  --> B((负载))
A --> C(负载)
B --> E{web1}
B-->D
C --> D[web2]
C -->E

后期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)

相关文章
|
2月前
|
监控 应用服务中间件 nginx
使用Keepalived实现双机热备,实现服务高可用
使用Keepalived实现双机热备,实现服务高可用
22 0
|
3天前
|
运维 负载均衡 监控
keepalived+LVS实现高可用性集群
通过结合keepalived和LVS,你可以创建一个高可用性的负载均衡集群,确保服务器的稳定性和性能。这对于托管Web服务、应用服务器等关键服务的服务器集群非常有用。
12 1
|
8月前
|
负载均衡 测试技术
LVS+KeepAlived构建高可用集群
LVS+KeepAlived构建高可用集群
55 0
|
11月前
|
机器学习/深度学习 编解码 运维
高可用方案组件,Keepalived详解
高可用方案组件,Keepalived详解
525 0
|
负载均衡 安全 网络安全
构建Keepalived高可用集群
Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器.
322 0
|
Shell Docker 容器
KeepAlived集群高可用搭建
你的系统是否存在单点故障呢?那么这里我们基于Docker演示下基于KeepAlive的高可用配置。 简介 KeepAlived是一个用C语言编写的路由软件,它的主要目的是为了提供基于Linux服务器的负载均衡和高可用功能。
1729 0
|
Web App开发 测试技术 网络安全
|
负载均衡 应用服务中间件 nginx
|
监控 关系型数据库 MySQL
|
Web App开发 应用服务中间件 测试技术