这里准备以两篇文章来大概讲述一下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. 浏览器抓包(post)

    谁能想到我写的第一个wp竟然是个web题??? 以Geek2017_Buy me a Tesla 为例 来看看题目 emmmm有理想还是很好的,火狐打开(事实证明FF对web题是最友好的) 能点的地方 ...

  2. BFS求最短路 Abbottt's Revenge UVa 816

    本题的题意是输入起点,朝向和终点,求一条最短路径(多解时任意输出一个即可) 本题的主要代码是bfs求解,就是以下代码中的slove的主要部分,通过起点按照路径的长度来寻找最短路径,输出最先到终点的一系 ...

  3. NYOJ127 星际之门(一)(最小生成数的个数+高速幂)

    题目描写叙述: http://acm.nyist.net/JudgeOnline/problem.php?pid=127 能够证明.修建N-1条虫洞就能够把这N个星系连结起来. 如今.问题来了.皇帝想 ...

  4. webpack+babel项目在IE下报Promise未定义错误引出的思考

    低版本浏览器引起的问题 最近开发一个基于webpack+babel+react的项目,一般本地是在chrome浏览上面开发,chrome浏览器开发因为支持大部分新的js特性,所以一般不怎么需要poly ...

  5. ajax_get/post_两级联动

    使用ajax实现菜单联动 通常情况下,GET请求用于从服务器上获取数据,POST请求用于向服务器发送数据. 需求:选择第一个下拉框的值,根据第一个下拉框的值显示第二个下拉框的值 首先使用GET方式. ...

  6. Python笔记·第二章—— Python的编码问题(一)

    一.什么是编码 可以说,计算机是一个即聪明又笨蛋的家伙.说它聪明,是因为他可以做很多事情,它的强大无需多说,大家应该都有所了解以及感受.但是为什么说它又是个笨蛋呢,因为我们在电脑上写出的每一个字,保存 ...

  7. Django的Models

    Django的数据库配置: 1    django默认支持sqlite,mysql, oracle,postgresql数据库 2.   在django的项目中会默认使用sqlite数据库,如果要使用 ...

  8. 【python】字典dict

  9. 解决WebService/WCF调用时报错"服务器提交了协议冲突. Section=ResponseStatusLine"问题

    今天更新了一个网站,新增了一个页面,调用WebService,在测试环境好好的,部署到正式环境后就莫名报错: 服务器提交了协议冲突. Section=ResponseStatusLine 网上查了好多 ...

  10. boost::format(字符串格式化库)

    这段时间学习boost库的使用,撰文一方面留以备用,另一方面就是shared精神. format主要是用来格式化std::string字符串以及配合std::cout代替C语言printf() 使用f ...