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)

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • linux日志管理命令_shell查看日志命令

    linux日志管理命令_shell查看日志命令文章目录一.企业中:软件包管理二.任务计划1.一次性调度执行——at2.循环调度执行——cron三.日志管理rsyslogd配置文件rules规则四.日志轮转logrotateLinux11任务计划,日志管理一.企业中:软件包管理1.清理原有的YUM配置——国外下载源,速度慢把原来/etc/yum.repos.d/的内容都丢到/tmp(mv移动)这里可能有一个小问题,需要先检测一下有没有wget 命令,没有的话要用原有的yum配置先下载wget:#yum -y install wget,因为后面

  • eclipse安装教程完整版

    eclipse安装教程完整版eclipse安装教程完整版安装Java教程安装eclipse教程安装Tomcat教程安装MySQL数据库教程安装Java教程到官网下载Java,这里推荐下载JavaSE8下载完成后点击安装,然后一直下一步,注意安装路径不要出现中文,不然可能会出错接下来配置环境变量,先找到Java的安装路径并复制路径右击计算机(没有计算机就右击此电脑)选择属性,点击高级系统设置,然后在高级下面选择环境变量这里有两种配置方法一种是采用绝对路径,一种是采用相对路径绝对路径:(推荐使用)选中系统变量中变量

  • PostgreSQL的postgres_fdw跨库使用

    PostgreSQL的postgres_fdw跨库使用

  • nyvacat for mysql15激活码【注册码】「建议收藏」

    nyvacat for mysql15激活码【注册码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 五子棋 人机对战 思路「建议收藏」

    五子棋 人机对战 思路「建议收藏」五子棋之人机对战思路:1,棋盘与棋子的实现2,玩家下完棋后,计算机要根据当前玩家所下的棋子找出最佳下棋点3,输赢的判断之前已经把人人对战的大概方法实现了,接下要实现的是人机的对战。我的思路如下(当然只是思路哈~还没具体实现呢):其实人机对战就是就在我们下完一步起后,通过电脑分析下一步该走哪,对此做出判断并在最佳的位置上出棋。1,首先需要定义权值,我做…

  • constexpr和常量表达式

    constexpr和常量表达式常量表达式常量表达式(constexpression)是指值不会改变并且在编译过程就能得到计算结果的表达式。显然,字面值属于常量表达式,用常量表达式初始化的const对象也是常量表达式。constinta=3;//a是常量表达式constintb=a+1;//b是常量表达式intc=8;//c不是常量表达式,因为c的数据类型是int而不是constintco

发表回复

您的电子邮箱地址不会被公开。

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