LVS负载均衡群集 ---- NAT模式

本文介绍LVS负载均衡的NAT模式,探讨群集的含义与分类,详细讲解负载均衡群集的工作原理,包括负载调度算法和结构。并通过一个实验案例,演示如何在实际环境中搭建LVS负载均衡系统,涉及NFS共享存储服务的配置。

LVS负载均衡群集 ---- NAT模式

一:群集的含义

1、由多台主机构成,但对外只表现为一个整体

2、在互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器力不从心

  • 解决方法:

  • 使用价格昂贵的小型机、大型机

  • 使用普通服务器构建服务群集

二:群集的分类

  • #### 根据群集所针对的目标差异,分为三类:

  • 负载均衡群集

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

  • 高可用群集

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

  • 高性能运算群集

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

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

  • 负载均衡群集是目前企业用的最多的群集类型

  • 群集的负载调度技术的三种模式

  • 地址转换 ( NAT 模式)

  • IP隧道 (TUN 模式)

  • 直接路由 (DR 模式)

四:负载均衡群集结构

第一层:负载调度器

  • 只负责响应客户端的请求,并将请求通过负载调度算法分发给服务器池中的服务器,是访问整个群集的唯一入口,对外使用公有的vip (Virtual IP,虚拟IP) 地址,也称为群集IP地址

第二层:服务器池

  • 用于为客户端提供实际的应用服务,每个真实服务器(服务器池中的服务器称为真实服务器或节点服务器)具有独立的RIP (真实IP) ,只处理调度器分发过来的客户请求

第三层:共享存储

  • 为服务器池中的所有节点提供稳定、一致的文件存取服务,用于保证群集文件的一致性(就是使即使访问的不是同一个节点服务器但看到的内容是一样的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XgnJ376i-1579160184709)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579075553939.png)]

五:LVS的负载调度算法

  • ##### 轮询 (Round Robin )

  • 将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器),均等地对待每一台服务器,而不管服务器实际的连接数和系统负载

  • ##### 加权轮询(Weighted Round Robin)

  • 根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重

  • 保证处理能力强的服务器承担更多的访问流量

  • ##### 最少连接 (Least Connections)

  • 根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分
    配给连接数最少的节点

  • ##### 加权最少连接(Weighted Least Connections)

  • 在服务器节点的性能差异较大的情况下,可以为真实服务器自动调整权重

  • 权重较高的节点将承担更大比例的活动连接负载

六:LVS负载均衡机制

  • LVS 是四层负载均衡,即建立在 OSI 模型的第四层(传输层之上),传输层上有TCP/UDP,LVS 支持 TCP/UDP 的负载均衡。
  • 因为 LVS 是四层负载均衡,因此它相对于其它高层负载均衡的解决办法,比如 DNS 域名轮流解析、应用层负载的调度、客户端的调度等,它的效率是非常高的。

七:实验案例

1、实验拓扑图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AYc4ipy4-1579160184711)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579077521386.png)]

2、实验环境

1台centos7作为LVS 网关 (添加一块网卡)

2台centos7作为web服务器 (web1 、web2)

1台centos7作为NFS 共享存储服务 (添加2块硬盘)

1台win7作为客户端

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EVTQfwHu-1579160184711)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579080015800.png)]

3、实验目的

win7 客户机访问12.0.0.1 网址,通过nat地址转换,轮询的访问web1 和web2 主机 ;

搭建出NFS网络文件存储服务 。

4、实验过程
  • (在NFS存储服务器上配置)

(1)在 NFS存储服务器中需加入两块硬盘,添加好后需重启 。 可输入命令 ls /dev/ 查看是否添加成功

对两块硬盘进行分区 、格式化 :
[root@nfs ~]# fdisk /dev/sdb     ‘对磁盘sdb的分区’
[root@nfs ~]# mkfs.xfs /dev/sdb1     ‘格式化’
[root@nfs ~]# fdisk /dev/sdc     ‘对磁盘sdc的分区’
[root@nfs ~]# mkfs.xfs /dev/sdc1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eXopdap4-1579160184712)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579081068737.png)]

(2)创建目录作为挂载点 ,并挂载
[root@nfs ~]# mkdir /opt/kg /opt/ac
[root@nfs ~]# vim /etc/fstab     ‘添加自动挂载的设置’
‘添加2行内容’
/dev/sdb1       /opt/kg         xfs     defaults        0 0
/dev/sdc1       /opt/ac         xfs     defaults        0 0

[root@nfs ~]# mount -a
[root@nfs ~]# df -hT

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y6dtJRy2-1579160184712)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579084764151.png)]

