LVS负载均衡群集1(NAT模式)

news/2024/7/4 13:34:12

一、群集技术概述

1、群集的类型
1)负载均衡群集:主要的功能将来自客户机的访问请求分流给多台服务器,从而缓单台服务器的负载压力,例如京东淘宝的购物节的时候,当天的并发量是分常大的,单台服务器是无法承载的。
2)高可用群集:高可用群集和hsrp原理基本一样,服务器有主从之分,实现故障切换,当一台服务器发生故障的时候,另一台服务器马上提供工作。
3)高性能运算群集:这种群集主要用在“云计算”中,就是将多台服务器的硬件整合到一起,实现高性能运算能力。

2、负载均衡的分层结构
第一层:负载调度器,是群集系统的唯一入口,对外使用所有服务器共有的虚拟ip地址,通常会配置主从两台调度器实现热备份,确保高可用性。
第二层:服务器池,也就是提供各种服务的服务器,例如web服务器,ftp服务器,数据库服务器等,处理调度器发来的请求。
第三层:共享存储,主要存储服务器池中应用程序的数据,一般会采用nas或者san设备,我们今天就使用NFS搭建一台nas服务器,工作中也可以购买硬件nas和san。
3、负载均衡的工作模式
LVS负载均衡群集1(NAT模式)
1)地址转换,简称nat模式,负载均衡调度器作为网关,服务器和负载调度器在同一个私有网络,安全性较好。
2)Ip隧道,简称tun模式,负载调度器仅作为客户机的访问入口,各节点通过各自的internet连接直接回应客户机,不在经过负载调度器,服务器的节点分散在互联网的不同位置,具有独立的共有ip地址,通过专用的ip隧道与负载调度器相互通信。
3)直接路由,简称DR模式,与TUN模式类似,但各节点不是分散在各地,而是与调度器位于同一个物理网络,负载调度器与各节点服务器通过本地网络连接,不需要建立专用的ip隧道。
以上三种模式中,nat方式只需要一个公网地址,从而成为最容易的一种负载均衡模式,安全性也比较好,许多硬件负载均衡设备就是采用这种方式,性比较而言,DR模式和TUN模式的负载能力更强大,使用范围更广,但节点的安全性要稍差一些。

二、LVS虚拟服务器

Lvs是linux内核的一部分,由我国的章文嵩博士在1998年创建,也是极少数由中国人开发的优秀软件之一,我们可以直接手动加载ip_vs模块
-----并查看当前系统中ip_vs模块的版本信息,命令如下:
LVS负载均衡群集1(NAT模式)
1、lvs的负载调度算法
1)轮询:将受到的访问请求按顺序轮流分配给群集中的各节点,不管服务器的连接数和系统负载。
2)加权轮询:也是轮流分配,但是可以调整权重,让处理性能强的服务器承担更多的访问流量。
3)最少连接:根据连接数分配,分配给连接数少的节点。
4)加权最少连接:权重高的节点将承担更大比例的负载

2、使用ipvsadm管理工具
Ipvsadm是在负载调度器上使用的lvs群集管理工具,通过调用ip_vs模块来添加、删除服务器节点。需要手动安装。
yum -y install ipvsadm
-------命令试验中演示。

3、NFS共享存储服务
NFS与我们之前讲过的openfiler、nas、san设备相似,都是属于存储设备,其实NFS就是一种nas存储。
我们在学习虚拟化的时候就使用过openfiler搭建过存储,其实在exsi上也可以使用NFS作为存储。
接下来用一个综合实验详细介绍安装和使用。

三、综合案例:搭建LVS群集(NAT模式)

LVS负载均衡群集1(NAT模式)

-------实验目标:搭建lvs群集,lvs负载调度器有两块网卡,是所有内部web服务器的网关服务器,需要为负载调度器配置SNAT,以便内部的服务器可以访问internet,所有的节点服务器、共享存储位于私有网络,网关指向负载调度器的192.168.7.254
在虚拟机上实验环境如下:
LVS负载均衡群集1(NAT模式)

--------实验步骤:
1、搭建NFS服务器
1)安装nfs-utils(用来发布共享和访问)和rpcbind(用于RPC支持)
LVS负载均衡群集1(NAT模式)
LVS负载均衡群集1(NAT模式)
2)设置共享目录
将文件夹/opt/wwwroot共享给内部的web服务器节点使用,命令如下:LVS负载均衡群集1(NAT模式)
打开/etc/exports文件,在里面设置共享
LVS负载均衡群集1(NAT模式)
-----rw:读写,sync:允许同步写入,no_root_squash:客户机以root身份访问时赋予本地root权限。---

3)启动NFS服务程序
LVS负载均衡群集1(NAT模式)

