2234yuj 发表于 2014-9-19 10:09:22

负载均衡lvs+keepalived 配置1

试验机三台:
director server:192.168.1.22
vip:192.168.1.25
real server1:192.168.1.23
real server2:192.168.1.24
查看内核是否为2.6以上,我的三台机器环境均为:centos5.5 kernels2.6.18,通过http://www.linuxvirtualserver.org/software/ipvs.html下载对应版本,我当时下载的是:ipvsadm-1.24.tar.gz
1.安装
#tar -zxvf ipvsadm-1.24.tar.gz
#make(make不成功有可能与下载的ipvs版本与内核不一致导致,可使用:
ln -s /usr/src/kernels/2.6.9-42.EL-i686//usr/src/linux)
#make install (也就几s)
#ipvsadm --help 查看是否有配置选项,如:

#ifconfig eth0:0 192.168.1.25 broadcast 192.168.1.25回车
>netmask 255.255.255.255 up
此处在eth0设备上绑定了一个虚拟设备eth0:0,同时设置了一个虚拟IP是192.168.1.25,也就是上面我们规划的IP地址,然后指定广播地址也为192.168.1.25,需要特别注意的是,这里的子网掩码为255.255.255.255。

然后给设备eth0:0指定一条路由,执行如下指令:
#route add -host 192.168.1.25 dev eth0:0

启用IP转发:

#echo "1" >/proc/sys/net/ipv4/ip_forward
清除虚拟内核服务器中的记录

#ipvsadm -C

#ipvsadm -A -t 192.168.1.25:80 -s rr -p 600
以上表示在内核的虚拟服务器列表中添加一条192.168.1.25的虚拟服务器记录,并且指定此虚拟服务器的服务端口为80,然后指定此虚拟服务器的调度策略为轮询调度,并且在每个real server上的持续服务时间为600秒,即10分钟。
#ipvsadm -a -t 192.168.1.25:80 -r 192.168.1.23:80 -g
#ipvsadm -a -t 192.168.1.25:80 -r 192.168.1.24:80 -g

以上两条设置表示在虚拟服务器192.168.1.25中添加两条新的Real Server记录,两个Real Server的IP分别为192.168.1.23和192.168.1.24,参数“-g”指定了虚拟服务器的工作模式为直接路由模式,即DR模式。
这样设置完毕后,当用户访问192.168.1.25的80服务时,LVS会根据设置的调度策略和路由模式将请求分配到192.168.1.23以及192.168.1.24的80端口。

Real server 的配置
分别在192.168.1.213/24设置
回环设备上绑定了一个虚拟IP地址,并设定其子网掩码为255.255.255.255,与Director Server上的虚拟IP保持互通
#ifconfig eth0:0 192.168.1.25 broadcast 192.168.1.25 netmask 255.255.255.255 up
然后分别通过几台内网机子测试访问192.168.1.25


在director通过ipvsadm查看连接状态



另外需要在rea服务器上设置脚本停止与启动,方便加载vip联通:
#!/bin/bash
#description : Start Real Server
VIP=192.168.1.25
./etc/rc.d/init.d/functions
case "$1" in
    start)
      echo " Start LVSofReal Server"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
      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
      ;;
    stop)
      /sbin/ifconfig lo:0 down
      echo "close LVS Director server"
      echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
      echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
      echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
      echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
      ;;
    *)
      echo "Usage: $0 {start|stop}"
      exit 1
esac


页: [1]
查看完整版本: 负载均衡lvs+keepalived 配置1