一、企业群集应用概述
1、群集的含义
Cluster,集群、群集
由多台主机(至少3台)构成,但对外只表现为一个整体,只提供一个访问入口(域名与IP地址),相当于一台大型计算机。
2、问题
互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用的要求
3、解决方法
1、使用价格昂贵的小型机、大型机
2、使用普通服务器构建服务群集
通过整合多台服务器,使用LVS来达到服务器的高可用(HA)和负载均衡(LB),并以同一个IP地址对外提供相同的服务。
- HA:高可用 ------》关键词:冗余、容灾(缓解单点故障)
- LD:负载均衡 ------》后端压力能够均衡
在企业中常用的一种群集技术------LVS (Linux Virtual Server,Linux虚拟服务器)
二、企业群集分类
1、根据群集所针对的目标差异,可分为三种类型
负载均衡群集 LB
高可用群集 HA
高性能运算群集
2、负载均衡群集(Load Balance Cluster)
提高应用系统的响应能力、尽可能处理更多的访问请求减少延迟为目标,获得抗高并发、高负载(LB)的整体性能;
LB的负载分配依赖于主节点的分流算法。
3、高可用群集(High(Availability)Cluster)
提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果;
HA的工作方式包括双工 和主从两种模式。
4、高性能运算群集(High Performance Computer Cluster)
提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力;
高性能依赖于"分布式运算"、"并行计算",通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力。
三、负载均衡群集工作模式分析
1、负载均衡群集是目前企业用得最多的群集类型
2、群集的负载调度技术有三种工作模式
地址转换、IP隧道、直接路由
1、地址转换
Network Address Translation,简称NAT模式;

类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口;
服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式。
2、IP隧道
IP Tunnel,简称TUN模式;
采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器;
服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信。
3、直接路由
Direct Routing,简称DR模式;
采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络;
负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道。
四、关于LVS虚拟服务器
(一)环境准备
3台服务器 LVS *1 后端服务器 *2 windows主机 *1
(二)拓扑结构

(三)实验环境
步骤一:LVS 服务器,需要开启防火墙、其他两台web服务器关闭防火墙
查看自己VMnet1的IP地址段是什么区间




步骤二:LVS服务器配置
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33


① LVS服务器 1台 2张网卡
ens33 网卡: 192.168.255.131/24 (充当外网)
ens36 网卡(选择VMnet1 仅主机模式):192.168.84.128/24 (充当内网网关,不需要gateway )

vi ifcgf-ens36

systemctl restart network


ping www.baidu.com(看是否能ping通)

步骤三:Windows宿主机配置




步骤四:内网2台后端(web)服务器环境准备
2台服务器的网卡全部改成 VMnet1 仅主机模式

HTTPD-01
ens33_ip 192.168.84.129/24 gateway 192.168.84.128 VMnet1
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33

systemctl restart network


HTTPD-02
ens33_ip 192.168.84.130/24 gateway 192.168.84.128 VMnet1
步骤五:LVS服务环境配置
(1)开启防火墙:systemctl start firewalld
(2)清除防火墙规则:
iptables -t nat -F
iptables -F

(3)配置SNAT转发规则
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 #开启路由转发的功能(内核的)

(4)刷新生效: sysctl -p
或 echo '1' > /proc/sys/net/ipv4/ip_forward


#自定义路由转发规则,将所有192.168.84.0/24(内网网段)网段的流量全部映射为192.168.255.131(外网IP)的地址
iptables -t nat -A POSTROUTING -s 192.168.84.0/24 -o ens33 -j SNAT --to-source 192.168.255.131
步骤六:LVS服务准备
安装yum仓库
(1)安装ipvsadm管理工具
yum -y install ipvsadm
(2)启动服务前须保存负载分配策略+
ipvsadm-save > /etc/sysconfig/ipvsadm
或者 ipvsadm --save > /etc/sysconfig/ipvsadm
(3)开启LVS的管理工具
systemctl start ipvsadm.service
(4)配置负载分配策略(NAT模式只要在服务器上配置,节点服务器不需要特殊配置)
ipvsadm -C #清空规则
ipvsadm -A -t 192.168.255.131:80 -s rr #重新建立规则(申明外网网卡是192.168.255.131:80负载均衡是RR轮循)

