提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、群集的含义
    • 1、概念
    • 2、问题
    • 3.、解决方法
  • 二、集群的分类
    • 1、负载均衡群集:聚合和负载均衡
    • 2、高可用群集(High Availability Cluster)
    • 3、高性能运算群集(High Performance Computer Cluster)
  • 三、负载均衡群集架构
    • 1、负载均衡的结构
    • 2、负载均衡群集工作模式分析
      • 2.1、地址转换(NAT模式)
      • 2.2、IP隧道(TUN模式)
      • 2.3、 直接路由(DR模式)
  • 四、关于LVS虚拟服务器
    • 1、LVS简述
    • 2、负载调度算法
      • 2.1、基于请求控制
      • 2.2、基于连接数
  • 五、LVS群集创建与管理
    • 1、步骤
    • 2、LVS的管理工具--ipvsadm
    • 3、实际案例
  • 六、NAT模式 LVS负载均衡群集部署
    • 1、实验准备
    • 2、部署共享存储
    • 3、配置负载调度器LVS(ens33:192.168.35.40 ens36:192.168.10.100)
    • 4、3台服务器(lvs/)时间同步
    • 5、2台节点服务器
    • 6、配置两台节点服务器(后端服务器)
    • 7、虚拟windows测试

一、群集的含义

1、概念

由多台主机构成,但对外只表现为一个整体,只提供一个访问入口(域名与IP地址),相当于一台大型计算机

2、问题

主要来源于市场需求(企业需求),以及企业管理维护人员的合理性和效率;为了解决互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用性的要求

3.、解决方法

主要是:增强单体和集群化
使用价格昂贵的小型机、大型机
使用多台相对廉价的普通服务器构建服务集群

二、集群的分类

根据功能性角度、决绝问题的角度可以分为三种类型

  • 负载均衡群集:LVS实现
  • 高可用群集:MHA manager实现,LVS的HA是由keepalive实现的
  • 高性能运算群集

1、负载均衡群集:聚合和负载均衡

  • 服务器集群:压力的均衡、合理性
  • 集群作为整体,提高整体的抗压、负载能力
  • 依赖的机制:LB的负载分配依赖于主节点的分流算法

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

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

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

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

三、负载均衡群集架构

1、负载均衡的结构

第一层:负载调度器(Load Balancer或Director)
第二层:服务器池(Server Pool)
第三层:共享存储(Share Storage)

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

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

2.1、地址转换(NAT模式)

  • 类似于防火墙的私有网络结构,请求的出和入均有调度器服务控制(LVS)
  • 所有服务器在同一个物理网络内,安全性要优于其他两种方式

2.2、IP隧道(TUN模式)

  • real servers在公网环境(公网IP)
  • Ivs只接收请求,响应请求由对应接收请求的real server以隧道形式直接响应

2.3、 直接路由(DR模式)

  • 接受请求由LVS处理,响应请求也是由real server处理
  • 他们在同一物理网络(内部网) ,响应请求(不同网段的),需要通过公共路由器实现

四、关于LVS虚拟服务器

1、LVS简述

  • 针对Linux内核开发的负载均衡解决方案
  • 1998年5月,由我国的章文嵩博士创建
  • LVS 实际上相当于基于IP地址的虚拟化应用, 为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法

2、负载调度算法

2.1、基于请求控制

  • 轮询

    • 简单来说就是按照顺序一个个来;将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器) ,均等地对待每一台服务器 ,而不管服务器实际的连接数和系统负载
  • 加权轮询
    • 根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多
    • 保证性能强的服务器承担更多的访问流量

2.2、基于连接数

首先看最少连接数,若连接数一样的情况下,看权重的优先级高

  • 最少连接

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

以接近实时连接的请求数(连接数)做为基础
以权重的方式,决定在real servers中连接数相同的情况下,该如何分配请求(以权重的方式判断)

五、LVS群集创建与管理

1、步骤

  • 创建虚拟服务器
  • 添加、删除服务器节点
  • 查看群集及节点情况
  • 保存负载分配策略

2、LVS的管理工具–ipvsadm

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

3、实际案例

环境:LVS调度器作为Web 服务器池的网关,LVS具有两块网卡,分别连接内外网,使用轮询(rr)调度算法

六、NAT模式 LVS负载均衡群集部署

1、实验准备

LVS负载调度器:ens33:192.168.35.40(net模式) ens37:192.168.10.100(vmnet1)
Web 节点服务器1:192.168.35.10
Web 节点服务器2:192.168.35.20
NFS服务器:192.168.35.30
客户端(win10模拟外网):192.168.10.200 (Vmnet1)

本机vm1的配置:

注意点:
win10虚拟机(客户端)网关设置为192.168.10.100
web服务器 网关设置为 192.168.35.40

2、部署共享存储

NFS服务器:192.168.35.30

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
yum install -y nfs-utils rpcbind
systemctl start nfs.service
systemctl start rpcbind.service
systemctl enable nfs.service
systemctl enable rpcbind.service
mkdir /opt/klkl /opt/zwzyt
chmod 777 /opt/klkl /opt/zwzytvim /etc/exports/opt/klkl 192.168.35.10/24(rw,sync,no_root_squash)/opt/zwzyt 192.168.35.20/24(rw,sync,no_root_squash)
exportfs -rv        ##验证共享

