天天看点

构建负载均衡群集LVS-NAT一: 负载均衡群集的原理二、LVS负载均衡三、搭建LVS-NAT负载均衡群集

文章目录

  • 一: 负载均衡群集的原理
    • 1.1: 企业群集应用概述
    • 1.2: 群集分类
    • 1.3:负载均衡群集工作模式
      • 1.3.1:NAT模式
      • 1.3.2:TUN模式
    • 1.3.3:DR模式
  • 二、LVS负载均衡
    • 2.1 负载均衡的架构
    • 2.1 LVS的负载调度算法
    • 2.3:LVS群集创建与管理工具
  • 三、搭建LVS-NAT负载均衡群集
    • 3.1 环境
    • 3.1 lvs负载调度器-配置
    • 3.2 nfs客户机配置
    • 3.3 web1配置
    • 3.4 web2 配置
    • 3.5 客户端验证

一: 负载均衡群集的原理

1.1: 企业群集应用概述

  • 群集的含义

    Cluster,集群、群集

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

  • 问题

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

  • 解决方法

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

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

阿里云中的SLB是典型的负载均衡调度器,ECS是云主机(虚拟机)

SLB调度ECS,多个ECS组成资源池,构成云计算的基础

1.2: 群集分类

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

负载均衡群集

高可用群集

高性能运算群集

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

    提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能

    LB的负载分配依赖于主节点的分流算法

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

    提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果

    HA的工作方式包括双工和主从两种模式

  • 双工是同时工作的意思; 主从是从服务器负责复制数据
  1. 高性能运算群集(High Performance Computer Cluster)

    提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力

高性能依赖于“分布式运算”、“并行计算”,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力。

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

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

群集的负载调度技术有三种工作模式

  • 地址转换
  • IP隧道
  • 直接路由(DR)

1.3.1:NAT模式

地址转换(Network Address Translation)

简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口

服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式

构建负载均衡群集LVS-NAT一: 负载均衡群集的原理二、LVS负载均衡三、搭建LVS-NAT负载均衡群集

1.3.2:TUN模式

IP隧道(IP Tunnel)

简称TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的 Internet连接直接回应客户机,而不再经过负载调度器

服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信

构建负载均衡群集LVS-NAT一: 负载均衡群集的原理二、LVS负载均衡三、搭建LVS-NAT负载均衡群集

1.3.3:DR模式

直接路由(Direct Routing)

简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络

负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道

构建负载均衡群集LVS-NAT一: 负载均衡群集的原理二、LVS负载均衡三、搭建LVS-NAT负载均衡群集

1.3.4:三种工作模式的区别

构建负载均衡群集LVS-NAT一: 负载均衡群集的原理二、LVS负载均衡三、搭建LVS-NAT负载均衡群集

二、LVS负载均衡

2.1 负载均衡的架构

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

2.1 LVS的负载调度算法

  1. 轮询(Round Robin)

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

  1. 加权轮询(Weighted Round Robin)

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

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

  1. 最少连接(Least Connections)

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

  1. 加权最少连接(Weighted Least Connections)

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

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

2.3:LVS群集创建与管理工具

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

三、搭建LVS-NAT负载均衡群集

3.1 环境

一台客户机验证,两台Web服务器构建Server Pool,一个负载调度器LVS,一台NFS服务器共享存储。
lvs负载调度器,配置两张网卡,内网网卡地址 192.168.100.10,外网网卡地址 192.168.10.10
web服务器1 ip地址192.168.100.11   yum安装httpd
web服务器2 ip地址192.168.100.12   yum安装httpd
nfs服务器地址 192.168.100.13  
访问客户机地址 192.168.10.14
           

3.1 lvs负载调度器-配置

  1. 加载ip_vs模块
[root@lvs ~]# modprobe ip_vs        //加载ip_vs模块
[root@lvs ~]# cat /proc/net/ip_vs      //查看
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port Forward Weight ActiveConn InActConn
           
  1. 开启路由功能:
vim /etc/sysctl.conf
添加 net.ipv4.ip_forward=1
           
  1. 安装ipvsadm,
yum -y install ipvsadm
           
  1. 编写脚本设置lvs负载调度器
vim nat.sh
#!/bin/bash
ipvsadm -C
ipvsadm -A -t 192.168.10.10:80 -s rr     //创建虚拟服务器,调度模式为轮询(rr)
ipvsadm -a -t 192.168.10.10:80 -r 192.168.100.11:80 -m   //添加服务器节点,-m表示NAT集群模式
ipvsadm -a -t 192.168.10.10:80 -r 192.168.100.12:80 -m
ipvsadm -Ln      // L:list 列表查看lvs虚拟服务器
           
构建负载均衡群集LVS-NAT一: 负载均衡群集的原理二、LVS负载均衡三、搭建LVS-NAT负载均衡群集

3.2 nfs客户机配置

为了验证效果,我们使共享文件夹里的两个网页文件不同

yum -y install nfs-utils    //安装nfs-utils
yum -y install rpcbind    //安装rpcbind
mkdir /opt/web1          //创建共享的文件夹web1
mkdir /opt/web2          //创建共享文件夹web2
echo "<h1>this is web1</h1> > /opt/web1/index.html
echo "<h1>this is web2</h1> > /opt/web2/index.html
vim /etc/exports        //编辑共享配置
/opt/web1 192.168.100.11/32(ro)
/opt/web2 192.168.100.12/32(ro)
:wq
systemctl restart nfs rpcbind
showmount -e
           
构建负载均衡群集LVS-NAT一: 负载均衡群集的原理二、LVS负载均衡三、搭建LVS-NAT负载均衡群集

3.3 web1配置

yum -y install httpd
mount 192.168.100.13:/opt/web1 /var/www/html/   //挂载nfs文件
           

3.4 web2 配置

yum -y install httpd
mount 192.168.100.13:/opt/web2 /var/www/html/   //挂载nfs文件
           

3.5 客户端验证

构建负载均衡群集LVS-NAT一: 负载均衡群集的原理二、LVS负载均衡三、搭建LVS-NAT负载均衡群集
构建负载均衡群集LVS-NAT一: 负载均衡群集的原理二、LVS负载均衡三、搭建LVS-NAT负载均衡群集

在lvs调度器上查看:

构建负载均衡群集LVS-NAT一: 负载均衡群集的原理二、LVS负载均衡三、搭建LVS-NAT负载均衡群集
Masq  :Masquerade欺骗,隐瞒   说明使用的是NAT工作模式。
weight: 权重
rr:lvs的负载调度算法为轮询(Round Robin)