群集的含义
-
cluster,集群,群集
-
由多台主机构成,但对外只表现为一个整体只提供一个访问入口(域名活IP地址),相当于一台大型计算机
集群的分类
根据集群所针对的目标差异,可分为三种
-
负载均衡群集
-
高可用群集
-
高性能运算群集
负载均衡群集(LB)
-
tigao系统响应效率,处理更多的访问请求,减少响应延迟,实现高并发高负载的能力
-
依赖主节点的分流算法,缓解整个系统的负载压力。
-
软件类(nginx、LVS、HAProxy、SLB)
-
硬件类(F5、绿盟)
高可用群集(HA)
-
提高应用系统的可靠性,减少中断事件,确保服务的连续性(通常使用N个9来代表高可用的指标)不重要的业务使用3个9=99.9%,重要的业务使用8个9甚至9个9
-
典型代表(keepalived、heartbeat)
高性能运算群集(HPC)
-
通过云计算或者分布式计算将硬件资源整合成资源池以获取高性能的cpu、内存等资源,来提高整体运算能力
负载均衡架构
第一层:负载调度器
第二层:服务器池
第三层:共享存储
LVS负载均衡群集工作模式
NET模式(地址转换)
-
调度器会作为所有节点服务器的默认网关
-
客户端的访问入口和节点服务器返回响应消息的出口
-
调度器会承载双向流量的负载压力,可能会为整个群集的性能瓶颈
-
节点服务器都会处于内网环境,使用私网ip会具有一定的安全性。
TUN模式(IP隧道)
-
仅作为客户端的访问入口
-
节点服务器的响应消息是直接返回客户端的,不需要经过调度器。
-
由于节点服务器需要部署在不同的公网环境,所以要有独立的公网ip
-
调度器与系欸但服务器是通过专用的ip隧道实现相互通信,因此ip隧道模式的成本较高,安全性较低
-
数据ip隧道传输的过程中需要额外的封装和解封装,性能会受到一定影响
DR模式(直接路由)
-
调度器仅作为客户端的访问入口
-
节点服务器的响应消息是直接返回客户端的不需要经过调度器
-
节点服务器与调度器是部署在同一个物理网络里(局域网),因此不需要建立专用的ip隧道(与ip隧道的区别)
-
DR模式是企业首选的LVS模式
关于LVS虚拟服务器
基于linux内核实现负载均衡
LVS基于ip地址实现转发负载均衡
LVS的负载均衡调度算法
rr(轮询)
wrr(加权轮询)
sh(源地址哈希)
dh(目的地址哈希)
lc(最小连接)
wlc(加权最小连接):优先分配请求给<连接数>/<权重值>的值最小的节点服务器
lblc(基于地址的最小连接):优先根据目的地址哈希将请求分配给同意节点服务器,若此节点服务器满负载了,则优先将请求分配给当前连接数最小的节点服务器
LVS群集创建与管理
步骤:
1.创建虚拟服务器
2.添加或删除节点服务器
3.查看集群及节点状态
4.保存负载分配策略,就可以使用了
ipvsadm 工具选项说明:
-A:添加虚拟服务器
-D:删除整个虚拟服务器
-s:指定负载调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接:wlc)
-a:表示添加真实服务器(节点服务器)
-d:删除某一个节点
-t:指定 VIP地址及 TCP端口
-r:指定 RIP地址(服务器地址)及 TCP端口
-m:表示使用 NAT群集模式
-g:表示使用 DR模式
-i:表示使用 TUN模式
-w:设置权重(权重为 0 时表示暂停节点)
-p 60:表示保持长连接60秒(默认关闭连接保持)
-l:列表查看 LVS 虚拟服务器(默认为查看所有)
-n:以数字形式显示地址、端口等信息,常与“-l”选项组合使用。ipvsadm -ln[-t VIP地址]
部署LVS的NET模式
1.部署NFS共享存储
2.部署web节点服务器,注意:节点服务器的默认网关要指向调度器的内网ip,测试的时候可关闭连接保持
3.部署调度器:
1.配置双网卡 2.开启ip路由转发功能,如果内网中的节点服务器需要访问外网则要配置SNAT规则 3.安装ipvsadm工具,添加虚拟服务器和真实服务器的相关配置,使用-m选项选择NAT模式
4.客户端设置默认网关指向调度器的外网ip,并使用客户端工具测试
还原
部署LVS-DR
LVS-DR模式工作过程:
1.客户端通过VIP将访问请求报文(源ip为客户端ip,目的ip为VIP)
2.调度器通过调度算法选择最适合的节点服务器,并重新封装数据报文(将源mac改为调度器的mac,目的mac改为节点服务器的mac地址,再通过交换机转发请求给节点服务器
3.节点服务器收到请求报文后,确认目的mac和目的ip无误后解包并送到应用层进行处理
4.节点服务器在返回响应报文前,会先重新封装报文(源ip为VIP,目的为客户端IP,再将响应报文先通过lo接口传送给物理网卡,再通过物理网卡发送给客户端
LVS-DR模式部署:
1.部署NFS共享存储
2.部署Web节点服务器
3.部署调度器,在ensxx:0接口配置VIP,修改内核参数关闭IP路由转发和ICMP重定向功能ip_forward=0、send_redirects=0,安装ipvsadm工具,添加虚拟服务器和真实服务器的相关配置,使用-g选项选择DR模式 4)客户端访问VIP测试 注:如果需要跨网段通信,调度器和节点服务器的默认网关要指向路由器的网关接口地址
设置内核参数
net.ipv4.conf.lo.arp_ignore=1
#节点服务器只响应目的ip为物理网卡ip的APR请求
net.ipv4.conf.lo.arp_announce=2
#节点服务器不使用ip包的源ip(VIP)来设置ARP请求报文的源地址,而采用发送接口的ip来作为ARP请求报文的源ip地址
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2