设为首页 收藏本站
查看: 933|回复: 0

[经验分享] LVS基础

[复制链接]

尚未签到

发表于 2017-4-18 10:20:34 | 显示全部楼层 |阅读模式
1. LVS的结构

  LVS方式的cluster从结构上可分为两部分:前端的负载均衡器(称之为director)和后端的真实服务器(称之为real server)。cluster前端的director将来自外界的请求调度到cluster后端不同的real server去执行。real server负责真正的提供各种应用服务,比如:Web、FTP、Mail等服务。real server的数量可以根据实际需求进行增加、减少。

  2. LVS的三种包转发方式

  LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不同的转发模式决定了不同的cluster的网络结构,下面对三种转发方式分别介始:

  NAT(网络地址映射)

  NAT方式可支持任何的操作系统,以及私有网络,并且只需一个Internet IP地址,但是整个系统的性能受到限制。因为执行NAT每次需要重写包,有一定的延迟;另外,大部分应用有80%的数据是从服务器流向客户机,也就是用户的请求非常短,而服务器的回应非常大,对负载均衡器形成很大压力,成为了新的瓶颈。

  IP Tunneling(IP隧道)

  director分配请求到不同的real server。real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。IP Tunneling技术极大地提高了director的调度处理能力,同时也极大地提高了系统能容纳的最大节点数,可以超过100个节点。real server可以在任何LAN或WAN上运行,这意味着允许地理上的分布,这在灾难恢复中有重要意义。服务器必须拥有正式的IP地址用于与客户机直接通信,并且所有服务器必须支持IP隧道协议。

  Direct Routing(直接路由)

  与IP Tunneling类似,负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性。Direct Routing与IP Tunneling相比,没有IP封装的开销,但由于采用物理层(修改MAC地址)技术,所有服务器都必须在一个物理网段。

  3. LVS的八种调度算法

  LVS已实现了以下八种调度算法:

  1.轮叫调度(Round-Robin Scheduling)

  2.加权轮叫调度(Weighted Round-Robin Scheduling)

  3.最小连接调度(Least-Connection Scheduling)

  4.加权最小连接调度(Weighted Least-Connection Scheduling)

  5.基于局部性的最少链接(Locality-Based Least Connections Scheduling)

  6.带复制的基于局部性最少链接(Locality-Based Least Connections with Replication Scheduling)

  7.目标地址散列调度(Destination Hashing Scheduling)

  8.源地址散列调度(Source Hashing Scheduling)

  注:如果想了解关于以上几点的技术细节,LVS的主页查询。LVS的主页是:

  http://www.LinuxVirtualServer.org/

  http://www.linux-vs.org/

  了解了LVS的三个要点之后,接下来我们来配置一个采用Direct Routing包转发方式、加权最小连接调度算法的cluster。

  我们知道Direct Routing包转发方式是通过改写请求报文的MAC地址,将请求发送到real server。前台的director机器只需要接收和调度外界的请求,而不需要负责返回这些请求的反馈结果。director机器和real server都有一块网卡连在同一物理网段上。所以我们给出以下的网络拓扑图:

  [myimg]upload/63679.png[/myimg]

  director机器上需要进行如下配置:

  设置好本机的IP:192.168.2.1

  然后执行以下命令:

  ifconfig lo:0 192.168.2.254 netmask 255.255.255.255 broadcast

  192.168.2.254 up

  route add -host 192.168.2.254 dev lo:0

  echo 1 > /proc/sys/net/ipv4/ip_forward

  echo 1 >/proc/sys/net/ipv4/conf/all/hidden

  ipvsadm -C

  ipvsadm -A -t 192.168.2.254:80 -s wlc

  ipvsadm -a -t 192.168.2.254:80 -r 192.168.2.2 -g

  ipvsadm -a -t 192.168.2.254:80 -r 192.168.2.3 -g

  ......

  ipvsadm -A -t 192.168.2.254:21 -s wlc

  ipvsadm -a -t 192.168.2.254:21 -r 192.168.2.2 -g

  ipvsadm -a -t 192.168.2.254:21 -r 192.168.2.3 -g

  ......

  real server机器上需要进行如下配置:

  对于第一台real server(RS1),设置好本机的IP:192.168.2.2 然后执行以下命令:

  ifconfig lo:0 192.168.2.254 netmask 255.255.255.255 broadcast

  192.168.2.254 up

  route add -host 192.168.2.254 dev lo:0

  对于其它real server:RS2、RS3、RS4......,做相类的设定。

  完成以上设置后,所有对192.168.2.254的80端口的访问都会通过director机器分配到后面的real server上去,而real server的处理后结果将直接反馈给客户。至此,我们完成了一个cluster的例子。通过这个例子,相信您也可以轻松地利用Linux架设起一组 cluster来。其实在cluster架设到这里之后,还并不能达到正式应用的要求,实际应用中还有一些问题需要解决,比如要安装监视软件,监视集群的运作,要能及时发现real server的故障并对应调整real server的列表。还有后台real server节点的数据一致性等问题。这些在一些商用的cluster软件产品中就得到了很好的解决,而网络也有一些非商用的软件,比如mon就是这样的系统资源监控程序,可以监控网络服务可用性、服务器问题等,最重要的是mon提供了一个框架,用户可以自行定义和扩展。这些内容请参阅其它文章

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-365745-1-1.html 上篇帖子: LVS 配置 下篇帖子: lvs-dr
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表