码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-02-05 18:02:27      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:工作方式   img   路由   代码   企业   abi   五台   开启路由转发   中断   

文章目录

一、企业群集应用概述

二、企业群集分类

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

(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服务器上的网页的,这就说明群集起作用了。

技术图片

技术图片

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

标签:工作方式   img   路由   代码   企业   abi   五台   开启路由转发   中断   

原文地址:https://blog.51cto.com/14557584/2469222

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!