#定义LVS服务器的后端地址池
ipvsadm -a -t 192.168.255.131:80 -r 192.168.84.129:80 -m
ipvsadm -a -t 192.168.255.131:80 -r 192.168.84.130:80 -m

ipvsadm #启用策略
ipvsadm -ln #查看节点状态,Masq代表 NAT模式
ipvsadm-save > /etc/sysconfig/ipvsadm #保存策略
步骤七:修改2台服务器的网页文件
cd /var/www/html
vim index.html

步骤八:验证
使用宿主机WINDOWS 访问LVS的ens33网卡IP ,查看页面
PS:注意,要相隔至少20秒再重复访问LVS服务器 
然后回到LVS服务端使用ipvsadm -ln 观测流量

五、总结
1、LVS是什么?
负载均衡器LB(不提供网页)
负载均衡器:为后端分担压力(根据不同算法:RR WRR LC IP_HASH)
2、干什么的?
为后端分流、让后端压力可以均衡
3、怎么用的?
实验: LVS 做前端服务器(配置内外网网卡,内网-网关 外网是访问入口)
4、搭建/部署
#基础环境
3台服务器 LVS *1 后端服务器 *2 windows主机 *1
① LVS服务器 1台 2张网卡
ens33 网卡: 192.168.255.131/24 NAT(充当外网)
ens36 网卡(选择VMnet1 仅主机模式):192.168.84.128/24 VMnet1(充当内网网关 )
② 后端服务器 2台 1张网卡 均内网环境 (网关指向LVS内网网卡)
ens33 网卡(选择VMnet1 仅主机模式)
IP 分别为: web01 (httpd服务) : 192.168.84.129/24 VMnet1
web02 (httpd服务) : 192.168.84.130/24 VMnet1
③ Windows主机:网关指向LVS外网网卡
#LVS环境
① LVS 服务器环境
需要开启防火墙,清空规则
开启net转发功能(/etc/sysctl.conf net.ipv4.ip_forward)
② 后端服务器环境
关闭防火墙、核心防护、配置本地仓库然后下载httpd,或先下载httpd再
修改为内网IP;
设置内网IP信息,要求能ping通windows 的ip
#搭建LVS服务器:
① 安装外网并开启lvs 管理工具 ipvsadm
② 设置防火墙nat 地址映射功能,把内网网段的数据报转为外网的IP
ipvsadm 清理规则(ipvsadm -C)
ipvsadm 设置外网访问入口与负载策略
ipvsadm 定义后端地址池位置
ipvsadm 直接启动
③ HTTPD 服务器:
下载、开启httpd 后,修改网页,方便验证时分辨lvs的轮循规则
④ 验证
验证1:在LVS服务器上可以curl访问到后端的2台服务器网页
本地仓库然后下载httpd,或先下载httpd再
修改为内网IP;
设置内网IP信息,要求能ping通windows 的ip
#搭建LVS服务器:
① 安装外网并开启lvs 管理工具 ipvsadm
② 设置防火墙nat 地址映射功能,把内网网段的数据报转为外网的IP
ipvsadm 清理规则(ipvsadm -C)
ipvsadm 设置外网访问入口与负载策略
ipvsadm 定义后端地址池位置
ipvsadm 直接启动
③ HTTPD 服务器:
下载、开启httpd 后,修改网页,方便验证时分辨lvs的轮循规则
④ 验证
验证1:在LVS服务器上可以curl访问到后端的2台服务器网页
验证2:在windows的浏览器可以通过访问LVS地址,观测到内网的2台httpd地址