一、LVS简介与集群概念
1. LVS(Linux Virtual Server)
即Linux虚拟服务器,是一个高性能、高可用的服务器集群解决方案,现已集成至Linux内核中。它通过IP虚拟化技术通过将网络流量分散到多个服务器上,从而提高网络服务的可用性和扩展性,实现数据请求的负载均衡调度,广泛应用于需要大量并发处理能力的场景。
2. 集群
1. 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。
集群组成后,可以利用多个计算机和组合进行海量请求处理(负载均衡),从而获得很高的处理效率,也可以用多个计算机做备份(高可用HA),使得任何一个机器坏了整个系统还是能正常运行。
2、负载均衡集群技术
负载均衡(Load Balance):负载均衡集群为企业需求提供了可解决容量问题的有效方案。负载均衡集群使负载可以在计算机集群中尽可能平均地分摊处理。
负载通常包括应用程序处理负载和网络流量负载,每个节点都可以承担一定的处理负载,并且可以实现处理负载在节点之间的动态分配,以实现负载均衡。
二、LVS的三种工作模式
1. NAT模式(Network Address Translation,网络地址转换)
原理:
NAT模式使用Linux的网络地址转换功能,将进入的IP数据包的源地址转换为虚拟服务器的地址,然后根据预设的调度算法将请求分发到后端的真实服务器。真实服务器处理完请求后,直接将响应数据包发送回客户端,无需再次经过LVS。
特点:
所有流量都经过LVS,因此LVS成为潜在的瓶颈。
适用于内部网络结构,安全性较高。
配置要点:
LVS需要至少两块网卡,一块用于内部网络通信,另一块用于外部网络通信。
需要配置iptables规则来进行地址转换。
示例命令
ipvsadm -A -t <VIP>:80 -s rr
ipvsadm -a -t <VIP>:80 -r <RealServerIP>:80 -m</