集群内高并发-LVS负载均衡-keepalived高可用

LVS负载均衡-keepalived高可用

问题:

1.lvs会挂,业务下线,单点故障

2.RS会挂,一部分用户会请求异常,lvs还存有这个RS的负载记录

解决:

单点故障的解决方式:一变多

​ a)主备

​ b)主从

RS挂了如何确定?

​ ping服务是错误的,ping是网络层,服务是应用层。

​ 访问一下:验证的是应用层的http协议 -》 发请求,判断返回200


lvs:内核中的模块:ipvs

第三方程序:keepalived

代替人自动化运维,解决单点故障没实现HA

1.监控自己服务

2.Master通告自己还活着,Backup监听Master状态,Master挂了,一堆Backup推举出一个新的Master

3.配置:VIP,添加ipvs,keepalived配置文件

4.对后端server做健康检查

*,keepalived 是个通用工具,比如说nginx也能监控。

什么是Keepalived?

Keepalived是Linux下一个轻量级别的高可用解决方案。高可用:广义来讲,是指整个系统的高可用行;狭义的来讲就是主机的冗余和接管。

VRRP(VritrualRouterRedundancyProtocol,虚拟路由冗余协议)出现的目的是解决静态路由出现的单点故障问题,通过VRRP可以实现网络不间断稳定运行,因此Keepalvied一方面具有服务器状态检测和故障隔离功能,另外一方面也有HAcluster功能。

健康检查和失败切换是keepalived的两大核心功能。所谓的健康检查,就是采用tcp三次握手,icmp请求,http请求,udp echo请求等方式对负载均衡器后面的实际的服务器(通常是承载真实业务的服务器)进行保活;而失败切换主要是应用于配置了主备模式的负载均衡器,利用VRRP维持主备负载均衡器的心跳,当主负载均衡器出现问题时,由备负载均衡器承载对应的业务,从而在最大限度上减少流量损失,并提供服务的稳定性。

VRRP选举机制

VRRP路由器在运行过程中有三种状态:

  1. Initialize状态: 系统启动后就进入Initialize,此状态下路由器不对VRRP报文做任何处理;
  2. Master状态;
  3. Backup状态;
    一般主路由器处于Master状态,备份路由器处于Backup状态。

VRRP使用选举机制来确定路由器的状态,优先级选举:
1.VRRP组中IP拥有者。如果虚拟IP地址与VRRP组中的某台VRRP路由器IP地址相同,则此路由器为IP地址拥有者,这台路由器将被定位主路由器。
2.比较优先级。如果没有IP地址拥有者,则比较路由器的优先级,优先级的范围是0~255,优先级大的作为主路由器
3.比较IP地址。在没有Ip地址拥有者和优先级相同的情况下,IP地址大的作为主路由器。

Keepalived实例测试

keepalived实验:
主机: node01~node04

node01:
	ipvsadm -C
	ifconfig eth0:8 down

----------------------------

node01,node04:
	yum install keepalived ipvsadm -y
	配置:
		cd  /etc/keepalived/
		cp keepalived.conf keepalived.conf.bak
		vi keepalived.conf
			node01:
			vrrp:虚拟路由冗余协议!
				vrrp_instance VI_1 {
					state MASTER         //  node04  BACKUP
					interface eth0
					virtual_router_id 51
					priority 100		 //	 node04	 50
					advert_int 1
					authentication {
						auth_type PASS
						auth_pass 1111
					}
					virtual_ipaddress {
						192.168.150.100/24 dev eth0 label  eth0:3
					}
				}
			virtual_server 192.168.150.100 80 {
				delay_loop 6
				lb_algo rr
				lb_kind DR
				nat_mask 255.255.255.0
				persistence_timeout 0
				protocol TCP

			real_server 192.168.150.12 80 {
				weight 1
				HTTP_GET {
					url {
					  path /
					  status_code 200
					}
					connect_timeout 3
					nb_get_retry 3
					delay_before_retry 3
				}   
			}       
			real_server 192.168.150.13 80 {
				weight 1
				HTTP_GET {
					url {
					  path /
					  status_code 200
					}
					connect_timeout 3
					nb_get_retry 3
					delay_before_retry 3
				}
			}
		scp  ./keepalived.conf  root@node04:`pwd`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值