keepalived 保证集群的高可用
强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码
高并发: 能够同时供多台客户端访问
高可用: 防止集群中因为某个节点坏掉,而导致整个集群不能正常的提供服务
keepalived起初就是为了和lvs进行搭配,配合lvs对后端的集群进行健康检查,当后端的集群中有一个服务器宕机,他将会将这个服务器从后端节点中剔除,来保证集群的可用性,当后端的这个服务能够正常提供服务的时候,再将该服务加入到后端的集群中。后来keepalived实现了vrrp协议
vrrp 虚拟路由协议 漂移ip
lvs 要有两台
代码语言:txt复制 client
代码语言:txt复制 负载
代码语言:txt复制 负载
代码语言:txt复制 web1
代码语言:txt复制 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)
高可用(3)
本文来源互联网-小阿宇,由javajgs_com转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://cloud.tencent.com/developer/article/1832382
官方
javajgs_
2.47K篇文章 40.95W总阅读量
分享:
扫描分享到社交APP
$("#qrcode9554").qrcode({width:120,height:120,text:"https://javajgs.com/archives/9554"});
t); if(wp_dialog.length>0){