3、配置负载调度器LVS(ens33:192.168.35.40 ens36:192.168.10.100)

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
#ifconfig ens36 192.168.10.100      ##临时虚拟网卡,也可以使用此种方法增加网卡,方法自选
  1. 配置SNAT转发规则
vim /etc/sysctl.confnet.ipv4.ip_forward=1
sysctl -p           ##刷新生效
或者:echo '1' > /proc/sys/net/ipv4/ip_forward
systemctl  start firewalld      ##开启防火墙
iptables -F     ##全部清空规则
iptables -t nat -F      ##清空nat表内的规则
[root@lvs ~]# iptables -t nat -nLChain PREROUTING (policy ACCEPT)target     prot opt source               destination         Chain INPUT (policy ACCEPT)target     prot opt source               destination         Chain OUTPUT (policy ACCEPT)target     prot opt source               destination         Chain POSTROUTING (policy ACCEPT)target     prot opt source               destination  iptables -t nat -A POSTROUTING -s 192.168.35.0/24 -o ens37 -j SNAT --to-source 192.168.10.100
## http服务器的流量通过ens37接口,把192.168.35.0网段通过LVS映射192168.10.100nat表:修改数据包中的源、目标IP地址或端口POSTROUTING: 在进行路由判断之"后"所要进行的规则(SNAT/MASQUERADE)PREROUTING: 在进行路由判断之"前"所要进行的规则(DNAT/REDIRECT)-A: 在规则链的末尾加入新规则-s:匹配来源地址IP/MASK.-o 网卡名称匹配从这块网卡流出的数据-i 网卡名称匹配从这块网卡流入的数据-j 控制类型

  1. 加载LVS内核模块
ll /proc/nat     ##查询没有ip_vs模块
modprobe ip_vs     ##手动加载ip_vs模块
cat /proc/net/ip_vs    ##查看ip_vs版本信息

  1. 安装ipvsadm管理工具
yum install -y ipvsadm#注意:启动服务前必须保存负载分配策略,否则将会报错
ipvsadm-save > /etc/sysconfig/ipvsadm        ##ipvsadm-save:策略保存;>:覆盖
或者
ipvsadm --save > /etc/sysconfig/ipvsadm
或者
touch /etc/sysconfig/ipvsadmsystemctl start ipvsadm         ##开启管理工具

若是没有创建保存策略的文件就会报错,如下

  1. 配置负载分配策略
    NAT模式只要在服务器上配置,节点服务器不需要特殊配置
ipvsadm -C     #清除原有策略
ipvsadm -A -t 192.168.10.100:80 -s rr       ##指定分流算法是rr轮询
-A  ##添加虚拟服务器
-s  ##指定负载调度算法 (轮询:rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc )
-a  ##表示添加真实服务器 (后端节点服务器)
-t  ##指定 VIP地址及 TCP端口
-m  ##表示使用 NAT群集模式
-w  ##设置权重 (权重为 0 时表示暂停节点)
ipvsadm -a -t 192.168.10.100:80 -r 192.168.35.10:80 -m -w 1
ipvsadm -a -t 192.168.10.100:80 -r 192.168.35.20:80 -m -w 1
-r      ##real server
-m  ##mode;模式
-w  ##weight;权重ipvsadm     #启动策略
ipvsadm -ln    #查看节点状态,Masq代表 NAT模式
ipvsadm-save > /etc/sysconfig/ipvsadm    #保存策略

4、3台服务器(lvs/)时间同步

ntpdate ntp.aliyun.com

5、2台节点服务器

vim /etc/reslove.conf        ##地址映射nameserver 114.114.114.114

6、配置两台节点服务器(后端服务器)

两台节点服务器(192.168.35.10、192.168.35.20)都更改网关为192.168.35.40,重启,安装apache

 systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0yum install -y httpd            ##下载http服务
systemctl start httpd.service       ##开启http服务
systemctl enable httpd.serviceyum install -y nfs-utils rpcbind      ##下载nfs服务
systemctl start rpcbind.service
systemctl enable rpcbind.serviceshowmount -e 192.168.35.30


web1:192.168.35.10

mount.nfs 192.168.35.30:/opt/klkl /var/www/html/
echo 'this is klkl' > /var/www/html/index.html
vim /etc/fstab  ##永久挂载
192.168.35.30:/opt/klkl /var/www/html nfs defaults,_netdev 0 0
mount -a

web2:192.168.35.20

mount.nfs 192.168.35.30:/opt/zwzyt /var/www/html/
echo 'this is zwzyt' > /var/www/html/index.html
vim /etc/fstab
192.168.35.30:/opt/zwzyt /var/www/html nfs defaults,_netdev 0 0
mount -a

7、虚拟windows测试

在win10上使用浏览器访问192.168.10.100,刷新浏览器测试负载均衡
刷新出来网页之后最好清除一下浏览记录,再次刷新网页轮询



