在配置LVS-DR模式之前,先规划好IP地址,IP地址如下:

VIP:10.224.252.120

DIP:10.224.252.123

RealServer1:10.224.252.132

RealServer2:10.224.252.133

为了更好的理解LVS-DR模式数据流向,在此将LVS-DR模式的流程图贴出来。

LVS-DR模式配置

一.LVS负载均衡器的配置

1.源码编译安装ipvsadm

由于我们的机器是最小化安装的,在源码编译安装ipvsadm之前,需要安装内核文件。

[[email protected] src]# yum install kernel-devel gcc gcc-c++

ipvsadm源码包可以从LVS英文站点下载,网址如下:

http://www.linuxvirtualserver.org/software/index.html

将内核文件链接到/usr/src/linux目录下

源码编译安装ipvsadm

[[email protected] src]# ln -s /usr/src/kernels/2.6.18-348.el5-x86_64/ /usr/src/linux/
[[email protected] src]# tar xvzf ipvsadm-1.24.tar.gz
[[email protected] src]# cd ipvsadm-1.24
[[email protected] ipvsadm-1.24]# make && make install

2.绑定VIP地址到Director的eth0上

[[email protected] ~]#ifconfig eth0:1 10.224.252.120 netmask 255.255.255.0 broadcast 10.224.252.120 up

二.RealServer的配置

1.绑定VIP地址到RealServer的lo0上

[[email protected] ~]#ifconfig lo:0 10.224.252.120 netmask 255.255.255.255 broadcast 10.224.252.120
[[email protected] ~]#route add -host 10.224.252.120 dev lo:0

2.调整内核参数,抑制arp

[[email protected] ~]#echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[[email protected] ~]#echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[[email protected] ~]#echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[[email protected] ~]#echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

在RealServer上,配置好WEB服务和WEB页面,确认每台RealServer上的WEB页面可以正常访问。每台RealServer都需要配置以上两步,以上配置都是及时生效的,重启会丢失相关的配置。

三.LVS的配置

使用ipvsadm命令定义VIP,RIP和相应的调度算办法

[[email protected] ~]# ipvsadm -A -t 10.224.252.120:80 -s wlc
[[email protected] ~]# ipvsadm -a -t 10.224.252.120:80 -r 10.224.252.132 -w 1 -g
[[email protected] ~]# ipvsadm -a -t 10.224.252.120:80 -r 10.224.252.133 -w 2 -g

参数解释:

-A:新增一个虚拟服务

-t:指tcp服务

-s:指定调度算法

-a:添加RealServer到虚拟服务中

-r:RealServer的IP地址

-w:设置权重

-g:LVS-DR模式

保存并查看LVS的配置

[[email protected] ~]# service ipvsadm save
Saving IPVS table to /etc/sysconfig/ipvsadm:               [  OK  ]
[[email protected] ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.224.252.120:80 wlc
  -> 10.224.252.133:80            Route   2      0          0   
  -> 10.224.252.132:80            Route   1      0          0

总结:1.Director和RealServer必须处于同一网段

     2.Director需要在eth0上绑定VIP地址,不需要添加路由

     3.RealServer需要在lo0上绑定VIP地址,需要添加路由。网关指向上层路由器的IP地址。

     4.RealServer需要调整内核参数,抑制arp。

     5.LVS-DR模式不支持端口映射。