一.知识梳理 LVS+keepalived基于完成开源软件的构架实现负载均衡高可用 1.LVS LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务集群系统。有三种负载均衡技术(VS/NAT、VS/TUN、VS/DR),八种调度算法。 2.keeplived keepalived在这里主要做realserver健康检查以及loadbalance主机和backup主机之间failover的实现。 keepalived是一个基于VRRP协议来实现WEB服务高可用方案,可以用来避免单点故障,一个web服务器至少有两台服务器运行keepalived,一台主服务器(MASTER),一台备用服务器(BACKUP),但是对外只表现一个vip,主服务器会发送特定消息给备用服务器,当备用服务器收到消息时,备用服务器就会接管ipswich,继续提供服务,从而保证了高可用性。 3.kepalive工作原理 Layer3:keepalived使用layer3的方式工作时,keepalived会定期向服务器群中发送一个ICMP的数据包(即我们平时用的ping程序),如果发现某台服务器的IP地址没有激活,keepalived便会报告这台服务器是小,并将他从服务器群中剔除。Layer3的方式是以服务器的IP第孩子是否有效作为服务器工作正常与否的标准 Layer4:主要以TCP端口的状态来决定服务器工作正常与否。如web sercer的服务端口一般是80.如果keepalived检测到80端口没有启动,则keepalived将这台服务器从服务群中删除。 Layer5:layer5就是工作载具体的应用层,比layer3,4要复杂一点,载网络上占用的宽带也要打一些。Keepalived将根据用户的设定检查服务器的运行是否正常。如果设定不相符,则keepalived将把服务器从群中踢除。 二.实现 1.lvs配置 server1 yum install -y ipvsadm ipvsadm -A -t 172.25.38.100:80 -s rr 添加策略 指定vip 172.25.66.100:80,-t指tcp,-s rr 指定轮询 ip addr add 172.25.66.100/24 dev eth0 ##添加虚拟ip ipvsadm -L ##列出ipvsadm策略 IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 172.25.66.100:http rr ipvsadm -a -t 172.25.66.100:80 -r 172.25.66.2:80 -g ipvsadm -a -t 172.25.66.100:80 -r 172.25.66.3:80 -g 将虚拟ip映射到真实的ip,-r指定realserver -t指定tcp协议 -g指dr模式 ipvsadm -L ##查看策略已加入