集群 概述
何为集群 strong>
- 一组各自相互独立且又相互依赖的,通过高速 络互联 的计算机组成的一个计算机组,以单一的系统模式加以管理,为用户提供服务,对用户来说,用户只会认为对方是一个服务,一组计算机中的一台计算机就是集群的一个节点.
集群特点 strong>
1) 功能
- 有实现三种IP负载均衡技术 和 八种连接调度算法的IPVS软件.在IPVS内部实现上,采用了高效的 Hash 函数和垃圾回收机制,能正确的处理调度 文相关的 ICMP消息。虚拟服务的设置数目没有限制,每个虚拟服务有自己的服务器集,它支持持久的虚拟服务(HTTP cookie 和 HTTPS等需要该功能的支持),并提供详尽的统计数据,如连接的处理速率和 文的流量等。针对大规模拒绝服务攻击,实现了三种防卫策略,有基于内容请求分发的应用层交换软件KTCPVS,它也是在 Linux 内核中实现,有相关的集群管理软件对资源进行监测,能及时将故障屏蔽,实现系统的高可用。主、从调度器能周期性地进行状态同步,从而实现更高的可用性.
2) 适用性
- 后端服务器可运行任何支持TCP/IP的操作系统,包括 Linux ,各种Unix(如FreeBSD、Sun Solaris、HP Unix等),Mac/OS和Windows NT/2000等。
-
负载调度器能够支持绝大多数的TCP和UDP协议:
协议 内 容 TCP HTTP,FTP,PROXY,SMTP,POP3,IMAP4,DNS,LDAP,HTTPS,SSMTP等 UDP DNS,NTP,ICP,视频、音频流播放协议等 无需对客户机和服务器作任何修改,可适用大多数Internet服务。
3)性能
- Lvs 服务器集群系统具有良好的伸缩性,可支持几百万个并发连接,配置100M 卡,采用VS/TUN或VS/DR调度技术,集群系统的吞吐量可高达 1Gbits/s; 可配置千兆 卡,则系统的最大吞吐量可接近 10Gbits/s。
4)可靠性
- Lvs 服务器集群软件已经在很多大型的,关键性的站点得到了很好的应用,所以它的可靠性在真实应用得到了很好的证实。
5)软件许可证
- Lvs 集群软件是按GPL(GNU Pulic License) 许可证发行的自由软件,这意味着你可以得到软件的源代码,有权对其进行修改,但必须保证修改后的也是以 GPL 方式发行.
应用场景 strong>
- 一台服务器.可以响应10000个并发 状态码是 200 OK .
- 一台服务器.如果响应20000个并发,状态码是 200 –> 304 –> 301 –> 500 –> 404 . 由此可见 web 服务的状态码已经达到瓶颈.
解决方法:
- 加配置: 加CPU, 加内存, 加带宽, 加SSD 这种解决方法称为“向上扩展”, 能够解决一时 [单台服务器上做动作]
- 加服务器: 1台 –> 2台 –> 4台 –> 8台 用多台服务器同时为用户提供服务 ,而这一种解决方法则称为“横向扩展”或“向外扩展” 集群.
集群的种类 strong>
- 负载均衡 (Load Balance)集群,简称 LB.
- 高可用 (High Avaliability)集群,简称 HA 集群.
- 高性能计算 (High Perfermance Computeing) 集群,简称 HPC 集群.
LB 实现手段 strong>
- 硬件实现 : F5 负载均衡器.
- 软件实现 : LVS (4 层,传输层)、Nginx (7层,应用层).
LVS 集群
官 :http://www.linuxvirtualserver.org/
中文站点: http://zh.linuxvirtualserver.org/
- LVS 是 (Linux Vritual Server) 的缩写,即 Linux 虚拟服务器。是一个虚拟的服务器集群系统,本项目 于 1998年 5月由章文嵩博士成立,是中国最早出现的自由软件项目之一,根据 iotables 的实现来开发的,所以使用跟 iptables 很相似.
LVS 集群工作结构图 strong>
- 负载调度器 = 分发器(Load Balabcer,Director):整个集群对外的最前端机,负责接收用户请求,并且根据自己的调度算法,将请求转发到后端真实服务器上,客户认为是来自一个IP地址,实则我们可以称之为 VIP 虚拟地址.
- 服务器池 Server Pool :真正为用户提供服务的服务器,每一台服务器就是一台 RS .执行的服务有 web,mail,ftp .DNS 等.
- 共享存储 Share Storaged:为RS保持相同内容,提供数据的一致性,可以理解为,为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务.
LVS 模式及工作原理
- LVS 提供了 三种包转发方式:
- NAT ( 络地址映射)
- IP Tunneling (IP 隧道)
- Direct Routing (直接路由)
NAT ( 络地址映射)
NAT : 络地址转换
- DNAT : 目的地址转换,改变的是目的地址
- SNAT :源地址转换,改变的是源地址
- LVS-NAT :使用的是 SNAT 和 DNAT 完成 文的转发
NAT 方式可支持任何的操作系统,以及私有 络,并且只需一个 Internet IP 地址,但是整个系统性能受到限制,因为执行 NAT 每次需要重写包,有一定的延迟,另外,大部分应用有 80% 的数据是从服务器流向客户机,可以理解用户的请求非常短,而服务器的回应非常大,对负载均衡形成很大压力,称为新的瓶颈.
IP Tunneling (IP 隧道)
Director (分发器) 分配请求到不同的 real server. real server 处理请求后直接回应给用户,这样 director 负载均衡仅处理客户机和服务器的一半连接。IP Tunneling 技术极大的提高了 director 的调度处理能力,同时极大的提高了系统能容纳的最大节点数,可以超过 100 个节点,real server 可以在任何 LAN 或 WAN上运行,可以理解为允许地理上的分布,这在灾难恢复中有重要的意义,服务器必须拥有正式的 IP 地址用于与客户机直接通信,并且所有的服务器必须支持 IP 隧道协议.
Direct Routing (直接路由)
与 IP Tunneling 类似,负载均衡仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性, Direct Routing 与 IP Tunneing 相比,没有 IP 封装的开销,但由于采用物理层 (修改 MAC 技术),所有服务器都必须在一个物理段.
LVS – NAT 模式工作原理
客户端访问调度器时,调度器通过 络地址转换,调度器重写请求 文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应 文通过调度器时, 文的源地址被重写,再返回给客户,完成整个负载调度过程。
步骤1 :客户端访问服务器的过程:
-
CIP 客户端的IP
-
VIP 是域名解析的IP, 是集群对外的公 IP
-
DIP 用来和后端服务器进行数据交互的IP, 请求 文转发给后端服务器从此口出去
-
RIP 真实服务器的IP
步骤2:客户端访问调度器时,调度器通过 络地址转换,调度器重写请求 文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器
步骤3:真实服务器的响应 文通过调度器时, 文的源地址被重写,再返回给客户,完成整个负载调度过程
步骤总结及过程地址变化:
1: 客户端请求访问 www.example.com — > VIP
源地址: CIP 目标地址: VIP
2: 请求 文到达负载均衡器
源地址: CIP 目标地址: RIP
3: RealServer收到 文处理, 响应
源地址: RIP 目标地址: CIP
4: 负载调度器收到 文, 根据自身之前的转发修改记录, 还原 文
源地址: VIP 目标地址: CIP
配置 LVS – NAT
环境介绍:
- 3 台主机
- 关闭防火墙
环境拓扑:
配置 LVS
- 打开路由转发功能
络环境
- ens33 192.168.1.133 br0 公
- ens38 192.168.0.19 vmnet4 内
Director 分发器,不需要开启80 服务端口.
安装 LVS 管理工具
设置 规则
查看
保存配置规则
配置 真实服务器
络环境
zh75: ens33: vmnet4 : 192.168.0.21 关: 192.168.0.19
zh76: ens33: vmnet4 : 192.168.0.11 关: 192.168.0.19
配置 web 并启服务 2台 real server 配置一样
测试
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!