这里准备以两篇文章来大概讲述一下LVS负载均衡

NAT

TUN/DR和共享存储


为什么搭建LVS:

若一台服务器只能支持10人在线。那么有100人访问,则需要多少台服务器。

这个不言而喻:10台服务器

但是在网络平台中,每台服务器有指定的IP,也就是说,10台服务器有10个IP。那么问题随之而来,访问一个网站你会记住10个IP地址吗?你能确定服务器不会形成一台服务器接受8人访问而另一台服务器接受2人访问的不均衡情况产生吗?

答案是显而易见的!为解决这个问题,我们就不得不说一下LVS负载均衡

LVS负载均衡主要特点:

访问调度器IP就能调取服务器池的服务器

有调度器的算法分发相应的服务器提供服务


一:NAT简图


二:NAT搭建思路

2.1 服务端:

配置服务端的httpd、防火墙、ip地址

2.2 调度器:

加载模块:modprobe ip_vs / 查询版本信息: cat /proc/net/ip_vs

装ipvsadm管理模块信息:rpm -ivh /media/cdrom/Packages/ipvsadm-1.26-2.el6.x86_64.rpm

创建虚拟服务器:(虚拟服务器就是调度器)

Ipvsadm -A –t 虚拟服务器ip:80 –s rr 添加调度节点: Ipvsadm –a –t 虚拟服务器ip:80 –r 真实服务器ip:80 –m –w 1

Ipvsadm –ln

删除服务器节点:

Ipvsadm –d –r 真实服务器ip:80 –t 虚拟服务器ip:80

Ipvsadm –D –t 虚拟服务器ip:80

最后要启动ipvsadm服务: Service ipvsadm start

备注:

1:端口号一定要写(ip:80)

2:-m(NAT) –i(TUN) –g(DR)

3:调度器不需要启动httpd服务、虚拟服务器ip为调度器外网ip地址,真实服务器ip为服务器的ip

如:

客服端(10.10.1.1)

外网(10.10.1.254)-调度器-内网:(10.10.0.254)

服务端(10.10.0.*)

添加的虚拟服务器ip:10.10.1.254(192.168.1.0)

添加的节点服务器ip:10.10.0.*(192.168.0.0)


三:搭建详情

调度器:s3(192.168.2.1)

服务器:s1(192.168.1.108)、s2(192.168.1.104)

3.1 服务器端:(s1、s2)

一:开启httpd

[root@s1 ~]# service httpd start

二:关闭防火墙

[root@s1 ~]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]

3.2 调度器:(s3)

一:加载模块

[root@s3 ~]# modprobe ip_vs

二:安装ipvsadm管理模块信息:rpm -ivh /media/cdrom/Packages/ipvsadm-1.26-2.el6.x86_64.rpm

1.创建目录

[root@s3 ~]# mkdir /media/cdrom

2.挂载磁盘

[root@s3 ~]# mount /dev/cdrom /media/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only

3.安装

[root@s3 ~]# rpm -ivh /media/cdrom/Packages/ipvsadm-1.26-2.el6.x86_64.rpm
warning: /media/cdrom/Packages/ipvsadm-1.26-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:ipvsadm ########################################### [100%]

三:创建虚拟服务器

[root@s3 ~]# ipvsadm -A -t 192.168.2.1:80 -s rr

四:添加调度节点

[root@s3 ~]# ipvsadm -a -t 192.168.2.1:80 -r 192.168.1.108:80 -m -w 1
[root@s3 ~]# ipvsadm -a -t 192.168.2.1:80 -r 192.168.1.104:80 -m -w 1

五:查询结果

