如何在RedHatLinux上实现集群负载均衡(2)

发表于:2007-07-04来源:作者:点击数: 标签:
3.1修正realserver上可能的arp problem 注意的问题:这里所说的修正系统的arp problem主要是针对realserver使用 linux 操作系统,而且转发方式为VS/DR和VS/TUN的情况。这是因为在使用VS/DR和VS/TUN的时候,会需要一块网卡上绑定两个IP的情况,但linux在kern

  3.1修正realserver上可能的arp problem
  
  注意的问题:这里所说的修正系统的arp problem主要是针对realserver使用linux操作系统,而且转发方式为VS/DR和VS/TUN的情况。这是因为在使用VS/DR和VS/TUN的时候,会需要一块网卡上绑定两个IP的情况,但linux在kernel 2.2.14以后就将eth0:1的NOARP FLAG关闭,这使得eth0:1仅仅是eth0的别名,任何对eth0:1的操作都对eth0有效,因此如果此时使eth0:1 NOARP,则也使得eth0 NOARP,这样整个网卡都不会收到数据包,所以要修正系统的arp problem,使eth0:1不响应arp请求,同时eth0仍能接受数据包。有关Arp问题的详细内容请参见:LVS-HOWTO-arp problem。
  
  由表1可以看出对应不同的转发方式,realserver上可以使用的操作系统也是不同的,而linux和windows 2000 server则是所有转发方式都支持的操作系统,作者在本文中也是分别以这两种操作系统为例予以介绍。
  
  修正realserver上可能的arp problem时,根据转发方式和操作系统的不同分为如下几种情况:
  
  3.1.1 VS/NAT方式
  
  不论操作系统选择linux还是windows 2000 server,对系统不需要做任何修改。
  
  3.1.2 VS/DR和VS/TUN方式
  
  realserver使用linux操作系统,对系统的修改如下:
  
  1) 下载所需的软件包
  
  从kernel ftp site得到standard kernel linux-2.4.18.tar.gz,;从Julian's patches and software page得到hidden-2.4.5-1.diff
  
  2)重新编译内核,修正arp problem
  
  把linux-2.4.18.tar.gz解压倒/usr/src目录,生成了/usr/src/linux目录;(如果生成的是/usr/src/linux-2.4.18*目录,则要在/usr/src下建立一个连接 ln –s linux-2.4.18* linux)
  
  把hidden-2.4.5-1.diff放到/usr/src/linux下,用命令patch -p1 < hidden-2.4.5-1.diff对kernel进行patch
  
  进入/usr/src/linux目录,依次执行make mrproper、make menuconfig(可以把安装时的配置文件copy到/usr/src/linux中:cp /boot/config-2.4.* /usr/src/linux/.config,再编译)、make dep、 make clean、make bzImage、make modules、make modules_install
  
  3)启用新内核(与2.4节相同)
  
  realserver使用windows 2000 server操作系统
  
  不需对系统本身作修改,但要在配置时(图5中步骤③)屏蔽arp响应,具体方法在3.2.2中介绍。
  
  3.2 配置LVS
  
  对LVS的配置分为在director上的设置和在realserver上的设置,而对于不同的转发方式:VS/NAT、VS/DR 、VS/TUN,这些设置也有所不同。
  
  3.2.1使用VS/NAT方式
  
  1)网络拓扑(如图6)
  
 javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">

  
图6
"
  2)Director上执行的设置(以Telnet服务, 轮叫(rr)策略为例)
  
 

  3)Realserver上的设置"
  
  ⑴使用Linux操作系统,执行如下命令
  
 

  ⑵使用windows" 2000 server操作系统,则只要把默认网关设置成192.168.1.9
  
  3.2.2使用VS/DR方式
  
  1)网络拓扑(如图7)
  
 

  
图7
"
  2)Director上执行的设置(以Telnet服务, 轮叫(rr)策略为例)
  
 

  3)Realserver上的设置"
  
  ⑴使用Linux操作系统(patch过hidden-2.4.5-1.diff),执行如下命令
  
 

  ⑵使用windows" 2000 server操作系统
  
 

  3.2.3使用VS/TUN方式"
  
  1)网络拓扑(如图8)
  
 

  
图" 8

  2)Director上执行的设置(以Telnet服务, 轮叫(rr)策略为例)
  
 

  3)Realserver上的设置"
  
  ⑴使用Linux操作系统(patch过hidden-2.4.5-1.diff),执行如下命令
  
 

  ⑵使用windows" 2000 server操作系统
  

  技巧:在上文设置过程中给出的命令都可以改写成符合init语法的标准脚本,并加入到/etc/init.d/rc.local中,这样在每次系统启动时都可以自动运行进行设置了。"
  
  4.总结
  本文中所讨论的负载均衡其实只是集群应用中的一个方面,其它的集群应用还包括高性能计算集群、高可用性集群等,而每种应用都涉及到很多具体的技术,希望能和大家共同交流,一同推动集群技术的应用和发展。

原文转自:http://www.ltesting.net