飞沐网站建设公司北京,网站建设电影,视频网站备案流程图,电子商务网站建设感悟一、keepalive相关知识 1.1 keepalive介绍 keepalive即LVS集群当中的高可用架构#xff0c;只是针对调度器的高可用。是高可用的HA架构。
keepalive就是基于VRRP协议来实现LVS高可用的方案。
1、组播地址
224.0.0.18#xff0c;根据组播地址进行通信#xff0c;主备之间发…一、keepalive相关知识 1.1 keepalive介绍 keepalive即LVS集群当中的高可用架构只是针对调度器的高可用。是高可用的HA架构。
keepalive就是基于VRRP协议来实现LVS高可用的方案。
1、组播地址
224.0.0.18根据组播地址进行通信主备之间发送报文确定对方是否存活。2、根据优先级判定主和备的位置。3、故障切换主挂了备来接替工作主恢复了备继续等待。4、主备之间的切换是VIP地址的切换。
1.2 主、备 调度器 主调度器和备调度器备可以是多台一般一主一备
在主调度器正常工作的时候备完全处于冗余状态待命。备不参与集群的运转只有当主调度器出现故障时备才会承担主调度器的工作。一般主调度器恢复功能之后主会继续作为集群的入口备回到冗余状态这个取决于优先级。
keepalive就是调度器的高可用。
VIP地址主备之间的切换主在工作时VIP地址只在主上主停止工作VIP漂移到备服务器。
在主备优先级不变的情况下主恢复工作VIP会飘回到主服务器。
1.3 keeplive脑裂
问脑裂是什么
HA架构高可用架构中的一个特殊现象只要使用VIP地址代理的冗余模式的高可用都有可能出现脑裂的问题。即主和备同时都有VIP地址。
主和备无法确定各自的身份同时出现了VIP地址两边都起来了但两边都无法使用。
可能原因
keepalive的配置文件问题IP地址配置冲突等硬件问题网卡网线等故障防火墙的策略iptables的策略屏蔽了组播地址的广播屏蔽了VRRP协议的报文两台服务器的时间不同步也可能导致这个问题其他服务配置对keepalive的心跳线检测造成了干扰
解决脑裂的方法 检查硬件网卡网线等 查看主备节点的keepalived日志查看具体报错信息定位问题 检查端口冲突和监听设置确保其他服务没有占用keepalived使用的VIP或者监控端口。 查看配置文件检查IP地址配置、心跳线检测的间隔和超时时间等配置是否合理 查看防火墙策略确定心跳线检测消息没有被屏蔽 查看服务器网络状态以及时间是否同步。
二、keepalive相关配置
第一步安装keeplive 服务 keeplive 配置详解 2.3 keepaliveNginx实现高可用举例如下 nginx1 主 20.0.0.21 keepalive
nginx2 备 20.0.0.22 keepalive
nginx1是主服务器监控nginx1的服务状态如果nginx1的服务停止需要自动停止nginx1的keepalive这样VIP才会漂移到nginx2上。可用脚本实现自动关闭keepalive。如果主的nginx服务恢复VIP再漂移到nginx1上利用脚本检查nginx的健康状态 keeplive配置配置
在vrrp_instance VI_1 中添加 追踪脚本组 track_script vrrp会跟踪和监控脚本check_nginx 验证结果在nginx1 上 ip addr查看可以看到VIP20.0.0.100在主服务器上客户机访问VIP地址获得nginx1的web服务关闭nginx1的nginx服务过5秒客户机访问VIP地址获得nginx2的web服务VIP地址漂移到nginx2上。
二、Haproxy相关知识
nginx 四层转发、七层代理
lvs 四层转发内核态用户态
Haproxy 四层转发七层转发
工作场景用于高并发的web场景可以支持一万个以上的并发请求是高性能的TCP和HTTP的负载均衡器。
进行四层和七层转发支持httpsHaproxy本身不自带缓存功能请求当中添加cookie使用缓存支持主备切换keepalive
安装于配置 三、练习 实现keepalive haproxy的高可用
VIP 20.0.0.100 虚拟地址
test2 haproxy1 20.0.0.20 主
test3 haproxy2 20.0.0.30 备
nginx1 20.0.0.21 服务器1
nginx2 20.0.0.22 服务器2
test1客户机
工作原理
haproxy就像LVS的调度器高可用即实现两台haproxy服务器一主一备。
在test2和test3上分别安装haproxy和keepalived
使用keepalive配置test2为 主haproxy服务器test3为 备haproxy服务器两台服务器都能对两台nginx服务器即真实服务器实现轮询
通过检测服务器上的haproxy服务状态实现主备切换即VIP的漂移注意VIP是两台主备haproxy服务器的虚拟地址
3.1 test2和test3上安装haproxy
源码安装haproxy
Haproxy安装如下 3.2 在test2和test3上安装keepalived 对test2的keepalive进行配置编辑检查haproxy状态的脚本 对test3的keepalive进行配置基本和test2的配置一样区别在于 不用添加vrrp_script check_haproxy脚本模块和track_script脚本追踪组 全局模块global_defs中设置 vrrp_instance VI_1 模块中设置 3.3 测试和验证 可以先查看test2和test3的haproxy服务是否正常
curl test2和test3观察是否能实现对两台真实服务器Nginx1和2的轮询如果能轮询则haproxy服务正常
再检查主备工作是否正常可以查看test2和test3的IP地址
观察到VIP现在在主服务器test2上
然后 curl 20.0.0.100 即访问VIP地址能否正常获取服务如果正常轮询说明keepalive正常此时是主服务器test2在通过haproxy提供服务然后停止test2主服务器的haproxy服务 过5s再查看test2和test3的IP地址 ip addr
观察到VIP现在在备服务器test3上VIP漂移再 curl 20.0.0.100 查看能否正常获取页面服务如果正常轮询说明keepalive正常此时是备服务器test3在通过haproxy提供服务。