LVS的三种模式

★负载均衡
  负载均衡技术是把众多的访问人群以及流量分担到不同的网络设备以及不同的服务器的过程
  以轮循的过程进行数据分流

(1)Cisco以太网通道(思科公司)
(2)Windows NLB技术
(3)Linux LVS技术
(4)F5等负载均衡器

★LVS

LVS有三种模式

(1)NAT技术(network address translation)——来回都要经过LVS调度器

LVS将外界来的数据进行地址转换,转换到相应的服务器

在NAT模式中,LVS的作用既是调度器又是路由器,因为其两端为不同网段的ip

---------------------------------------------------------------------------------

|                                                                  Web Server    |

|                                                                (192.168.10.2)  |

|                                 eth1 192.168.10.1                            |

|    Internet ——————— LVS —————————— 交换机                     |

|             eth0 8.8.8.8                                                     |

|                                                                  Web Server    |

|         公网ip                                   私网ip        (192.168.10.3)  |

---------------------------------------------------------------------------------

通过地址转换,调度器重写请求报文的目标地址为8.8.8.8

LVS根据预设的调度算法将请求分派给后端的真是服务器(192.168.10.2),分派过程采用轮循机制

真实服务器返回数据仍然通过调度器,报文的源地址被重写为8.8.8.8,然后再将数据返回给客户

说明:之所以要进行地址的转换,是因为公网ip与私网ip是严格分隔的,私网ip(192.168.*.*、172.16.*.*、10.*.*.*)永远不会在公网ip中流通

详细配置

  • lvs server

yum install -y ipvsadm*

echo 1 >/proc/sys/net/ipv4/ip_forward(ip转发表,1表示开启了路由功能,成为了一台路由器)

ipvsadm -C 将调度器中以前的转换表清除

ipvsadm -At 8.8.8.8:80 -s rr

(-A 增加一个带有调度算法的转换表 -s 规定调度算法为rr模式 -t TCP通信)

ipvsadm -at 8.8.8.8:80 -r 192.168.10.2:80 -m (-r 增加真实服务器 -m 规定模式为NAT模式)

ipvsadm -at 8.8.8.8:80 -r 192.168.10.3:80 -m

外面的机器可以不配置网关,内部的机器必须配置网关route -n 查看路由表

(2)IP Tun模式

VIP:LVS虚拟服务器具有的ip(200.168.10.10)

RIP:真是服务器具有的ip

VIP(200.168.10.10)在LVS上是配置在eth0上,即一块网卡设置两个ip

在真实服务器是配置ip tun网卡上

-----

| LVS | 200.168.10.1

-----

|

|

-------------               ------                  --------------

|200.168.10.4 |   —————|交换机|————————| 200.168.10.2 |

-------------               ------                  --------------

|

|

------------

|200.168.10.3|

------------

详细配置

  • lvs server配置

ifconfig tunl0 200.168.10.10 netmask 255.255.255.255(255.255.255.255说明网段里只有它一个)

route add -host 192.168.10.10 dev tunl0  防止路由表短缺,人为添加路由表
ipvsadm -C   将所有IP调度转换表清除
ipvsadm -A -t 192.168.10.10:80 -s rr
                                     -t TCP通信 -s 规定为rr模式 伦叫模式
ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.2 -i
ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.3 -i
Ipvsdam      记录调度的痕迹和次数

  • 真实客户端配置(可写成shell脚本)写成脚本后注意修改权限a+x
    ifconfig tunl0 192.168.10.10 netmask 255.255.255.255 up
    route add -host 192.168.10.10 dev tunl0
    echo "1" > /proc/sys/net/ipv4/comf/tunl0/arp_ignore    
    echo "2" > /proc/sys/net/ipv4/comf/tunl0/arp_announce
    echo "1" > /proc/sys/net/ipv4/comf/all/arp_ignore
    echo "2" > /proc/sys/net/ipv4/comf/all/arp_announce
    如果通过计算机网卡进来的ip有责任回应其对应的mac地址
    如果不是通过网卡进来的以外的ip则不回应

(3)Dr模式(直接路由模式)

都必须是公用的ip,将VIP配置到回环接口上

回环接口除了可以做回环测试以外还可以做LVS

VS/DR通过改写请求报文的MAC地址,将请求发送到真实服务器,而真实服务器将响应直接返回给客户,跟ip tun技术一样,DR也可以极大地提高集群系统的伸缩性和吞吐量,这种方法没有ip隧道的开销,对集群中的真实服务器也没有必须支持ip隧道协议的要求,但是要求调度器与真实服务器都有一块网卡连在同一物理网段上。

详细配置

与ip隧道不同的是,VIP不再配置在ip tun网卡上

  • lvs server

ifconfig eth0:0 200.168.10.10 netmask 255.255.255.255

route add -host 192.168.10.10 dev eth0:0 
ipvsadm -C     将所有IP调度转换表清除
ipvsadm -A -t 192.168.10.10:80 -s rr
                                     -t TCP通信 -s 规定为rr模式 伦叫模式
ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.2 -g
ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.3 -g
Ipvsdam        记录调度的痕迹和次数

  • real server

ifconfig lo:0 192.168.10.10 netmask 255.255.255.255 在回环接口上配置
route add -host 192.168.10.10 dev lo:0
echo "1" > /proc/sys/net/ipv4/comf/tunl0/arp_ignore    
echo "2" > /proc/sys/net/ipv4/comf/tunl0/arp_announce
echo "1" > /proc/sys/net/ipv4/comf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/comf/all/arp_announce

