Chinaunix首页 | 论坛 | 博客
  • 博客访问: 435716
  • 博文数量: 95
  • 博客积分: 7012
  • 博客等级: 少将
  • 技术积分: 1127
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-13 22:49
文章存档

2010年(5)

2009年(43)

2008年(47)

我的朋友

分类: LINUX

2008-05-20 14:21:25

           
            linux 负载均衡之DR(Direct Routing)模式
 上篇主要介绍了linux负载均衡的原理知识:
 从今天起开始实际的操作:
实验环境介绍:
centos 5.1 三台 (用虚拟机一样)
其中
  Load Balance(负载均衡器) eth0:192.168.0.231
  Virtual IP(虚拟服务器):  192.168.0.239 
  RealServer1(真实服务器):192.168.0.232
  RealServer2(真实服务器):192.168.0.233 
  nameserver: 192.168.0.254
 gateway: 192.168.0.254
   首先检查kernel 是否已经包含 ipvs 模块 (2.6.18以上都有)
  #modprobe -l |grep ipvs
  如果看到如下,就可以了,如果没有还要重编内核,选上ipvs 模块。
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_wlc.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_dh.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_sed.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_wrr.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_lc.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_rr.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_nq.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_lblcr.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_ftp.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_sh.ko
  /lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_lblc.ko

 一、 首先配置Load Balance:
  1、开启路由机制
    #echo 1 > /proc/sys/net/ipv4/ip_forward
    要永久修改要修改sysctl.conf
      vi /etc/sysctl.conf
      把net.ipv4.ip_forward = 0 改成 net.ipv4.ip_forward = 1
      然后重新启动生效
  2、安装ipvsadm 并配置
  下载 ipvsadm-1.24.tar.gz
  下载地址:
   
下面开始编译安装:
    建立内核快捷方式:ln -s /usr/src/kernels/2.6.18.53.e15-i686 (一定要否则会报错)我用的是centos 5.1
    解压ipvsadm:
    tar -zxf ipvsadm-1.24.tar.gz
    安装ipvsadm:
    cd ipvsadm-1.24
    make
    make install
  3、安装好以后开始设置
    #ipvsadm -A -t 192.168.0.139:80 -s rr
     //添加一个虚拟服务记录并绑定调度算法为 rr 轮询方式 (上篇里有)
    #ipvsadm -a -t 192.168.0.239:80 -r 192.168.0.232:80 -g
     //在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录并指定LVS 的工作模式为直接路由模式(即DR方式)
     #ipvsadm -a -t 192.168.0.239:80 -r 192.168.0.233:80 -g
      //同上
   4、保存配置
    #ipvsadm ——save > /etc/sysconfig/ipvsadm
   5、绑定虚拟ip:
     #ifconfig eth0:1 192.168.0.239 netmask 255.255.255.0
二、RealServer(真实服务器)设置
   1、绑定ip:
     #ifconfig eth0:1 192.168.0.239 netmask 255.255.255.0
  2、关闭ARP广播响应 
    #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
   
 最后别忘了开启httpd服务哦(在真实服务器上应该先做好)
 要确认能够访问
    第二台RealServer 一样就可以了
三、 测试
    把两个web 的页面设置的不同。然后
反复的刷新网页每次都是不一样表示成功。因为负载均衡器使用的是rr模式(轮询模式)所以。。。不同
    呵呵!!!
在IE 下如果不切换的话
cmd
arp -d   //清空缓存
 
    一个简单的负载均衡实验就算告一段落!!!
下篇待续。。。
  
阅读(2565) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~