千家信息网

集群环境分析及部署(基础)

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,集群概念:由两个或两个以上的服务实体协调、配合完成一系列工作的模式,对外表现为一个整体。特点分配用户请求故障转移共享存储结构:agent 负载调度器业务层 服务器池存储 共享存储1.垂直扩展为同样的计
千家信息网最后更新 2026年11月02日集群环境分析及部署(基础)

集群概念:

由两个或两个以上的服务实体协调、配合完成一系列工作的模式,对外表现为一个整体。

特点

分配用户请求

故障转移

共享存储


结构:

agent 负载调度器

业务层 服务器池

存储 共享存储


1.垂直扩展

为同样的计算资源池加入更多资源,比如增加更多内存、磁盘或是虚拟cpu,来应对增加的应用负载

2.水平扩展

需要向计算平台加入更多的机器或设备,来处理增长的需求

向上拓展:对硬件的升级、更换、提升

缺点:

性能:提升是有限度的



弊端:

DNS没有对后端设备健康状态进行检测的能力,也就是说当WEB2设备出现故障之后,DNS还是根据自己缓存的记录把任务分配到WEB2上。

dns的缺陷:无法实现健康状态检查

缓存dns无法实现分配用户请求

DNS的解析缓存造成任务分配不均,导致单个服务器压力过大。

算法:

RR(Round-Robin):轮询

WRR(weightd-Round-Robin):权重(加权轮询)


使用agent代理机制,可以对后端设备的健康状态进行检测,有效提高的工作效率。

最基础的一个集群拓扑:


负载均衡集群(LBC Load Balance Cluster)

作用:减轻单台服务器压力

Load Balancing负载均衡,不同节点之间相互独立,不共享任何资源;通过一定算法将客户端的访问请求平分到群集的各个节点上,充分利用每个节点的资源。负载均衡扩展了网络设备和服务器带宽,增加吞吐量,加强网络数据处理能力。

实现:

软件:LVS RAC

硬件:F5


1.分担系统的负载

2.监控节点的运行情况

在一个网络下,可以搭建多个负载均衡集群来实现压力的分散:


区别:

硬件后期的维护,比较好,但是价格偏高

软件灵活性比较大,价格相对便宜

高可用集群(HA):保证服务器的不间断运行

为应用程序提供持久访问

出现故障自由切换


实现访问web1和web2无论哪一个,得到的结果都是一样的,不会有偏差


为了使用web1和web2内容一致:

使用的机制是:心跳检测

方法实现:

RS232串口线(心跳线)

每隔几秒钟发个数据包,看对方是否(存活)有回应,无回应,则判断目标出现问题

现有网卡

通过两个服务器之间的eth2端口进行检测(每隔一段时间发送数据包进行确认)

eth0是给用户访问使用的

服务器可用性要求标准:

99%2个91年87.6小时(停机)
99.9%3个91年8.8小时(停机)
99.99%4个91年53分钟(停机)
99.999%5个91年3-5分钟(停机)

如果心跳线出现故障:

两台主机都认为对方出现故障(死亡),都会抢着接替对方工作,处理响应客户的请求,抢夺共享的资源、数据。(这种现象称之为"脑裂")

带来的后果:数据不完整、甚至是灾难级


在脑裂的情况下:

两台主机都认为对方已死亡,都会对共享存储服务器,读取、写入数据,这样同时对一个文件,进行写入,会造成数据丢失,完整性遭到破坏。

对服务造成影响:导致访问不可达

正常情况下web1在工作,web2不工作,在脑裂情况下,双方主机都认为对方已死亡,这时,web2服务器会抢夺web1的IP地址,给自己配置,在同一个网络下,由于web1和web2使用相同的IP,会造成网络故障,用户不能正常访问服务器。

解决方案:

预防为主:增加冗余心跳线

强制隔离:

两台服务器都连接电源交换机,当web2检测出web1出问题时,想要接替工作,又为了避免脑裂情况出现,这时,web2会发送一条指令给电源交换机,这时电源交换机会将连接web1的电源线断掉,这样就不会出现web1和web2冲突的现象

Stonish:爆头

Shoot in other node in the head

用工具实现:ipfail

为两个服务器设置参考IP(一般是网关IP)

当两台服务器认为对方出问题时,这时会ping 设置的参考IP,如果参考IP都ping不通,这时服务器会判定问题不是出在对方服务器,是自己内部出了问题,这时,会检测自己内部,并作出相应的动作

高可用集群软件:


