前言: 

 本文章转自我的个人博客 http://www.anyisalin.com 欢迎大家访问 




LVS-NAT FLow Chart

 

实验环境介绍

共有三台服务器,如下:

       LVS-Director:外网IP 192.168.1.107  内网IP 172.16.100.1

       LVS-RS1IP 172.16.100.8 netmask  255.255.255.0 gateway172.16.100.1

       LVS-RS2IP 172.16.100.9 netmask  255.255.255.0 gateway172.16.100.1

       注意:三台服务器处于同一网段中

 

实验配置

分别配置LVS-RS1LVS-RS2 Web服务器

LVS-RS1

yum install httpd 
service httpd start
setenforce 0
echo “This is LVS-RS1 ” >/var/www/html/index.html


LVS-RS2

yum install httpd
service httpd start
setenforce 0
echo “This is LVS-RS2 ” > /var/www/html/index.html


 

配置LVS-director使用LVS-NAT类型,Round Robin的调度方式使两台服务器实现负载均衡

LVS-Director

       grep -I “IP_VS”/boot/config #查看当前内核是否编译了ipvs模块
       启用IP转发,echo 1> /proc/sys/net/ipv4/ip_forward       #如果想永久生效需写入/etc/sysctl.conf文件中
       yum install ipvsadm      #安装lvs命令行管理工具
       service iptables stop     #关闭iptables,由于iptables和ipvs不能同时开启
       service ipvsadm start    #启用ipvsadm进程
       ipvsadm -A -t  192.168.1.107 -s rr          #添加一个虚拟服务地址,使用rr(RoundRobin)调度方式
       ipvsadm -a -t 192.168.1.107 -r172.16.100.8 -m       #添加一台realserver,以MASQUERADE的方式运行
       ipvsadm -a -t 192.168.1.107 -r172.16.100.9 -m        #添加一台realserver,以MASQUERADE的方式运行


测试:

       使用其他主机访问

                                               

       使用ab命令进行测试

      

       查看当前LVS状态

      

       由此可以得知,rr调度方式是均衡转发

 

实际应用中,不同服务器可能性能有所差异,需考虑权重,故使用WeightRound Robin 的调度方法

LVS-Director

       ipvsadm -E-t 192.168.1.107:80 -s wrr    #修改虚拟服务器的调度方式为wrr
       ipvsadm -e -t 192.168.1.107:80 -r172.16.100.8 -m -w 3  #将RS1的权重设置为3
       ipvsadm -e -t 192.168.1.107:80 -r172.16.100.9 -m -w 1  #将RS2的权重设置为1


测试

       使用其他主机访问

        

       使用ab命令进行测试

         

       查看当前LVS状态

          

       由此可以得知,wrr的调度方式中,权重越大即优先转发