OS:   Redhat AS4U4 内核:2.6.9-42
Server1: 192.168.1.91 (负载服务器)
虚拟服务IP: 192.168.1.99
Realserver: 192.168.1.92 (集群服务器)
实验目的:
在负载服务器上,配置LVS(DR模式),做web服务器的集群。实现最终用户访问虚拟IP,负载服务器,将请求分发到集群下的服务器,由集群服务器轮流提供web服务。
Redhat AS4U4的内核版本已经集成了ipvsadm功能模块,所以不需要安装,直接使用即可。
如果要用高版本的ipvsadm, 到[url]http://www.linuxvirtualserver.org/software/[/url] 注意对应自己的内核版本ipvsadm-1.24.tar.gz
tar zxvf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24
make
make install
注意在make时可能会出现很多错误的信息,请按照如下操作就可以心编译正常
ln -s /usr/src/kernels/2.6.9-22.EL-i686/ /usr/src/linux
一、负载服务器
编辑一个shell文件,执行后,即启用LVS功能。
vi  /tmp/lvs.sh
#!/bin/bash
vip=192.168.1.99
rs1=192.168.1.91
rs2=192.168.1.92
gw=192.168.1.1
#set virttual ip address
/sbin/ifconfig eth1:0 $vip broadcast $vip netmask 255.255.255.255 up
/sbin/route add -host $vip dev eth1:0
#clear ipvs tables
/sbin/ipvsadm -C
#set LVS  Server
/sbin/ipvsadm -A -t $vip:80 -s rr
/sbin/ipvsadm -a -t $vip:80 -r $rs1:80 -g
/sbin/ipvsadm -a -t $vip:80 -r $rs2:80 -g
#run lvs
/sbin/ipvsadm
因为此实验本负载服务器也提供web服务,所以要在/var/www/html下建立一个测试文件 index.html,然后service httpd start 启动http服务。
二、集群服务器
所有集群服务器忽略ARP回应,在每台群服务器上都要进行如下设置
vi /tmp/lvs.sh
#!/bin/bash
vip=192.168.1.99
/sbin/ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
/sbin/route add -host $vip dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl –p
在 /var/www/html 下新建立一个index.html测试文件,然后 service httpd start启动http服务。
三、测试
在客户端反复访问:http:.//192.168.1.99 如果能轮流显示出 192.168.1.91 和192.168.1.92的http测试文件,即LVS(DR模式)配置完成。
第二部分: NAT 模式配置
OS:   Redhat AS4U4 内核:2.6.9-42
Server1: eth0: 192.168.1.91 (负载服务器对外IP)
eth1: 192.168.3.1
Realserver: 192.168.3.2 (集群服务器)
掩码: 255.255.255.0  网关: 192.168.3.1
实验目的:
在负载服务器上,配置LVS(NAT模式),做web服务器的集群。实现最终用户访问负载服务器的对外IP,负载服务器,将请求分发到集群下的服务器,由集群服务器轮流提供web服务。
负载服务器
需要在此服务器上配置NAT功能,使其eth1网卡所接的3.0网段能够通过它进行与外网进行联系.
需要配置LVS功能,以实现集群功能.
以下是shell文件内容
vi /tmp/lvs-nat.sh
#!/bin/bash
echo "1">/proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
#echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth1 -j MASQUERADE
ipvsadm -C
ipvsadm -A -t 192.168.1.91:80 -s rr
ipvsadm -a -t 192.168.1.91:80 -r 192.168.3.1:80 -m
ipvsadm -a -t 192.168.1.91:80 -r 192.168.3.2:80 -m
ipvsadm -a -t 192.168.1.91:80 -r 192.168.3.3:80 -m
ipvsadm
集群中的节点服务器,只需要将网卡的IP及网关配置好,可以实现负载分担功能.
附: LVS介绍
1.LVS系统结构与特点
使用LVS架设的服务器集群系统从体系结构上看是透明的,最终用户只感觉到一个虚拟服务器.物理服务器之间可以通过高速的LAN或分布在各地的WAN相连。最前端是负载均衡器,它负责将各种服务请求分发给后面的物理服务器,让整个集群表现得象一个服务于同一IP地址的虚拟服务器。
LVS集群系统具有良好的可扩展性和高可用性。
可扩展性是指,LVS集群建立后,可以很容易地根据实际的需要增加或减少物理服务器。而高可用性是指当检测到服务器节点或服务进程出错、失效时,集群系统能够自动进行适当的重新调整系统。
2.LVS是如何工作的
Linux Virtual Server的主要是在负载均衡器上实现的,负载均衡器是一台加了LVS Patch的2.2.x版内核的Linux系统。LVS Patch可以通过重新编译内核的方法加入内核,也可以当作一个动态的模块插入现在的内核中。
负载均衡器可以运行在以下三种模式下中的一种或几种: 1)Virtual Server via NAT(VS-NAT):用地址翻译实现虚拟服务器;2)Virtual Server via IP Tunneling (VS-TUN):用IP隧道技术实现虚拟服务器;3)Virtual Server via Direct Routing(VS-DR):用直接路由技术实现虚拟服务器。
另外,还需要根据LVS应用对物理服务器进行恰当的配置。
以下将分别讲述一下三种模式的工作原理和优缺点。
2.1.Virtual server via NAT(VS-NAT)
Virtual Server via NAT方法的最大优点是集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址。
这种实现方法的最大的缺点是扩展性有限。当服务器节点(普通PC服务器)数据增长到20个或更多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包都需要经过负载均衡器再生。假使TCP包的平均长度是536字节的话,平均包再生延迟时间大约为60us(在Pentium处理器上计算的,采用更快的处理器将使得这个延迟时间变短),负载均衡器的最大容许能力为8.93M/s,假定每台物理服务器的平台容许能力为400K/s来计算,负责均衡器能为22台物理服务器计算。
Virtual Server via NAT能够满足许多服务器的服务性能需求。即使是是负载均衡器成为整个系统的瓶颈,如果是这样也有两种方法来解决它。一种是混合处理,另一种是采用Virtual Server via IP tunneling或Virtual Server via direct routing。如果采用混合处理的方法,将需要许多同属单一的RR DNS域。你采用Virtual Server via IP tunneling或Virtual Server via direct routing以获得更好的可扩展性。也可以嵌套使用负载均衡器,在最前端的是VS-Tunneling或VS-Drouting的负载均衡器,然后后面采用VS-NAT的负载均衡器。
2.2.Virtual server via IP tunneling(VS-TUN)
采用VS-NAT方式,请求与应答包都需要经过负载均衡器,那么当服务器节点增长到20个或更多时,这个负载均衡器就可能成为新的瓶颈。我们发现,许多Internet服务(例如WEB服务器)的请求包很短小,而应答包通常很大。
而使用VS-TUN方式的话,负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直接发给用户。所以,负载均衡器能处理很巨大的请求量,这种方式,一台负载均衡能为超过100台的物理服务器服务,负载均衡器不再是系统的瓶颈。使用VS-TUN方式,如果你的负载均衡器拥有100M的全双工网卡的话,就能使得整个Virtual Server能达到1G的吞吐量。
IP tunneling(IP隧道)能够用于架构一个高性能的virtual server,非常适合构建virtual proxy server,因为当代理服务器收到了请求,能够让最终用户直接与服务器联系。
但是,这种方式需要所有的服务器支持IP Tunneling(IP Encapsulation)协议,我仅在Linux系统上实现了这个,如果你能让其它操作系统支持,还在探索之中。
2.3.Virtual Server via Direct Routing(VS-DR)
就象VS-TUN一下,在VS-DR方式下,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。这种方式能够大大提高Virtual Server的可扩展性。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,但它要求负载均衡器的网卡必须与物理网卡在一个物理段上。
而且VS-DR模式,可以使用大多数操作系统做为物理服务器,其中包括:Linux 2.0.36、2.2.9、2.2.10、2.2.12;Solaris 2.5.1、2.6、2.7;FreeBSD 3.1、3.2、3.3;NT4.0无需打补丁;IRIX 6.5;HPUX11等