高性能运算集群:


A包含10个子任务:a1 a2 a3 .......a10

每个子任务完成需要1小时

负载均衡集群:(单位时间内处理的子任务)

1台计算机完成任务需要10小时(处理10个子任务)

10台计算机完成任务需要10小时(总共处理100个子任务)

高性能运算集群:(缩短单个任务的执行时间,来提升效率)

1台计算机完成任务需要10小时(处理10个子任务)

10台计算机完成任务需要1小时(总共处理10个子任务)

高性能集群概念:

高性能计算集群就是将一个大的运算任务拆分,每一个节点计算其中一部分运算内容,最后再将每台计算机的处理结果汇总,得到我们想要的答案,这种运算方式就是高性能运算集群。

3PB的数据需要处理,这时AGENT会告诉客户端,如何分发到每个存储服务器为100G,之后,客户端会找AGENT2,询问AGENT2如何处理这些分发的数据,这时AGNET2会分别去到每个节点上运行

程序以运算处理数据,当数据被处理完之后,会将数据汇总,反馈给客户端,这个过程就是高性能运算集群。



负载调度器:

硬件:F5 citrix array

软件:

四层负载调度器 四层交换机

效率高

LVS Linux virtual server

七层负载调度器 七层交换机

mysql proxy

nginx

haproxy

高级特性


四层交换机:IP+端口

七层交换机:URL或主机名或页面内容包含的高级特性

区别:

1.触发条件不同

四层:工作在传输层,转发数据依靠的是三层的ip和四层的port

七层:工作在应用层。转发数据依靠URL或主机名

2.实现原理不同

四层负载调度器:TCP连接建立一次,客户端和RS主机之间

四层交换机工作原理:(转发作用)

七层负载调度器:TCP连接建立两次,客户端和负载调度器;负载调度器和RS主机

七层交换机工作原理:(起到代理服务器的角色)


七层交换机可以根据客户发起的访问请求,做出判断,给客户相应的内容反馈!

3.应用场景不同

四层负载调度器:TCP应用为主 OA ERP

七层负载调度器:以HTTP协议为主

4.安全性不同

四层负载调度器:转发***

七层负载调度器:拦截***

IPVS:钩子函数,内核机制,在请求没有到达目的地址之前,捕获并取得优先控制权的函数。

IPVSADM:工作在用户空间,负责为ipvs内核框架编写规则,定义谁是集群服务,谁是后端真实 的服务器

LVS概述:

首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。

举例:


解释:当外网客户端,将请求提交到负载调读器的外网卡上,这时网卡会对请求进行处理,将请求提交到内核所提供的的INPUT函数模块上 ,这个函数正常情况下,会将客户申请访问本地80端口的应用请求转发给本地应用所安装HTTP服务器上面,但是我们真正的目的是,想让负载调度器将用户的请求转发到后端的web网站节点上面去,这时我们就需要IPVS,IPVS在这里扮演的是钩子函数角色(正常情况下,所接受的请求会被转发到本地的相应服务上面,但是IPVS所扮演的钩子函数角色会在请求被转发到本地服务上面之前,将数据请求包文强制拿过来,自己先查看,如果发现用户是访问集群节点的话,会通过eth2端口,因为IPVS会保存一定的策略,自己能够判断,然后会相应的把请求转交给web1,第二次给web2,依次轮询。。。)

这时,我们会有疑问,IPVS内核模块为什么会知道把请求分别转发给web1、web2,这是因为是有IPVSadm工具来实现的

CIP:client IP 客户端IP

DIP:director IP 负载调度器内网口IP

VIP:virtual IP 虚拟IP 集群IP

RIP:realserver IP 服务器节点IP 真实服务器IP

NAT:地址转换

注意:

1.最多支持10台左右RS

2.集群节点(director和RS)必须在同一个网络中

3.RS的网关必须位于客户端和RS之间

4.RS可以用任意的操作系统

5.RS网关必须设置为director

DR:路由模式

优点:

大大减轻了负载调度器的压力

可以支持更多的服务器节点RS

注意:

1.RS必须和director在一个网络

2.RS可以设置公网IP或私网IP(当负载调度器坏了的话,可以直接让客户访问通过公网IP访问集群)

3.负载调度器只负责入站请求

4.集群节点的网关不能使用director

TUN:隧道模式


优点:

不受地理位置限制

注意:

1.所有节点都要有公网IP,RS并且必须配置在RIP上

2.RS一定不能使用负载调度器作为默认网关

