linux LVS负载均衡集群
摘要:高并发时需要高性能的服务器,集群可以很好的增加服务器的性能,完成高并发的处理。
目录
一、集群概念
二、集群应用场景
三、集群分类
四、负载均衡集群架构
五、集群工作模式
六、LVS虚拟服务器
七、LVS负载调度算法
八、总结
一、集群概念
1.集群概念
多台主机构成一个整体,每个主机有自己的配置,对外以一个主机展示只提供一个访问入口。有高可用性,安全性,正常访问时其中的一台为主服务器,其他为备服务器,当主出现问题,备服务器直接抢占主服务器。
2.集群原因
问题:时代发展,服务器需要更高的性能,需要多cpu,内存,安全性,响应速度,服务器稳定性,现在单个服务器无法满足需求。
解决方案:(1)添加需要的设备,例如:缺cup,加cpu。
(2)购买性能强的主机。
总结:性能需求越来越大,解决方法成本过高,需要集群方法。
二、集群应用场景
1.应用场景
(1)当高并发时,服务器需要高性能,此时集群可以胜任。
(2)企业中保持数据安全性,有集群时可以保证服务不会停止,主服务器出现问题,备服务器可以直接顶上。
三、集群分类
1.集群分类
(1)负载均衡器(F5硬件负载均衡,SLB软件负载均衡)
(2)高可用(VRRP,解决单点故障)
(3)高性能(分布式)
四、负载均衡集群架构
1.集群架构
(1)负载调度器(nginx)
(2)服务器池(后端服务器)
(3)共享存储(数据)
五、集群工作模式
1.集群工作模式
(1)地址转化(NAT)
客户端访问服务器,到负载调度器,分配给服务器,服务器再原路返回。
缺点:客户端到负载调度器只有一个通道,速度慢。
(2)IP隧道(TUN)
客户端访问服务器,通过负载调度器,到服务器,服务器返回直接通过IP直接返回客户端。
缺点:每个服务器都要有一个公网地址。
(3)直接路由(DR)
客户端访问服务器,通过调度器访问,但是返回时不通过调度器,直接用路由器返回。
六、LVS虚拟服务器
1.lvs作用
(1)主要用于多服务器的负载均衡
(2)工作在网络层,可实现高性能 高可用的服务集群技术
(3)廉价,可把许多低性能的服务器组合在一起形成一个超级服务器
(4)易用,配置简单 有多重负载均衡的方法5稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果
可扩展性好
2.lvs和nginx的比较
(1)Ivs比nginx具有更强的抗负载能力,性能高 对内存和CPU资源消耗低
(2) IVS工作在网络层,网络依懒性大,稳定性高。nginx安装配置较简单,网络性依赖小
(3) IVS不支持正则匹配处理,无法实现动静分离效果 nqinx可实现这方面的功能
(4)LVS适用的协议范围广。nginx仅支持HTTP、HTTPS EMail协议 使用于范围小
3.lvs组成
(1)LVS 是基于内核态的netfilter框架实现的IPVS功能,工作在内核态用户配置VIP等相关详细信息并传递到IPVS 就需要用到ipvsadm工具
(2)ipvsadm: ipvsadm 是lvs用户态的配套工具,可以实现VIP和RS的增删改查IPvsadm 就是类似iptables工具的地位
七、LVS负载调度算法
1.固定调度算法
(1) rr:轮询算法,将请求依次分配给不同的rs节点,即RS节点中均摊分配。适合于RS所有节点处理性能接近的情况。
(2) wrr:加权轮训调度,依据不同RS的权值分配任务。权值较高的RS将优先获得任务,并且分配到的连接数将比权值低的RS更多。
相同权值的RS得到相同数目的连接数。
(3) dh:目的地址哈希调度以目的地址为关键字查找一个静态hash表来获得所需RS。
(4) sh:源地址哈希调度以源地址为关键字查找一个静态hash表来获得需要的RS。
2.动态调度算法
(1) wlc:加权最小连接数调度,假设各台RS的权值依次为Wi,当前tcp连接数依次为Ti,依次去Ti/Wi为最小的RS作为下一个分配的RS。
(2) lc:最小连接数调度,IPVS表存储了所有活动的连接。LB会比较将连接请求发送到当前连接最少的RS。
(3) lblc:基于地址的最小连接数调度:将来自同一个目的地址的请求分配给同一台RS,
此时这台服务器是尚未满负荷的。否则就将这个请求分配给连接数最小的RS,并以它作为下一次分配的首先考虑。
八、LVM实验
1.nat模式
客户端:10.0.0.
修改客户端的网关为:10.0.0.1
部署共享存储(NFS服务器:192.168.140.111)
关闭防火墙和安全机制
安装nfs-utils rpcbind程序
启动服务
创建文件,赋权
配置共享文件主配置文件
发布共享
2、配置节点服务器(后端服务器)web1:192.168.140.222
安装http服务
开启http服务
安装nfs-utils rpcbind程序
检查共享文件
web2:192.168.140.223
安装http
开启服务
安装nfs-utils rpcbind程序
启动服务
检查共享文件
web1:192.168.140.222
挂载共享文件
创建文件
web2:192.168.140.223
挂载共享文件
创建文件
配置负载调度器LVS(ens33:192.168.140.19 ens37:10.0.0.1)
添加ens37
配置ens37 10.0.0.1
配置SNAT转发规则
清空规则
创建规则
加载LVS内核模块
安装ipvsadm管理工具
配置lvm,负载配置器
配置负载调度
启动服务
保存配置
每个服务器的dns注释
网页验证
总结:web服务器的网关必须是调度器的IP地址,否则回不来,ipvsadm 只能看到数字跳动,而不涨,调度器的IP最好是客户端的网关。
2.DR模式
1.配置负载调度器(192.168.140.224)
手动刷新
安装ipvsadm
(1)配置虚拟 IP 地址(VIP:192.168.140.225)
配置VIP
检查虚拟网卡
调整 proc 响应参数
由于 LVS 负载调度器和各节点需要共用 VIP 地址,需要关闭 icmp 的重定向,不充当路由器。
立即刷新
配置负载分配策略
2.部署共享存储(NFS服务器:192.168.140.111)
3.配置节点服务器(192.168.140.222、192.168.140.223)
关闭防火墙和安全机制
配置虚拟 IP 地址(VIP:192.168.10.180)
此地址仅用作发送 Web响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。因此使用虚接口 lo∶0 来承载 VIP 地址,并为本机添加一条路由记录,将访问 VIP 的数据限制在本地,以避免通信紊乱。
调整内核的 ARP 响应参数以阻止更新 VIP 的 MAC 地址,避免发生冲突
刷新一下
安装httpd
启动服务
服务器1:192.168.140.222
添加index文件
服务器2:192.168.140.223
网页验证
八、总结
LVS是企业中很好的优化,当高并发来临时,lvs可以很好的面对高并发。服务多,安全性也要随之提高,lvs里采用负载均衡反向代理,所以安全性非常高。负载均衡器和服务器组成一个整体,对外只有一个端口和IP,是所谓的VIP,所有的服务器使用共同的存储器,所以当其中的服务器出现问题,其他服务器可以快速顶上,数据不会丢失。