keepalived 保证集群的高可用

2021-06-08 21:28:40 浏览数 (1)

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){

0 人点赞