4)查看本机发布的NFS共享目录
LVS负载均衡群集1(NAT模式)
5)在web节点A上访问NFS共享资源
若要正常访问NFS共享资源,客户机中也需要安装rpcbind软件包,并启动服务器,如果想使用showmount查询共享,也需要安装nfs-utils软件包。
LVS负载均衡群集1(NAT模式)
然后在NFS上面关闭防火墙 service iptables stop
在web节点A上连接
LVS负载均衡群集1(NAT模式)
6)在两台节点服务器上安装nginx,并开启nginx服务
LVS负载均衡群集1(NAT模式)
LVS负载均衡群集1(NAT模式)
LVS负载均衡群集1(NAT模式)
LVS负载均衡群集1(NAT模式)
7)在web节点A上挂载共享目录到本地的nginx网站主目录
LVS负载均衡群集1(NAT模式)

8)在NFS服务器的/opt/wwwroot里面制作网页index.html,然后到web节点A的/usr/local/nginx/html中查看,如果有index.html就说明挂载成功。
LVS负载均衡群集1(NAT模式)
LVS负载均衡群集1(NAT模式)

LVS负载均衡群集1(NAT模式)
9)设置自动挂载
Vi /etc/fstab
LVS负载均衡群集1(NAT模式)

-----注意:在web节点B上做和web节点A相同的操作,为了显示负载均衡,在web1 挂载了nfs,web2的网站默认是nginx首页。

2、配置负载调度器

1)在调度器上安装ipvsadm软件包
LVS负载均衡群集1(NAT模式)
2)配置SNAT转发规则
LVS负载均衡群集1(NAT模式)
LVS负载均衡群集1(NAT模式)
LVS负载均衡群集1(NAT模式)
LVS负载均衡群集1(NAT模式)

3)配置负载分配策略,主要目的是把web节点添加到调度器里面

LVS负载均衡群集1(NAT模式)

3、测试LVS群集,查看负载调度器
LVS负载均衡群集1(NAT模式)
注意:为了方便测试效果,web节点B的就不挂载NFS了,保持默认的nginx主页,然后在客户端上测试,访问两次,网页都不一样,实现了负载均衡群集。注意测试的时候把两台web节点的网关指向调度器,防火墙开启80端口或者关闭,然后把调度器的防火墙开启FORWARD和INPUT允许80端口。
LVS负载均衡群集1(NAT模式)
LVS负载均衡群集1(NAT模式)

转载于:https://blog.51cto.com/982439641/2066637


http://www.niftyadmin.cn/n/3497440.html

相关文章

数据库(转)

iOS开发数据库篇—SQL 一、SQL语句 如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句 1.什么是SQL SQL(structured query language):结构化查询语言 SQL是一种对关系型数据库中的数据进行定义和操作的语言 SQL语言…

Google今天出浏览器了!

Goole今天提供自己开发的浏览Chrome免费下载了!

python获取当前时区_关于datetime:在Python中获取系统的时区信息?

我想从Python获取我的系统的默认时区(PST)。 最好的方法是什么? 我想避免分支另一个过程。 这应该工作: import time time.tzname time.tzname返回两个字符串的元组:第一个是本地非DST时区的名称,第二个是本地DST时区的名称。 返回示例:(MST, MDT) 要进一步使用此功能,您…

BZOJ 1565: [NOI2009]植物大战僵尸( 最小割 )

先拓扑排序搞出合法的, 然后就是最大权闭合图模型了.... ---------------------------------------------------------------------#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define Id(x, y) ((x) * c (y))const int max…

内部类获得外部类字节码对象

普通内部类和匿名内部类获得外部类字节码对象方式不一样。获得父类的字节码对象方法一样。 普通内部类&#xff1a;getDeclaringClass() 匿名内部类&#xff1a;getEnclosingClass() WaterRiverBox waterRiverBox new WaterRiverBox() {{setType(1);}};WaterRiverBox.Test t…

彻底学会使用epoll(三)——ET的读操作实例分析

首先看程序一&#xff0c;这个程序想要实现的功能是当用户从控制台有任何输入操作时&#xff0c;输出”hello world&#xff01;”。 l 程序一 点击(此处)折叠或打开 #include unistd.h> #include iostream> #include sys/epoll.h> using namespace std; int m…

WitKey(威客)将是SaaS的一个重要分支 -

SaaS的未来将是Service as a Software&#xff0c;将‘服务’产品化。 WitKey&#xff08;威客&#xff09;理论聚集于‘知识’这一特殊的‘服务’类型&#xff0c;而目前互联网尚未给予‘知识服务’以充分的‘价格’特性&#xff0c;严重忽视了其价值。 而事实上&#xff0c;仅…

jvm间歇性崩溃分析

http://www.cnblogs.com/LBSer/p/4417148.html 1 问题描述 某服务有两台机器&#xff0c;每隔几天会报警load高&#xff0c;一开始看监控发现gc时间抖动很大&#xff0c;以为是发生了fullgc引起卡顿而未加注意&#xff0c;之后登入线上机器查看日志发现是jvm崩溃导致了服务…