架构图

 

 

LVS DR 配置_第1张图片

 

架构说明:

Vmware上实现,一共需要3台虚拟机。物理机模拟客户端。配置RR轮询的调度方法以便显示效果

 

Director主机配置

 

   (1)、检测系统内核是否支持ipvs

 

[root@bogon ~]# grep -i "ipvs" -A 5 /boot/config-2.6.32-573.el6.x86_64
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
--
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
--
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_PE_SIP=m
 
#

 

     只要IPVS transport protocol load balancing support都是y,说明ipvs已经支持在这些协议工作

     注意:2.4.262.6.4及以后的kernel版本内核已经默认支持IPVS


   (2)、安装ipvsadm

     yum -y install ipvsadm

 

(3)、Director地址配置:

VIP地址: 192.168.61.100

DIP地址: 192.168.93.133

ifconfig eth0:0 192.168.61.100 netmask 255.255.255.255 broadcast 192.168.61.100 up

route add -host 192.168.61.100 dev eth0:0

 

(4)、调度策略配置:

ipvsadm -A -t 192.168.61.100:80 -s rr

ipvsadm -a -t 192.168.61.100:80 -r192.168.61.130 -g

ipvsadm -a -t 192.168.61.100:80 -r192.168.61.132 -g

 

(5)、打开转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

或编辑配置文件修改,使它永久生效(dr模型中要改的几个参数也可以写在这个文件):

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p 让它立即生效

 

(6)、清空防火墙及关闭selinux以防干扰:

setenforce 0

iptables -F

 

RS1主机配置


   (1)、配置内核参数 

    cd /proc/sys/net/ipv4/conf  

     这里每个接口都有相应的目录,一般修改all和lo,all表示所有接口都生效,为了万无一失,所以把all也定义了


 如果只需要临时生效:

 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

     echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

     echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

 

 如果需要永久生效,vim /etc/sysctl.conf添加:

  net.ipv4.conf.all.arp_ignor=1

      net.ipv4.conf.lo.arp_ignor=1

  net.ipv4.conf.all.arp_announce=2

  net.ipv4.conf.lo.arp_announce=2

  然后让它立即生效 sysctl -p


(2)、地址配置:

ifconfig eth0 192.168.61.130 up  临时设定,要永久生效就修改网卡配置文件

ifconfig lo:0 192.168.61.100 netmask 255.255.255.255 broadcast 192.168.61.100 up 作用是限定它返回客户端的源地址是VIP

route add -host 192.168.61.100 dev lo:0 如果目标地址是这个地址,必须通过lo:0这个接口进来,保证响应报文源地址是VIP

 

(3)、web服务配置:

yum -y install httpd

echo RS1 > /var/www/html/index.html

service httpd restart

 

(4)、清空防火墙及关闭selinux以防干扰

setenforce 0

iptables -F


   (5)、最后检查

    物理机上ping vip地址,应该是通的,如果RS没配置内核参数就设置了vip地址,ping的话就会乱了,都会有响应,配好后Ping的
      话只有Director的vip响应。可以在物理机上用arp -a 查看得到的172.168.100.7的mac地址,对应的是Directory上的mac地址


注意:按顺序,先在RS上配置内核参数,再配置vip地址, 


RS2主机配置:

   (1)、配置内核参数 

    cd /proc/sys/net/ipv4/conf  

     这里每个接口都有相应的目录,一般修改all和lo,all表示所有接口都生效,为了万无一失,所以把all也定义了


 如果只需要临时生效:

 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

     echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

     echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

 

 如果需要永久生效,vim /etc/sysctl.conf添加:

  net.ipv4.conf.all.arp_ignor=1

      net.ipv4.conf.lo.arp_ignor=1

  net.ipv4.conf.all.arp_announce=2

  net.ipv4.conf.lo.arp_announce=2

  然后让它立即生效 sysctl -p


(2)、地址配置:

ifconfig eth0 192.168.61.132 up  临时设定,要永久生效就修改网卡配置文件

ifconfig lo:0 192.168.61.100 netmask 255.255.255.255 broadcast 192.168.61.100 up 作用是限定它返回客户端的源地址是VIP

route add -host 192.168.61.100 dev lo:0 如果目标地址是这个地址,必须通过lo:0这个接口进来,保证响应报文源地址是VIP

 

(3)、web服务配置:

yum -y install httpd

echo RS1 > /var/www/html/index.html

service httpd restart

 

(4)、清空防火墙及关闭selinux以防干扰

setenforce 0

iptables -F


   (5)、最后检查

    物理机上ping vip地址,应该是通的,如果RS没配置内核参数就设置了vip地址,ping的话就会乱了,都会有响应,配好后Ping的
      话只有Director的vip响应。可以在物理机上用arp -a 查看得到的172.168.100.7的mac地址,对应的是Directory上的mac地址


 

在物理机上访问测试

http://192.168.61.100/index.html 

不断刷新,RS1和RS2的index.html页面会轮流显示,因为用的rr调度算法