(3)关闭防火墙,查看NFS相关软件是否存在
[root@nfs ~]# systemctl stop firewalld.service 
[root@nfs ~]# setenforce 0
[root@nfs ~]# rpm -q nfs-utils     ‘已安装nfs组件’
nfs-utils-1.3.0-0.48.el7.x86_64
[root@nfs ~]# rpm -q rpcbind 
rpcbind-0.2.0-42.el7.x86_64      ‘已安装远端过程调用组件’
(4)设置规则,编辑共享配置文件
[root@nfs ~]# vim /etc/exports
‘192.168.100.0 共享可访问的地址’
/opt/kg         192.168.100.0/24(rw,sync,no_root_squash)
/opt/ac         192.168.100.0/24(rw,sync,no_root_squash)
(5)开启服务,并查看nfs共享配置文件
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl start rpcbind
[root@nfs ~]# showmount -e
Export list for nfs:
/opt/ac 192.168.100.0/24
/opt/kg 192.168.100.0/24
(6)把网卡改为仅主机模式,修改IP地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MqSxNqmQ-1579160184713)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579085751876.png)]

[root@nfs ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33     ‘修改IP地址’

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AzoqMT5J-1579160184714)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579085954545.png)]

[root@nfs ~]# service network restart      ‘重启网络服务’
Restarting network (via systemctl):                        [  确定  ]
[root@nfs ~]# ifconfig     ‘查看IP地址’

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-owtYKEni-1579160184714)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579086156523.png)]

  • (在 web1 、web2 服务器上配置)

(两台服务器配置相同)

(1)安装apache服务 ,关闭防火墙
[root@web1 ~]# yum install httpd -y
[root@web1 ~]# systemctl stop firewalld.service 
[root@web1 ~]# setenforce 0
(2)设置网卡为仅主机模式,并修改IP地址
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

[root@web1 ~]# service network restart 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ghtZRKPm-1579160184715)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579086885469.png)]

[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 

[root@web2 ~]# service network restart 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-89bcburk-1579160184715)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579087086154.png)]

(3)验证NFS服务没有问题
[root@web1 ~]# showmount -e 192.168.100.120
Export list for 192.168.100.120:
/opt/ac 192.168.100.0/24
/opt/kg 192.168.100.0/24          ‘两台服务器都需验证’

(4)自动挂载NFS共享目录到本地
[root@web1 ~]# vim /etc/fstab
‘末尾添加挂载设置’
192.168.100.120:/opt/kg         /var/www/html   nfs     defaults,_netdev        0 0

[root@web2 ~]# vim /etc/fstab 
192.168.100.120:/opt/ac         /var/www/html   nfs     defaults,_netdev        0 0
 
[root@web1 ~]# mount -a        '使挂载文件生效'
[root@web1 ~]# df -hT      ‘查看挂载’

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T9CYeZsZ-1579160184716)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579088291113.png)]

(5)进首页,分别给两个web服务器 写首页文件
[root@web1 ~]# cd /var/www/html/
[root@web1 html]# vim index.html
‘添加web1首页内容’
<h1>this is kg web</h1>

[root@web1 html]# systemctl start httpd       ‘开启服务’
[root@web1 html]# netstat -ntap | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      6765/httpd 

[root@web2 ~]# cd /var/www/html/
[root@web2 html]# vim index.html
‘添加web2首页内容’
<h1>this is ac web</h1>

[root@web2 html]# systemctl start httpd       ‘开启服务’
[root@web2 html]# netstat -ntap | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      4815/httpd 
  • (在LVS 服务器上配置)

配置LVS负载均衡
(1)安装ipvsadm 服务
[root@lvs ~]# yum install ipvsadm -y
(2)添加1块网卡,都设置成主机模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CMi82xqD-1579160184717)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579089318747.png)]

(3)修改IP地址
[root@lvs ~]# cd /etc/sysconfig/network-scripts/
[root@lvs network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36     ‘复制一份作为另一个网卡ens36’
[root@lvs network-scripts]# ls
ifcfg-ens33   ifdown-post       ifup-eth     ifup-sit
ifcfg-ens36    ......
[root@lvs network-scripts]# vim ifcfg-ens33

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wJQxlgZo-1579160184718)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579089756203.png)]

[root@lvs network-scripts]# vim ifcfg-ens36

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CYAnZ4eE-1579160184718)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579159255324.png)]

[root@lvs network-scripts]# service network restart

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MaaoyCTL-1579160184719)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579089972917.png)]

