这里准备以两篇文章来大概讲述一下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. webrtc视频数据接收端处理流程详解

  2. Java设计模式之策略设计模式

    1.什么是-策略设计模式 在软件开发中常常遇到这种情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能.如查找.排序等,一种常用的方法是硬编码(Ha ...

  3. JSON数据解析及gson.jar包

    从服务器端接收数据的时候,那些数据必须以浏览器能够理解的格式来发送. 服务器端的编程语言只能以如下 3 种格式返回数据: HTML XML JSON JSON一种简单的数据格式,比xml更轻巧. JS ...

  4. 网络相关系列之三:通过GET和POST方法发送数据

    写在最前面:年少的安逸舒适在随着年龄的到来和现实生活的压迫总有一天会全数归还(事实上就是<无间道>中那句:"出来混,迟早要还的!") so fighting. 一.GE ...

  5. UML总结复习指南

    用例图 1. 參与者(Actor) 表示与您的应用程序或系统进行交互的用户.组织或外部系统.用一个小人表示.   2. 用例(Use Case)   用例就是外部可见的系统功能,对系统提供的服务进行描 ...

  6. linux shell 推断文件或目录是否真的存在

    #推断文件或目录是否存在 filepath=/data/test.txt folderpath=/data/qtech #推断文件是否存在 if [ -f "$file" ] th ...

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

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

  8. FiddlerCoreAPI开发(二)截获HTTPS流量

    上一篇文章简单简单分析了fiddlercore自带样例的代码,本篇文章进入主题,介绍如何使用fiddlercore截获HTTPS流量. 当时学习完样例代码后,我觉得结合注释来抓HTTPS的包应该也很简 ...

  9. ABP入门系列(21)——切换MySQL数据库

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 Abp支持MySql已经不是什么新鲜事了,但按照官方文档:Entity Framewo ...

  10. [UI列表]LoopScrollRect无限滑动不卡顿

    应用场景 对于背包界面,排行榜列表,聊天消息,等有大量的UI列表的界面,常规做法是为每一条数据生成一个格子,在数据量越大的情况下,会生成越来越多的Gameobject,引起卡顿. 这篇文章讲述的就是解 ...