TOUVE 发表于 2017-4-18 10:42:09

lvs-dr实验搭建

  环境:
  lvs director:    10.57.220.198:80    Ubuntu 10.04 LTS  vmware 虚拟机
  real server1 10.57.220.195:80    Ubuntu 11.10  nginx服务器
  real server2 10.57.220.20:80     Ubuntu 11.10  nginx服务器
  虚拟ip(vip):10.57.220.144
  1、下载 ipvsadm
  分别在3台机器上下载
  apt-get install ipvsadm
  2、ipvsadm设置
  dpkg-reconfigure ipvsadm
  第一个选no       (automatically load ipvs rules on boot?)
  第二个选none
  3、配置脚本
  1)director脚本
  lvs-dr.sh
  #!/bin/bash
  echo "1" > /proc/sys/net/ipv4/ip_forward
  IPVSADM='/sbin/ipvsadm'
  VIP=10.57.220.144
  RS1=10.57.220.20
  RS2=10.57.220.195
  ifconfig eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up
  route add -host $VIP dev eth0:1
  $IPVSADM -C
  $IPVSADM -A -t $VIP:81 -s rr
  $IPVSADM -a -t $VIP:81 -r $RS1:81 -g -w 1
  $IPVSADM -a -t $VIP:81 -r $RS2:81 -g -w 1
  chmod 777 lvs-dr.sh
  2)realserver脚本
  所有realserver相同
  lvs-rs.sh
  #!/bin/bash
  #Description : RealServer
  #Write by:hugwww
  #Last Modefiy:2009.1.24
  VIP=10.57.220.144
  /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
  /sbin/route add -host $VIP dev lo:0
  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
  sysctl -p
  #end
  chmod 777 lvs-rs.sh
  4、执行、测试
  分别在三个机器上执行相应脚本
  注意事先启动。nginx 服务器
  firfox访问  10.57.220.144:81
  可用ipvsadm -ln查看状态
  5、注意问题
  防火墙要关闭,linux下是iptables
  各服务器 端口一致,否则不通。比如都是80端口,不能有的是80,有的是81。
  本案例中vip和真实ip都是在同一网段,vip可以和real ip不同网段,可参考章博士的回答  http://zh.linuxvirtualserver.org/node/155。负载调度器只要有一个网口和真实服务器是通过不分段的网络连接起来就可以。真实服务器可以通过自己的路由器将响应报文发送给客户。
页: [1]
查看完整版本: lvs-dr实验搭建