使用LVS-NAT+ipvsadm实现RHEL 5.7上的服务集群

示意图如下:

说明:

本文集群配置是在VMware虚拟机里实现,是对web服务进行负载均衡集群。

在实际工作中,reserver1realserver2web服务的网页数据是一模一样的,本文为了突出实验效果,故意设置成不同的网页,请注意,在实际工作中,一定要让realserver1realserver2的网页数据保持一致。

共需要三台虚拟linux主机,分别命名为DirectorRS1RS2

其中director

eth0 : 172.16.22.1   网卡选择为桥接

eth1 : 192.168.22.1  网卡选择为仅主机

RS1:

eth0 : 192.168.22.22  网卡选择为仅主机

RS2 :

eth0 : 192.168.22.23 网卡选择为仅主机

确保windows的防火墙以及虚拟机里的三台虚拟linux主机的防火墙完全关闭

 

具体实现过程:

1.director主机上:

查看内核是否支持ipvs以及安装定义ipvs规则的工具:ipvsadm

  1. # ifconfig eth0 172.16.22.1 255.255.0.0 
  2. # ifconfig eth1 192.168.22.1 255.255.255.0 
  3. # grep –i  “vs” /boot/config-2.8.18-164.e15 
  4. # yum install ipvsadm –y 
  5. # vim /etc/selinux/config 
  6. # setenforce 0 
  7. # cat /proc/sys/net/ipv4/ip_forward  #查看是否开启转发 
  8. # sysctl –w net.ipv4.ip_forward=1 

2.RS1主机上:

  1. # ifconfig eth0 192.168.22.22 255.255.255.0 
  2. # route add default gw 192.168.22.1 
  3. # ping 192.168.22.1  
  4. # setenforce 0 
  5. # rpm –ivh httpd-2.2.3-31.el5.i386.rpm 
  6. #echo 
  7. “rs1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111” > /var/www/html/index.html 
  8. # service httpd start 
  9. # elinks -dump http://192.168.22.22  #测试本机是否可以访问web服务 

说明:此时本机可以正常访问web服务。

3.RS2主机上:

  1. # ifconfig eth0 192.168.22.22 255.255.255.0 
  2. # route add default gw 192.168.22.1 
  3. # ping 192.168.22.1 
  4. # setenforce 0 
  5. # rpm –ivh httpd-2.2.3-31.el5.i386.rpm 
  6. #echo “rs2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222” > /var/www/html/index.html 
  7. # service httpd start 
  8. # elinks –dump http://192.168.22.23  #测试本机是否可以访问web服务 

 

说明:此时本机可以正常访问web服务。

4.director主机上添加ipvs规则,实现负载均衡集群:

  1. # ipvsadm –A –t 172.16.22.1:80 –s rr 
  2. # ipvsadm –a –t 172.16.22.1:80 –r 192.168.22.22 –m 
  3. # ipvsadm –a –t 172.16.22.1:80 –r 192.168.22.23 –m 
  4. # # ipvsadm –L -n 

 

注意:虚拟机的VMnet1ip改为和RS1RS2在一个网段即可。

如图:把方框内的IP地址改为和RS1RS2在一个网段:

5.测试web负载均衡集群

windows浏览器中输入:http://172.16.22.1,出现:

刷新一下,则出现:

此时我们对web服务的负载均衡集群已经实现了(由于我们设置的调度方法是rr:轮叫,所以这两个realserver的网页是交替出现的,具体调度方法请看:http://lihuan.blog.51cto.com/4391550/832560)。

 

补充知识:

ipvsadm 命令的常用选项:

              -A 定义新的集群服务

              -E 修改或编辑已存在的集群服务

              -D 删除某集群服务 –D t|u|f service-address

              -C 清空所有的集群服务的定义和realserver定义

              -R = ipvsadm-restore   重新载入规则

              -S = ipvsadm-save      保存规则

              -L|l 列出当前定义的集群服务,加上-c选项,显示连接详情

              -Z--zero  清空所有服务

              --status 输出统计信息

              --rate 输出统计速率

              例:# ipvsadm –L –n