此时更改虚拟win的配置

LVS负载均衡群集架构(一):NET模式群集部署相关推荐

  1. LVS负载均衡集群之NAT模式

    企业群集应用概述 群集的含义 群集又称为集群.Cluster.由多台主机构成,但对外,只表现为一个整体,只提供一个访问入口(域名或IP),相当于一台大型计算机. 集群的应用需求--为何存在? 互联网应 ...

  2. LVS负载均衡:三种工作模式、十种调度算法

    一.LVS简介 二.三种工作模式的解析       2.1 基于NAT的LVS模式负载均衡       2.2 基于TUN的LVS负载均衡       2.3 基于DR的LVS负载均衡 三.LVS负载 ...

  3. 超详细!一文带你了解 LVS 负载均衡集群!

    作者 | JackTian 来源 | 杰哥的IT之旅(ID:Jake_Internet) 前言 如今,在各种互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求也越来越高,单台服务 ...

  4. LVS 负载均衡集群(一)| 超详细!一文带你了解 LVS 负载均衡集群

    前言 如今,在各种互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求也越来越高,单台服务器也将难以无法承担所有的访问需求.当然了,除了使用性价比高的设备和专用负载分流设备外,还有 ...

  5. LVS负载均衡之流量转发过程、lvs简介

    一.网页打开链路过程 客户通过本地设置dns获得hosts文件,dns解析CDN(需要厂家购买的服务或者自研),CDN进入企业内部的VIP上,一般公司会把VIP强制到路由器上,路由器通过OSPF协议走 ...

  6. LVS负载均衡群集概念、NAT模式LVS负载均衡实战部署

    目录 引言: 一.群集的含义 1.1 群集存在的必要 1.2 解决方法 二.群集的种类 2.1 负载均衡群集(Load Balance Cluster) 2.2 高可用群集 (High Availab ...

  7. 集群(一)——LVS负载均衡集群

    集群(一)--LVS负载均衡集群 一.企业群集应用 1.群集的含义 2.问题出现 3.解决办法 4.根据群集所针对的目标差异进行分类 ①.负载均衡群集 ②.高可用群集 ③.高性能运算群集 二.负载均衡 ...

  8. LVS负载均衡集群概念

    LVS负载均衡集群概念 一.群集的含义 集群.群集 由多台主机构成,但对外,只表现为一个整体,只提供一个访问入口(域名或IP),相当于一台大型计算机. 1.群集存在的必要 互联网应用中,随着站点对硬件 ...

  9. Linux中级实战专题篇:LVS负载均衡集群部署

    LVS负载均衡 一,负载均衡集群相关介绍 1,集群是什么 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益,其任务调度 ...

  10. 云计算学习之路——LVS负载均衡

    LVS 文章目录 LVS 一. 负载均衡集群介绍 1.集群是什么? 2.负载均衡集群技术 3.负载均衡集群技术实现方式和产品 4.负载均衡实现效果图 5.负载均衡分类 6.四层负载均衡与七层负载均衡的 ...

最新文章

  1. Python在Seaborn中手动指定调色板颜色进行数据可视化颜色自定义实战(Manually Specify Palette Colors in Seaborn)
  2. freemarker第三篇
  3. MongoDB的高级语法
  4. linux 系统错误表 和对应的数值
  5. prod和probor在matlab,matlab补充教程分析.ppt
  6. 1-1 软件构造过程中的多维视图
  7. swagger连接mysql数据库_一键生成数据库文档,堪称数据库界的Swagger,有点厉害!...
  8. 2020张宇1000题【好题收集】【第七章:三重积分、曲线曲面积分】
  9. (2015年度)黑龙江测绘地理信息局青年学术和技术带头人考评与增选公示
  10. 【JavaWeb从零到一】↣JDBC连接池JDBCTemplate
  11. windows server2012 管理配置chrome
  12. 特斯拉降价也无法阻挡国内新能源汽车厂商前进的步伐
  13. python画蝴蝶曲线图
  14. 常用DEBUG命令及使用详解
  15. python学习日记(基础数据类型及其方法02)
  16. 物联网解决方案,一个基于WiFi,一个基于ZigBee,两者的优势和劣势有哪些?
  17. IOS之高德地图(一)显示出地图并定位成功
  18. “基于医疗知识图谱的问答系统”代码解析(一)
  19. java怎么导入到安卓手机,android导入excel表格数据-随手记记账记录如何导出到EXCEL(安卓版)...
  20. 计算机专业普通话考试成绩查询时间,2021普通话考完多久能查分 几天出成绩

热门文章

  1. phalcon的CLI应用
  2. xstart里输入一个字母,自动显示两个字母解决办法
  3. About email
  4. 软件测试mp3速度,多款软件跑分实测_MP3评测-中关村在线
  5. 微信小程序心形点赞效果
  6. 如何描述简历中的项目经历?
  7. 共享内存 --- shm
  8. HTML学习笔记-v1.3
  9. 21点游戏的python实现
  10. 房产小程序搭建 房产报备系统源码的使用