4.必须支持隧道功能

负载调度器算法:

静态算法:只考虑算法本身,不考虑服务器状态

rr (轮循):从1开始到n结束(N=RS个数)、无状态的的调度算法,不考虑服务器性能

wrr (加权轮循):按权重比例进行调度,权重越大,负责的请求越多(权重=优先级)

sh (源地址hash):源地址散列或源地址hash,实现会话绑定,保留之前建立的会话信息。将来自于同一个ip地址的请求发送给一个真实服务器。

dh (目标地址hash):将同一个目标地址的请求,发送给同一个服务器节点。提高缓存命中率

动态算法:既要考虑算法本身,也要考虑服务器状态(原理:通过hash表记录连接状态----active/inactive)

LC (最少连接):将新的连接请求分配给当前连接数最少的服务器。。。公式:活动连接*256+非活动连接

WLC(加权最少连接):最少连接的特殊模式。。。公式:(活动连接*256+非活动连接)/权重

SED(最短期望延迟):加权最少连接的特殊模式。。。。公式:(活动连接 +1)*256/权重

NQ (永不排队):sed的特殊模式,当某台真实服务器连接为0时,直接分配,不计算

LBLC(基于局部性的最少连接):dh的特殊模式,既要提高缓存命中率,又要考虑连接数量。先根据请求的目标 IP 地址寻找最近的该目标 IP 地址所有使用的服务器,如果这台服务器依然可用,并且有能力处理该请求,调度器会尽量选择相同的服务器,否则会继续选择其它可行的服务器

LBLCR(带复制的基于局部性的最少连接):LBLCR=LBLC+缓存共享机制

实验:基于NAT模式负载集群搭建

拓扑展示:




背景:需要五台虚拟机,图中IP为展示使用,以下操作,不一样


在共享存储服务器上面配置NFS


在RS1和RS2上面分别安装Apache服务

RS1的网页页面通过挂载NFS服务器上面的首页

mount -t nfs 192.168.115.179:/share /var/www/html/

挂载之后、启动Apache服务之后,失败

chcon -R -h -t httpd_sys_content_t /var/www/html/

之后就好了

RS1的网关指向负载调度器的内网口IP

route add default gw 192.168.115.175

RS2的网页由自己创建,两个服务首页不同,方便区分

RS2的网关指向负载调度器的内网口IP

负载调度器:(双网卡)

开启路由转发功能

并执行sysctl -p刷新

安装IPVSadm软件


检查ipvsadm是否安装成功

配置


外网客户端验证:(每刷新一次,页面会一次出现)



基于DR模式的负载集群:

原理拓扑展示:

实验拓扑展示:


图上IP地址仅供参考:

ARP工作原理:

arp_ignore:接收到其他主机的ARP请求后的响应级别

后面参数设置的如果是0:

只要本机配置有响应的IP地址就响应

后面参数设置的如果是1:

仅响应请求的目的地址配置在请求到达的网络接口上


arp_announce:设置ARP通告的级别

0:通告网络本机所有接口的任何地址信息

2:仅向目标网络通告网络与其相匹配的网络信息

配置:

负载调度器:

配置ifcfg0:1映射子端口,地址为集群IP(210)

优化环境配置:(/etc/sysctl.conf)

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.eth0.send_redirects = 0

sysctl -p

查询IPVS是否安装:

grep -i "ip_vs" /boot/config-2.6.32-431.el6.x86_64

安装ipvsadm

rpm -ivh ipvsadm-1.26-2.el6.x86_64.rpm

设置增加负载调度器,默认使用轮询

ipvsadm -A -t 192.168.115.210:80 -s rr

设置使用DR模式

ipvsadm -a -t 192.168.115.210:80 -r 192.168.115.178:80 -g

ipvsadm -a -t 192.168.115.210:80 -r 192.168.115.173:80 -g

ipvsadm -L -n

service ipvsadm save

共享存储服务器:


RS1配置:

配置本地回环接口IP

优化环境变量(/etc/sysctl.conf)

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

sysctl -p

安装Apache服务,并将NFS服务器上面的主页内容挂在过来

mount -t nfs 192.168.115.179:/share /var/www/html/


设置一条路由,凡是请求跟集群地址(115.210)相关的信息的时候,都会交给本地回环接口处理

route add -host 192.168.115.210 dev lo:0


RS2配置:

配置本地回环映射端口:

优化环境:

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

sysctl -p

安装Apache服务,手动创建一个主页,区分内容,以便达到实验效果