[root@s3 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.2.1:80 rr
-> 192.168.1.104:80 Masq 1 0 0
-> 192.168.1.108:80 Masq 1 0 0

六:启动ipvsadm服务: Service ipvsadm start

[root@s3 ~]#  service ipvsadm start
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm: [确定]
ipvsadm: Clearing the current IPVS table: [确定]
ipvsadm: Applying IPVS configuration: [确定]

最后关闭调度器防火墙

[root@s3 ~]#  service ipvsadm start

说明:

调度器需要开启路由转发协议

Vim /etc/sysctl.conf

执行 sysctl -p


四:结果

访问s3的web(注意s3是没有开启web服务的),会跳转至s1/s2服务器的web界面


本文版权声明:

本文作者:魁·帝小仙

博文主页地址:http://www.cnblogs.com/dxxblog/

欢迎对小博主的博客内容批评指点,如果问题,可评论或邮件联系(2335228250@qq.com)

欢迎转载,转载请在文章页面明显位置给出原文链接,谢谢

消费五分钟,小白也能了解的经典技术:关于IP负载均衡(LVS之NAT)的更多相关文章

  1. 10分钟学会windows中iis搭建服务器集群实现负载均衡和nginx代理转发

    前言 我们之前聊过 10分钟搭建服务器集群--Windows7系统中nginx与IIS服务器搭建集群实现负载均衡:https://www.cnblogs.com/xiongze520/p/103087 ...

  2. 负载均衡LVS之DR(附:NFS共享存储) 五分钟搭建手册

    一:DR-模式 调度器Ip:192.168.1.254 服务器ip:192.168.1.1/192.168.1.2 VIP:192.168.1.10 ——配置负载均衡调度器: 关闭重定向响应配置: V ...

  3. Linux系统(五)负载均衡LVS集群之DR模式

    序言 DR模式是lvs集群中三种负载均衡模式的其中一种,那么上一篇中我写啦关于NAT模式的搭建与原理,为什么还要有DR模式与IP隧道模式呢? 首先我们来看3张图.LVS/NAT模式如下图: LVS/I ...

  4. 小迪安全 Web安全 基础入门 - 第五天 - 资产架构&端口&应用&CDN&WAF&站库分离&负载均衡

    一.资产架构 1.Web单个源码指向安全,域名指向一个网站,网站对应一个程序.对应一个目录. 2.Web多个目录源码安全,搭建完一个网站后,在网站目录下搭建新的站点. 3.Web多个端口源码安全,与多 ...

  5. rocketmq消费负载均衡--push消费为例

    本文介绍了DefaultMQPushConsumerImpl消费者,客户端负载均衡相关知识点.本文从DefaultMQPushConsumerImpl启动过程到实现负载均衡,从源代码一步一步分析,共分 ...

  6. 五分钟学Java:如何才能学好Java Web里这么多的技术

    原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 系列文章介绍 本文是<五分钟学Java>系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年 ...

  7. 用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树

    这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托,表达式树这些应用.今天我尝试用简单的方法叙述一下,让大家在五 ...

  8. [分享] 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例)

    [分享] 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例) 踏雁寻花 发表于 2015-8-23 23:31:28 https://www.itsk.com/thread-35 ...

  9. JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法)

    相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧.不过LZ丑话说前面哦,这篇文章应该能让各位彻底理解标记/清除算法,不过倘若各位猿友不能在五分钟内 ...

随机推荐

  1. python 正则的使用 —— 编写一个简易的计算器

    在 Alex 的博客上看到的对正则这一章节作业是编写一个计算器,要求能计算出下面的算式. 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 + ...

  2. OpenXml读取word内容(二)

    注意事项 上一篇已经说明,这次就不一一说了,直接来正文: word内容 相关代码 方法1 static void Main(string[] args) { string wordPathStr = ...

  3. Golang中的信号处理

    信号类型 个平台的信号定义或许有些不同.下面列出了POSIX中定义的信号. Linux 使用34-64信号用作实时系统中. 命令 man 7 signal 提供了官方的信号介绍. 在POSIX.1-1 ...

  4. hdu1181 变形课(vector容器+dfs)

    变形课 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Submi ...

  5. ccbpm工作流引擎是怎样支持多种流程模式的

    前言: 在BPM领域支持流程运转的理论模型有多种.有的21种.28种.32种. 每种模式都代表了这样的模式的理论设计者研究者的人员主张.思想.这些模式尽可能的,全然去覆盖到现实生产.工作.应用上的流程 ...

  6. python 创建列表和向列表添加元素方法

    今天的学习内容是python中的列表的相关内容. 一.创建列表 1.创建一个普通列表 >>> tabulation1 = ['大圣','天蓬','卷帘'] >>> ...

  7. Shell编程之文本处理

    cut 截取自定列 可以按照某个字符进行分割,然后取出其中的指定列: [root@iz8vbbqbnh4ug2q9so5jflz logs]# --.txt /Dec/::: +] - /Dec/:: ...

  8. Asp.Net Web API中使用Session,Cache和Application的几个方法

    在ASP.NET中,Web Api的控制器类派生于ApiController,该类与ASP.NET的Control类没有直接关系,因此不能像在Web MVC中直接使用HttpContext,Cache ...

  9. JavaScript 中 apply 、call 的详解

    apply 和 call 的区别 ECMAScript 规范给所有函数都定义了 call 与 apply 两个方法,它们的应用非常广泛,它们的作用也是一模一样,只是传参的形式有区别而已. 原文作者:林 ...

  10. 【二十一】基于mysqli的表格数据练习

    mysqlitest.php <?php //调用数据库的函数 function connetionsql(){ $conn=mysqli_connect("127.0.0.1&quo ...