LVS 负载均衡 ---- NAT模式
更新:HHH   时间:2023-1-7


文章目录

一、企业群集应用概述

二、企业群集分类

三、负载均衡群集工作模式分析

(1)NAT 模式 ------ 地址转换(network address translation)

(2)IP 隧道 (IP Tunnel)

(3)DR 模式

四、负载均衡群集架构

五、LVS 虚拟服务器

六、NAT模式 具体案例实验

第一步:配置存储服务器

第二步:配置两台 Apache服务器

第三步:配置 LVS

第四步:验证结果

一、企业群集应用概述:

在互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器远不能满足需求,此时就需要多台服务器组成一个集群,但是对外仍表现的是一个整体,类似于一个“代表”。

何为群集:

Cluster ,集群 ,群集
由多台主机构成,但对外只表现为一个整体

二、企业群集分类:

根据群集所针对的目标差异,可分为三种类型:

负载均衡群集;
高可用群集;
高性能运算群集;

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

以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能;
LB 的负载分配依赖于主节点的分流算法;

(2)高可用群集 (High Availability Cluster)

以提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果;
HA 的工作方式包括双工和主从两种模式

(3)高性能运算群集 (High Performmance Computer Cluster)

是以提高应用系统的 CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型,超级计算机的高性能运算(HPC)能力;
高性能运算群集的高性能依赖于 “分布式运算”、 “并行计算” ,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起。

三、负载均衡群集工作模式分析:

负载均衡群集是目前企业用的最多的群集类型,群集的负载均衡调度技术有三种工作模式:

1、地址转换(NAT)
2、IP 隧道
3、直接路由

(1)NAT 模式 ------ 地址转换(network address translation)

类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,同时也作为各节点回应客户机的访问出口;
服务器节点使用私有 IP地址,与负载调度器位于同一个物理网络,安全性要优化与其他两种方式;
这是企业中用的做多的一种模式。

(2)IP 隧道 (IP Tunnel)

采用的是开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的 Internet 连接直接回应客户机,而不再经过负载调度器;
服务器节点分散在互联网中的不同位置,具有独立的公网 IP地址,通过专用 IP隧道与负载调度器相互通信。

(3)DR 模式

采用半开放式的网络结构,与 TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络;
负载调度器与各节点服务器通过本地网络连接,不需要建立专用的 IP隧道。

四、负载均衡群集架构:

第一层:负载均衡器
第二层:服务器池
第三层:共享存储
负载均衡结构图:

五、LVS 虚拟服务器:

(1)LVS 的负载调度算法:

1、轮询:将收到的访问请求按照顺序轮流分配给群集中的各节点(真实的服务器),均等地对待每一台服务器,而不管服务器实际的连接数和系统负载。
2、加权轮询:根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重;保证处理能力强的服务器承担更多的访问流量。

(2)LVS 负载调度算法:

1、最少连接:
根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接最少的节点。
2、加权最少连接:
在服务器节点的性能差异较大的情况下,可以为真实服务器自动调整权重;并且权重较高的节点将承担更大比例的活动连接负载。

(3)LVS 群集创建于管理 (使用 ipvsadm工具)

六、NAT模式 具体案例实验:

角色 IP地址
web服务器 1 192.168.100.110
web服务器 2 192.168.100.111
NFS存储器 192.168.100.120
LVS ens33(内网卡):192.168.100.1;ens36(外网卡):12.0.0.1

实验环境说明:

准备五台虚拟机,一台客户机(window系统)作为测试,一台服务器作为LVS,两台web服务器(Apache),一台作为服务器作为 NFS 存储;
所有主机设置成仅主机模式;
在 LVS服务器上设置两个网卡,一个作为私网地址,一个作为公网地址,并作NAT地址映射;
实验验证:公网客户端通过访问公网地址,即可访问到 NFS存储(也就是web群集)

第一步:配置存储服务器

(1)存储服务器需要安装,rpcbind 和 nfs-utils 这两个包,没有的话用 yum安装一下即可。
(2)编辑访问规则:
1、首先在 /opt 目录下创建 benet 和 accp 这两个文件
[root@localhost ~]# cd /opt/
[root@localhost opt]# mkdir benet accp
[root@localhost opt]# chmod 777 accp/ benet/        //授权
2、设置规则
vim /etc/exports
在文件里添加以下代码:
/usr/share *(ro,sync)
/opt/benet 192.168.200.0/24(rw,sync)
/opt/accp 192.168.200.0/24(rw,sync)
3、发布共享
exportfs -rv

(3)开启服务:
systemctl start nfs.service 

systemctl start rpcbind

第二步:配置两台 Apache服务器

(1)安装Apache服务
yum install httpd -y
(2)将存储服务器文件挂载到本地
1、第一台Apache服务器:
mount.nfs 192.168.200.130:/opt/accp /var/www/html/
再创建一个网页,作为测试用:
echo "this is accp web" > index.html
2、第二台Apache服务器:
 mount.nfs 192.168.200.130:/opt/benet /var/www/html/
创建一个网页,测试:
echo "this is benet web" > index.html
注意:这里用的都是存储服务器的内存和资源,并不占用本地任何资源

第三步:配置 LVS

(1)安装 ipvsadm 服务
yum install ipvsadm -y
(2)作为网关,需要开启路由转发功能
vim /etc/sysctl.conf
最后一行添加这行代码
net.ipv4.ip_forward=1
启动
sysctl -p
(3)做地址映射
 iptables -t nat -F
 iptables -F
 iptables -t nat -A POSTROUTING -o ens36 -s 192.168.200.0/24 -j SNAT --to-source 12.0.0.1
(4)加载模块
modprobe ip_vs
(5)开启 ipvsadm
1、先备份:
ipvsadm --save > /etc/sysconfig/ipvsadm
2、在开启服务
systemctl start ipvsadm.service
(6)设置LVS规则
1、写一个脚本添加规则:
#!/bin/bash
ipvsadm -C
//清除内核虚拟服务器表中的所有记录
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.110:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.120:80 -m
ipvsadm
2、添加执行权限,后执行:
chmod +x nat.sh 
./nat.sh

第四步:验证结果

在win7浏览器上,访问 12.0.0.1,因为做了NAT模式和存储共享,所以是可以直接访问到两台Apache服务器上的网页的,这就说明群集起作用了。

返回云计算教程...