网站意义,小题狂做 官方网站,网站内容好,dede 分类信息网站 模板Cluster#xff0c;集群#xff0c;为了解决某个特定问题将多台计算机组合起来形成的单个系统。 这个单个集群系统可以扩展#xff0c;系统扩展的方式#xff1a;scale up#xff0c;向上扩展#xff0c;更换更好的主机#xff1b;scale out#xff0c;向外扩展…Cluster集群为了解决某个特定问题将多台计算机组合起来形成的单个系统。 这个单个集群系统可以扩展系统扩展的方式scale up向上扩展更换更好的主机scale out向外扩展增加更多的主机
集群类型 LB负载均衡集群Load Balancing并发处理能力 HA高可用集群冗余High Availablility在线时间/在线时间故障处理时间 HPHPC高性能集群高性能计算集群High PerformanceHigh Performance Computing Cluster向量机并行处理集群 Availablility90%95%99%99.9%99.99%...
集群之前是大规模分布式处理。
集群或是分布式都是一个系统。 度量一个系统 可扩展性、 可用性、 容量、性能
系统运维可用 —— 标准化 —— 自动化
构建高可扩展性系统的重要原则在系统内部尽量避免串行化和交互
GSLBGlobal Service Load Balancing全局负载均衡 SLBService Load Balancing
总结 分层 分割 分布式分布式应用、分布式静态资源、分布式数据和存储、分布式计算
LB集群的实现
硬件 F5 BIG-IP、Citrix NetScaler、A10 A10、Array 、Redware、... 软件 lvs、haproxy、nginx、atsapache traffic server、perbal、...
基于工作的协议层次划分 传输层lvshaproxymode tcp 应用层haproxy、nginx、ats、perbal
lvs内核中进行的转发工作于netfilter负载均衡。程序作者章文嵩 ——linux virtual serverlinux虚拟服务器基于哪个协议的哪个端口进行分发。相应的后台真正进行服务的主机叫real server。 L4四层交换四层路由 根据请求报文的目标IP和PORT将其转发至后端主机集群中的某一台主机根据挑选算法 netfilter PREROUTING -- INPUT PREROUTING -- FORWARD -- POSTROUTING OUTPUT -- FORWARD -- POSTROUTING
lvs工作于INPUT链上定义了集群规则然后强行转发到POSTROUTING链上。 ipvsadm/ipvslvs在程序上叫做ipvs ipvsadm用户空间的命令行工具用于管理集群服务 ipvs工作于内核中netfilter INPUT钩子上
主机是否提供lvs功能 grep -i -A 10 IPVS /boot/config-3.10.0-1160.el7.x86_64
说明内核已经编译了IPVS模块可以使用。
支持TCP、UDPAHESPAH_ESPSCTP等诸多协议
lvs archlvs架构 专用名称 调度器directordispatcherbalancer RSReal Server Client IPCIP Director Virtual IPVIP Director IPDIP Real Server IPRIP
lvs type lvs-nat基于DNATMASQUERADE lvs-drdirect routingGATEWAY lvs-tunip tunnelingIPIP lvs-fullnat
lvs-nat多目标的DNATiptables通过修改请求报文的目标IP地址同时可能修改目标端口至挑选出的某RS的RIP地址实现转发请求和响应报文都经由director。 1RS和DIP应该使用私网地址且RS的网关要指向DIP 2请求和响应报文都要经由director转发 极高负载的场景中director可能会成为系统瓶颈 3支持端口映射 4RS可以使用任意OS 5RS的RIP和Director的DIP必须在同一IP网络
关键在第2步Director调度时可以按算法选择后台的任一台RS实现负载均衡。
lvs-drdirect routing 通过修改请求报文的目标MAC地址进行转发仅请求报文经由director响应报文是由RS直接响应给Client。 DirectorVIPDIP RSRIPVIP在lo上即本地回环接口上 1保证前端路由器将目标IP为VIP的请求报文发送给director 解决方案静态绑定、arptables、修改RS主机内核的参数主要是使RS不响应对VIP的ARP查询。 2RS的RIP可以使用私有地址也可以使用公网地址 3RS跟Director必须在同一物理网络中 4请求报文经由Director调度但响应报文一定不能经由Director 5不支持端口映射 6RS可以是大多数OS 7RS的网关不能指向DIP
通过上面的示意图dr模型主要是通过MAC地址实现。
lvs-tun不修改请求报文的IP首部而是通过在原有的IP首部cip -- vip之外再封装一个IP首部dip -- rip 1RIPDIPVIP全部都是公网地址 2RS的网关不能指向DIP 3请求报文必须经由Director调度但响应报文必须不能经由Director 4不支持端口映射 5RS的OS必须支持隧道功能
lvs-fullnatDirector通过同时修改请求报文的源和目的IP地址进行转发 1VIP是公网地址RIP和DIP是私网地址二者无须在同一网络中 2RS接收到的请求报文的源地址是DIP因此要响应给DIP 3请求报文和响应报文都必须经由Director 4支持端口映射机制 5RS的OS可以使用任意OShttpstatelesshttp协议是无状态的协议 session和cookie实现状态追踪无状态变为有状态。在集群中涉及如何在不同集群服务器中对session的保持。 session保持机制 session绑定将来自同一个用户的请求始终导向同一个RS可以基于两种依据IP和cookie source ip hash基于源ip做哈希。 cookie基于cookie。 session集群 session复制到其他所有RS中可能网络中充斥session复制信息浪费带宽 session服务器 使用一台服务器单独存放session信息又引入了单点问题。
lvs schedulerlvs调度器多种不同的调度算法 静态方法仅根据算法本身进行调度 RRround robin轮询论调 WRRweighted rr加权轮询 SHsource hash实现session保持的机制将来自于同一个IP的请求始终调度至同一RS DHdestination hash将对同一个目标的请求始终发往同一个RS 动态方法根据算法及各RS的当前负载状态进行调度 负载 Overhead LCLeast Connection最少连接数OverheadActive*256Inactive WLCWeighted LCOverheadActive*256 Inactive/ weight SEDShortest Expection DelayOverheadActive1*256 / weight NQNever Queue在RS有空时依次按权重选择然后按SED LBLCLocality-Based LC即动态的DH算法正向代理情形下的cache server调度 LBLCRLocality-Based Least-Connection with Replication带复制功能的LBLC算法
ipvs的集群服务 tcpudpahespah_espsctp 1一个ipvs主机可以同时定义多个cluster servicetcp、udp 2一个cluster service上至少应该有一个real server 定义时指明lvs-type以及lvs scheduler ipvsadm的用法 管理集群服务 ipvsadm -A|E -t|u|f service-address [-s scheduler] ipvsadm -D -t|u|f service-address service-address tcp-t ipport udp-u ipport fwm-f mark -s scheduler默认为wlc 管理集群服务中的RS ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] ipvsadm -d -t|u|f service-address -r server-address server-addressip[port] lvs-type-g -- gatewaydr-i -- ipiptun-m -- masqueradenat 查看和清空 ipvsadm -C ipvsadm -L|l [options] -n基于数字格式显示地址和端口 -cconnection显示ipvs连接 --stats统计数据 --rate速率 --exact显示精确值 保存和重载 ipvsadm -R ipvsadm -S [-n] 置零计数器 ipvsadm -Z [ -t|u|f service-address]
实操测试 模拟环境
在RS1和RS2上安装好httpd服务在Director上确保iptables是空的 iptables -F -t filter -t nat -t mangle 确保Director上的转发功能开启
添加规则 添加集群Director ipvsadm -A -t 192.168.61.129:80 -s rr ipvsadm -L -n
添加RS ipvsadm -a -t 192.168.61.129:80 -r 192.168.147.129 -m ipvsadm -a -t 192.168.61.129:80 -r 192.168.147.130 -m
保存规则、清空规则、重载规则
修改Director调度算法 ipvsadm -E -t 192.168.61.129:80 -s sh
修改RS ipvsadm -e -t 192.168.61.129:80 -r 192.168.147.129:8080 -m 这个命令一直不成功提示No such destination不知是什么原因 删除一个RS ipvsadm -d -t 192.168.61.129:80 -r 192.168.147.129
查询