转载于:https://blog.51cto.com/lucklong/198815

LVS (DR, NAT)模式应用相关推荐

  1. TiDB 如何在 LVS FULL NAT 模式下显示客户端真实 IP

    原文来源: https://tidb.net/blog/1d65166f [是否原创]是 [首发渠道]TiDB 社区 [正文] 作者: 靳献旗 汽车之家 DBA,TUG 2021 MVA 1.背景 公 ...

  2. 负载均衡集群介绍、LVS介绍、LVS调度算法、 LVS NAT模式搭建

    负载均衡集群介绍 LVS介绍 lvs的NAT模式介绍 这种模式借助iptables的nat表来实现,用户的请求到分发器后,通过预设的iptables规则,把请求的数据包转发到后端的服务器上去,这些服务 ...

  3. 初识LVS(二)——LVS的DR工作模式

    LVS的DR模式介绍 LVS在NAT模式下所有的请求和响应报文都需要经过director,尽管LVS工作在内核层不受套接字文件65535的数量限制,但也有可能会成为性能瓶颈(如视频网站),以下介绍LV ...

  4. LVS负载均衡群集—NAT模式实例

    文章目录 前言 一.群集与分布式 1.1 群集的含义 1.2 系统性能扩展方式 1.3 群集的三种类型 1.4 LVS的负载调度算法 1.5 分布式系统 1.6 集群和分布式 1.7 负载均衡群集架构 ...

  5. LVS DR模式负载均衡

    高并发场景 LVS 安装及高可用实现 分类: 运维基本功,故障解决 转载自 惨绿少年   https://www.cnblogs.com/clsn/p/7920637.html 1.1 负载均衡介绍 ...

  6. LVS负载均衡和nat模式的实操

    LVS理论和实操 一.企业群集应用概述 1.群集的含义 2.问题 3.解决方法 总结: 二.集群的分类 三.负载均衡群集架构 四.LVS负载均衡群集工作模式分析 1.负载均衡群集是目前企业用得最多的群 ...

  7. lvs 负载均衡原理及其配置之 nat 模式

    转载:http://www.cnblogs.com/liwei0526vip/p/6370103.html 一.lvs 基本介绍 LVS是 Linux Virtual Server 的简称,也就是Li ...

  8. 初识LVS(一)——LVS介绍和LVS的NAT工作模式

    LVS介绍 集群按照类型划分可以分为:LB负载均衡型:HA高可用型:HP高性能型.LVS(linux virtual machine)是一款国人编写用于LB负载均衡型被收录进Linux内核的工具.LV ...

  9. Linux系统(四)LVS集群负载均衡NAT模式

    序言 提到LVS,就从章文嵩博士开始吧,反正也不知道如何下笔来写这一篇.章大博士,读博时候创建这个lvs软件项目,但是他提倡开源精神,在用户的建议和反馈中,这个花了他两周时间开发的开源软件不断得到改建 ...