设置一条路由,凡是请求跟集群地址(115.210)相关的信息的时候,都会交给本地回环接口处理

route add -host 192.168.115.210 dev lo:0

客户端验证:直接访问集群的IP,进行访问,刷新会依次轮询显示页面

ipvsadm命令参数选项详细含义如下所示:

-A (--add-service) 在内核的虚拟服务器列表中添加一条新的虚拟IP记录。也就是增加一台新的虚拟服务器。虚拟IP也就是虚拟服务器的IP地址。

-E (--edit-service) 编辑内核虚拟服务器列表中的一条虚拟服务器记录

-D (--delete-service) 删除内核虚拟服务器列表中的一条虚拟服务器记录

-C (--clear) 清除内核虚拟服务器列表中的所有规则

-R (--restore) 恢复虚拟服务器规则

-S (--save) 保存虚拟服务器规则,输出为-R 选项可读的格式

-a (--add-server) 在内核虚拟服务器列表的一条记录里添加一条新的Real Server记录。也就是在一个虚拟服务器中增加一台新的Real Server

-e (--edit-server) 编辑一条虚拟服务器记录中的某条Real Server记录

-d (--delete-server) 删除一条虚拟服务器记录中的某条Real Server记录

-L|-l -list 显示内核中虚拟服务器列表

-Z (--zero) 虚拟服务器列表计数器清零(清空当前的连接数量等)

--set tcp tcpfin udp 设置连接超时值

-t 说明虚拟服务器提供的是tcp服务,此选项后面跟如下格式:

[virtual-service-address:port] or [real-server-ip:port]

-u 说明虚拟服务器提供的是udp服务,此选项后面跟如下格式:

[virtual-service-address:port] or [real-server-ip:port]

-f fwmark 说明是经过iptables标记过的服务类型

-s 此选项后面跟LVS使用的调度算法

有这样几个选项: rr|wrr|lc|wlc|lblc|lblcr|dh|sh

默认的调度算法是: wlc

-p [timeout] 在某个Real Server上持续的服务时间。也就是说来自同一个用户的多次请求,将被同一个Real Server处理。此参数一般用于有动态请求的操作中,timeout 的默认值为360 分钟。例如:-p 600,表示持续服务时间为600分钟。

-r 指定Real Server的IP地址,此选项后面跟如下格式:

[real-server-ip:port]

-g (--gatewaying) 指定LVS 的工作模式为直接路由模式(此模式是LVS 默认工作模式)

-i (-ipip) 指定LVS 的工作模式为隧道模式

-m (--masquerading) 指定LVS 的工作模式为NAT模式

-w (--weight) weight 指定Real Server的权值

-c (--connection) 显示LVS目前的连接信息 如:ipvsadm -L -c

-L --timeout 显示"tcp tcpfin udp"的timeout值,如:ipvsadm -L --timeout

-L --daemon 显示同步守护进程状态,例如:ipvsadm -L -daemon

-L --stats 显示统计信息,例如:ipvsadm -L -stats

-L --rate 显示速率信息,例如:ipvsadm -L --rate

-L --sort 对虚拟服务器和真实服务器排序输出,例如:ipvsadm -L --sort

注: 保存添加的虚拟ip记录和ipvsadm的规则可以使用service ipvsadm save,还可以用-S或--save。清除所有记录和规则除了使用-C,还以使用--clear。


服务 服务器 调度 集群 地址 客户 模式 处理 工作 任务 数据 节点 配置 网络 客户端 内核 算法 交换机 主机 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网加科技 互联网 卓越科技 远信互联网科技 壹账通互联网科技 火传媒上海互联网科技 狮子座互联网科技培训 华中科技有哪些互联网大佬 互联网科技博主是什么意思 移动互联网科技股 栖莱科技互联网股份有限公司 宁夏科技产业互联网案例 阿大互联网科技有限公司 互联网金融科技展 佛山市翊博互联网络科技有限公司 玉溪新华互联网科技好不好 互联网金融科技名词解释 徐州市互联网科技有限公司 广州燕处互联网科技有限公司 易企秀互联网科技是做什么的 玉溪新华互联网科技怎么选 互联网为科技 北京互联网络科技有限公司 互联网金融科技创新 新华互联网科技校企合作 安控科技rtu产品工业互联网 北京大学互联网科技怎么样 知域互联网科技有限公司大骗子 黑科技 体验场景 互联网大会 上海互联网科技园景观 互联网科技快速发展优美句子
0