关于LVS DR(Direct Root)模式
DR 模式要求Director 和 RealServer在同一个网段上边, 用户通过VIP来访问我们服务, Director 接到用户的请求后, 会将请求的目标mac改为其中的一台Realserver上边,这样RealServer接收到请求处理之后就直接将内容返回给用户, 不用再走DirectorServer了.
机器准备
DirectServer: 192.168.1.200
RealServer1: 192.168.1.202
RealServer2: 192.168.1.203
VIP: 192.168.1.200
两台realserver 上边都配置好静态IP,搭好了 lnmp , 具体如何配置静态IP和搭建和本文关心重点没有太大关系, 暂且按下不表.
安装lvs
代码如下 | 复制代码 |
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz tar -zxvf ipvsadm-1.24.tar.gz cd ipvsadm-1.24 ln -s /usr/src/kernels/2.6.32-431.11.2.el6.x86_64/ /usr/src/linux #一定一定要加这么个软链, 否则编译的时候找不到linux内核会报错 make |
make install
安装完成之后, 敲命令 ipvsadm
说明安装成功, 妥妥地
配置Director
创建文件 /etc/init.d/lvsdr, 并赋予执行权限:
代码如下 | 复制代码 |
#!/bin/sh VIP=192.168.1.201 RIP1=192.168.1.203 RIP2=192.168.1.202 . /etc/rc.d/init.d/functions case "$1" in start) echo " start LVS of DirectorServer" # set the Virtual IP Address ifconfig eth3:0 $VIP/24 #/sbin/route add -host $VIP dev eth3:0 #Clear IPVS table /sbin/ipvsadm -c #set LVS /sbin/ipvsadm -A -t $VIP:80 -s rr # (如果需要session保持添加-p 默认保持300秒) /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g #/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 –g #Run LVS /sbin/ipvsadm #end ;; stop) echo "close LVS Directorserver" /sbin/ipvsadm -c ;; *) echo "Usage: $0 {start|stop}" exit 1 esac |
执行: /etc/init.d/lvsdr start 启动
再ifconfig 看一下 eth3 上边已经绑了两个IP: 192.168.1.200 和 192.168.1.201
配置RealServer
新建文件 /etc/init.d/realserver 并赋予执行权限
代码如下 | 复制代码 |
#!/bin/sh VIP=192.168.1.201 . /etc/rc.d/init.d/functions case "$1" in start) echo " start LVS of RealServer" echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce echo 2 > /proc/sys/net/ipv4/conf/eth2/arp_announce echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/eth2/arp_ignore service network restart ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP route add -host $VIP dev lo:0 #end ;; stop) echo "close LVS Realserver" service network restart ;; *) echo "Usage: $0 {start|stop}" exit 1 esac /etc/init.d/realserver |
启动, ifconfig 看一下 lo的网卡上边已经把虚IP给绑上去了!
测试
每一台realserver上放不同的内容, 然后通过vip访问: http://192.168.1.201
时间: 2024-10-24 15:08:18