最新文章

  1. 直播活动丨BMMeetup第1期:大模型Prompt Tuning技术,8场学术报告和Poster提前下载...
  2. Android selector
  3. SpringBoot(二)——实现一个基本的小网站
  4. 【USACO15DEC】最大流Max Flow
  5. 解决Shockwave flash在谷歌浏览器上崩溃的问题
  6. 关于MyEclips新导入项目报错问题,解决方法!(基础)
  7. 2015.10.13课堂
  8. adb shell 直接修改Settigns中设置项
  9. Windows打印机驱动开发笔记(二)
  10. java有哪些部分要学_java需要学习哪些知识
  11. 系统学习深度学习(十三)--Batch Normalization
  12. MySQL建表语句综合
  13. MySQL+Navicat安装教程
  14. android仿百度新闻,【Android】最新主流新闻app功能实现。仿网易,搜狐等新闻客户端实现展示...
  15. 2022年工具钳工(技师)最新解析及工具钳工(技师)试题及解析
  16. thinkpadt410接口介绍_转:联想ThinkPad T410笔记本DisplayPort接口详解
  17. windows禁用f1按键
  18. LeetCode 234.回文联表 Java
  19. 阿里云因Ak泄露,被攻击处理过程
  20. 分布式系统的十二个目标

热门文章

  1. CSharpGL(43)环境映射(Environment Mapping)-天空盒(Skybox)反射(Reflection)和折射(Refraction)...
  2. windows开了远程控制访问老提示密码账号不正确
  3. oozie案例——自定义MapReduce workflow
  4. HL7 ADT Message Sample
  5. deb和rmp的安装
  6. 献给老师,我的编程之路
  7. 数据的规范化,归一化,标准化,正则化
  8. 知识图谱如何让智能金融“变魔术”
  9. 如何直观的解释back propagation算法?
  10. 只用一招,让你Maven依赖下载速度快如闪电