这里准备以两篇文章来大概讲述一下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. Linux定义变量的脚本

    现有两段基本一样的代码,只是变量进行改变,其他都没有变化,但是执行过程中出现了不一样的结果 代码一: vi back.sh #backup import file,such as /etc/rc.lo ...

  2. android 自己创建一个凝视模板

    android  自己创建一个凝视模板 作为一名程序猿 不仅要有一个写代码的能力,养成一个良好的编写习惯也是非常重要的. 今天给大家具体介绍一下怎样创建凝视模板,给每一个类和方法都自己手动去凝视信息也 ...

  3. 自己定义View Controller转换动画

    原文链接 : Introduction to Custom View Controller Transitions and Animations 原文作者 : joyce echessa 译文出自 : ...

  4. POJ 1469(裸二分匹配)

    COURSES Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18993   Accepted: 7486 Descript ...

  5. android之获取屏幕的宽度和高度

    获取屏幕的宽度和高度: 方法一: //获取屏幕的宽度 public static int getScreenWidth(Context context) { WindowManager manager ...

  6. Struts2报错org.apache.jasper.JasperException: Invalid directive原因

    struts标签书写错误.<s:textfield name="us.username"/>对的<s:textfield name="us.userna ...

  7. response与request回顾学习

    一.response response是servlet.service方法的一个参数,它的类型是javax.servlet.http.HttpServletResponse,在客户端每发出一个请求时, ...

  8. 在Azure Container Service创建Kubernetes(k8s)群集运行ASP.NET Core跨平台应用程序

    引子 在此前的一篇文章中,我介绍了如何在本地docker环境中运行ASP.NET Core跨平台应用程序(http://www.cnblogs.com/chenxizhang/p/7148657.ht ...

  9. 【VS2017新特性】在VS中调试javascript脚本

    1   概述 VS2017可以调试JS,本篇文章简要概述VS2017关于启用和关闭VS调试功能. 2   具体内容 当开启VS2017JS调试功能时,我们用VS2017打开解决方案时,会出现如下界面: ...

  10. Linux下select的用法--实现一个简单的回射服务器程序

    1.先看man手册 SYNOPSIS       /* According to POSIX.1-2001 */       #include <sys/select.h>       / ...