(4)在web服务器中验证

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zWPa4hBg-1579160184719)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1579090051488.png)]

(5)开启路由转发功能,设置防火墙规则
[root@lvs network-scripts]# vim /etc/sysctl.conf
‘添加到末尾’
net.ipv4.ip_forward=1      ‘启动路由转化功能’
[root@lvs ~]# sysctl -p     ‘启动’

[root@lvs network-scripts]# iptables -F    ‘情况转发表’
[root@lvs network-scripts]# iptables -t nat -F     ‘清空nat地址转换表’
[root@lvs network-scripts]# iptables -t nat -A POSTROUTING -o ens36 -s 192.168.100.0/24 -j SNAT --to-source 12.0.0.1       ‘添加地址转换规则’

(6)加载模块,开启ipvsadm 服务
[root@lvs ~]# cd /etc/sysconfig/network-scripts/
[root@lvs network-scripts]# modprobe ip_vs     ‘加载’
[root@lvs network-scripts]# ipvsadm --save > /etc/sysconfig/ipvsadm
[root@lvs network-scripts]# systemctl start ipvsadm
(7)添加脚本设置LVS规则,加权限执行
[root@lvs network-scripts]# cd /opt/
[root@lvs opt]# vim nat.sh
‘添加脚本 ,采用轮询算法访问两个网站’
#! /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.100.110:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.111:80 -m   ‘映射web两台服务器’
ipvsadm

[root@lvs opt]# chmod +x nat.sh      ‘给nat.sh脚本权限’
[root@lvs opt]# ./nat.sh     ‘执行脚本’
(8)在win10 中验证

外网客户机通过访问外网的网关直接映射到内网的web界面,内网的web采用轮询的方式显示出来,即一次显示web1界面,一次显示web2界面,可以有效的缓解web服务器的压力 。(访问期间若没有变动,可清空缓存)
在这里插入图片描述

需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕“需求响应动态冰蓄冷系统与需求响应策略的优化研究”展开,基于Matlab代码实现,重点探讨了冰蓄冷系统在电力需求响应背景下的动态建模与优化调度策略。研究结合实际电力负荷与电价信号,构建系统能耗模型,利用优化算法对冰蓄冷系统的运行策略进行求解,旨在降低用电成本、平衡电网负荷,并提升能源利用效率。文中还提及该研究为博士论文复现,涉及系统建模、优化算法应用与仿真验证等关键技术环节,配套提供了完整的Matlab代码资源。; 适合人群:具备一定电力系统、能源管理或优化算法基础,从事科研或工程应用的研究生、高校教师及企业研发人员,尤其适合开展需求响应、综合能源系统优化等相关课题研究的人员。; 使用场景及目标:①复现博士论文中的冰蓄冷系统需求响应优化模型;②学习Matlab在能源系统建模与优化中的具体实现方法;③掌握需求响应策略的设计思路与仿真验证流程,服务于科研项目、论文写作或实际工程方案设计。; 阅读建议:建议结合提供的Matlab代码逐模块分析,重点关注系统建模逻辑与优化算法的实现细节,按文档目录顺序系统学习,并尝试调整参数进行仿真对比,以深入理解不同需求响应策略的效果差异。
综合能源系统零碳优化调度研究(Matlab代码实现)内容概要:本文围绕“综合能源系统零碳优化调度研究”,提供了基于Matlab代码实现的完整解决方案,重点探讨了在高比例可再生能源接入背景下,如何通过优化调度实现零碳排放目标。文中涉及多种先进优化算法(如改进遗传算法、粒子群优化、ADMM等)在综合能源系统中的应用,涵盖风光场景生成、储能配置、需求响应、微电网协同调度等多个关键技术环节,并结合具体案例(如压缩空气储能、光热电站、P2G技术等)进行建模与仿真分析,展示了从问题建模、算法设计到结果验证的全流程实现过程。; 适合人群:具备一定电力系统、能源系统或优化理论基础,熟悉Matlab/Simulink编程,从事新能源、智能电网、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①开展综合能源系统低碳/零碳调度的科研建模与算法开发;②复现高水平期刊(如SCI/EI)论文中的优化模型与仿真结果;③学习如何将智能优化算法(如遗传算法、灰狼优化、ADMM等)应用于实际能源系统调度问题;④掌握Matlab在能源系统仿真与优化中的典型应用方法。; 阅读建议:建议结合文中提供的Matlab代码与网盘资源,边学习理论模型边动手调试程序,重点关注不同优化算法在调度模型中的实现细节与参数设置,同时可扩展应用于自身研究课题中,提升科研效率与模型精度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值