tun方式的负载均衡集群设置举例
创始人
2024-06-29 09:41:15
0次

前面我们学习了nat的负载均衡集群的配置过程,接下来就是另一种配置方式了——lvs/tun的设置过程。同样,我们通过对TUN的理解和架构的介绍,来完成脚本的设置。还望大家可以做一个对比学习,之后还有一种设置方式,敬请期待。

设定LVS/TUN方式的负载均衡集群

TUN是指IP Tunneling,它的转发流程是:Director机器收到外界请求,按相应的调度算法将其通过IP隧道发送到相应Real Server,Real Server处理完该请求后,将结果数据包直接返回给客户。至此完成一次负载调度。

最简单的LVS/TUN方式的负载均衡集群架构下图所示。

LVS/TUN使用IP Tunneling技术,在Director机器和Real Server机器之间架设一个IP Tunnel,通过IP Tunnel将负载分配到Real Server机器上。Director和Real Server之间的关系比较松散,可以是在同一个网络中,也可以是在不同的网络中,只要两者能够通过IP Tunnel相连就行。收到负载分配的Real Server机器处理完后会直接将反馈数据送回给客户,而不必通过Director机器。实际应用中,服务器必须拥有正式的IP地址用于与客户机直接通信,并且所有服务器必须支持IP隧道协议。

LVS/TUN方式的集群简图
 
 
LVS/TUN方式的集群简图

这里将所有LVS的配置命令写到一个可执行脚本,脚本内容如下:

  1. #!/bin/bash  
  2. # Close IP Forwarding  
  3. echo 0 > /proc/sys/net/ipv4/ip_forward  
  4. ifconfig  eth0 down  
  5. ifconfig eth0 192.168.0.253 netmask 255.255.255.0 broadcast 192.168.0.255 up  
  6. ifconfig eth0:0 192.168.0.254 netmask 255.255.255.255 broadcast 192.168.0.254 up  
  7. ipvsadm -C  
  8. ipvsadm -A -t 192.168.0.254:80 -s wlc  
  9. ipvsadm -a -t 192.168.0.254:80 -r 192.168.0.1 -i -w 3  
  10. ipvsadm -a -t 192.168.0.254:80 -r 192.168.1.201 -i -w 1  
  11. ipvsadm 

#p#将上面的脚本保存为/root/lvs_tun.sh。然后加上可执行属性,执行它:

  1. # chmod a+x /root/lvs_tun.sh  
  2. # /root/lvs_tun.sh 

运行此脚本之后应该出现如下信息:

  1. # ./lvs-tun.sh  
  2. IP Virtual Server version 1.0.9 (size=4096)  
  3. Prot LocalAddress:Port Scheduler Flags  
  4.   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn  
  5. TCP  192.168.0.254:http wlc  
  6.   -> 192.168.1.201:http Tunnel 1 0  0  
  7.   -> 192.168.0.1:http   Tunnel 1 0  0 

 
另外在每台Real Server上还要执行如下的命令:

  1. ifconfig tunl0 192.168.0.254 netmask 255.255.255.255 broadcast 192.168.0.254 up  
  2. route add -host 192.168.0.254 dev tunl0  
  3. echo 1 > /proc/sys/net/ipv4/conf/all/hidden  
  4. echo 1 > /proc/sys/net/ipv4/conf/tunl0/hidden 

注意Real Server的内核必须打上修正ARP问题的内核补丁,如Linux2.4.20的内核是hidden-2.4.20pre10-1.diff,编译内核的方法参见Director机器。

通过本例来简单评价一下LVS/TUN负载均衡集群方式。该方式中Director将客户请求分配到不同的Real Server,Real Server处理请求后直接回应给用户,这样Director就只处理客户机与服务器的一半连接,极大地提高了Director的调度处理能力,使集群系统能容纳更多的节点数。另外TUN方式中的Real Server可以在任何LAN或WAN上运行,这样可以构筑跨地域的集群,其应对灾难的能力也更强,但是服务器需要为IP封装付出一定的资源开销,而且后端的Real Server必须是支持IP Tunneling的操作系统。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...