★四种常用的伦叫算法

  • 伦叫(rr)

调度器通过“伦叫”调度算法将外部请求数据按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不考虑服务器上实际的连接数和系统负载。

  • 加权伦叫(wrr)

调度器通过“加权伦叫”调度算法根据真实服务器的不同处理能力来调度访问请求。这样可以保证处理能力强的服务器处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态的调整其权值。

  • 最少链接(LC)

调度器通过“最少链接”调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用“最小链接”调度算法可以较好地均衡负载。

  • 加权最少链接(WLC)

在集群系统中的服务器性能差异较大的情况下,调度器采用“加权最少链接”调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动链接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

时间: 04-01

LVS的三种模式的相关文章

LVS/NAT/DR/TUN三种模式

集群简介 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式.集群计算机通常用来改进单个计算机的计算速度和/或可靠性.一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多. 集群就是一组独立的计算机,通过网络连接组合成一个组合来共同完一个任务LVS在企业架构中的位置: 以上的架构只是众多企业里

httpd的三种模式比较

查看你的httpd使用了哪种模式: /usr/local/apache2/bin/httpd -V |grep 'Server MPM' 使用哪种模式,需要在编译的时候指定 --with-mpm=prefork|worker|event 当然也可以编译的时候,让三者都支持: --enable-mpms-shared=all 然后在配置文件中,修改 LoadModule mpm_worker_module modules/mpd_mpm_worker.so 2.2版本默认为worker,2.4版本

Oracle 11g dataguard三种模式以及实时查询(Real-time query)功能设置

之前我们讨论过<Linux Oracle 11g dataguard物理standby 配置过程>, 但是在实际过程中会遇到不同的问题,首先我们讨论下ORACLE DATAGUARD的三种模式, 保护最大化:这种模式的配置可以保证主库和备库的同步,任何情况下主库的损毁都不会导致已提交数据的丢失.如果主库和备库之间的网络出现问题,或者备库本身出现问题,都会导致主库停止数据处理. 可用最大化:这种模式和上面一种类似,也是会保证主库和备库的同步,区别在于,当网络或备库不可用时,主库仍然可以继续处理.

delegate,notifucation,KVO三种模式实现通信的优缺点

在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信.在IOS应用不断的出现三种模式来实现这种通信: 1.委托delegation: 2.通知中心Notification Center: 3.键值观察key value observing,KVO 上面的三种模式是什么? 三种模式都是一个对象传递事件给另外一个对象,并且不要他们有耦合. 三种模式都是对象来通知某个事件发生了的方法,或者更准确的说,是允许其他的对象收到这种事件的方法.这对于

小米、华为与联想,背后隐含的三种模式(转)

1 月 15 号参加了小米产品发布会,正当雷军在台上讲小米 Note 的种种功能时我却突然意识到小米.华为.联想的拼杀到了 2015 年已经完全进入到了一个新的阶段.在功能和体验上诚然大家会激烈的彼此追赶但其实已经拉不开太多的距离,最终决定胜负的很可能是手机背后所体现出来的模式.这很像一场国战,胜负不再取决于一城一地而是取决于综合国力. 小米.华为与联想背后隐含的商业模式 虽然最终呈现给用户的手机是类似的,但就我看来这三家背后隐含的模式却是有本质不同. 联想是经典的经营管理派.这一派的基本逻辑是

hadoop学习;自己定义Input/OutputFormat;类引用mapreduce.mapper;三种模式

hadoop切割与读取输入文件的方式被定义在InputFormat接口的一个实现中.TextInputFormat是默认的实现,当你想要一次获取一行内容作为输入数据时又没有确定的键.从TextInputFormat返回的键为每行的字节偏移量,但眼下没看到用过 曾经在mapper中曾使用LongWritable(键)和Text(值),在TextInputFormat中,由于键是字节偏移量.能够是LongWritable类型,而当使用KeyValueTextInputFormat时,第一个分隔符前后

Hive 之元数据库的三种模式

Hive 介绍 http://www.cnblogs.com/sharpxiajun/archive/2013/06/02/3114180.html Hive的数据类型和数据模型 http://www.cnblogs.com/sharpxiajun/archive/2013/06/03/3114560.html Hive内表与外表详述 http://www.aboutyun.com/thread-7458-1-1.html Hive的体系结构 http://blog.csdn.net/zhoud

APP开发的三种模式

APP开发的三种模式:Native App .web App.hybrid App 1.原生app 使用原生app (android或iOS)开发APP.. 技术: Native技术主要用于提供原生支持,要做到跨平台,就需要掌握部分Android和iOS的知识,除了多线程,文件存储等基础知识,Android需要非常熟练的掌握WebView.WebSettings.WebChromeClient.WebClient四大对象.iOS需要非常熟练掌握UIWebView对象. 缺点:技术多,门槛高.无法

高性能服务器——I/O多路转接的三种模式(select &poll& epoll)

一.简单的服务器I/O模型 最简单的的TCP服务器,有三种模式: 1.单执行流,一个server端连接一个client端 2.多进程,一个server端通过多进程的方式,每个进程连接一个client端 3.多线程,一个server端通过多进程的方式,每个线程连接一个client端 (http://zhweizhi.blog.51cto.com/10800691/1830267) 这里实现过 要提升服务器性能,其实就是想要让一个server端能在负载允许的情况下,连接尽可能多的client端. 因