玩转LVS,快速实现负载均衡

模型一:NAT模型的配置

实验环境:

采用VMware虚拟机,版本6.0.5

操作系统:Red Hat Enterprise Linux 5 (2.6.18)

虚拟机1:充当Director:网卡1(桥接):192.168.0.33(对外),网卡2(Vmnet):10.0.0.1(对内)

虚拟机2:充当RS1:IP:10.0.0.11

虚拟机3:充当RS2:IP:10.0.0.12

设置工作环境:

  1. # 在Director上安装ipvsadm
  2. yum install ipvsadm 
  1. # 在RS1和RS2上这样配置
  2. yum install httpd mysql-server php php-mysql php-mbstring 
  3. route add default gw 10.0.0.1 
  4. hostname localhost 
  1. # 在RS1上配置网页
  2. echo 

    RealServer1” /var/www/html/index.html 

  1. # 在RS2上配置网页
  2. echo 

    RealServer2” /var/www/html/index.html 

  1. # 分别在RS1和RS2上开启服务
  2. server httpd start 
  1. # 在Director上开启路由转发功能
  2. echo /proc/sys/net/ipv4/ip_forward 
  1. 在Director上配置ipvs的定义:使用模式以及算法 
  2. ipvsadm -A -t 192.168.0.33:80 -s rr 
  3. ipvsadm -a -t 192.168.0.33:80 -r 10.0.0.11 -m 
  4. ipvsadm -a -t 192.168.0.33:80 -r 10.0.0.12 -m 
  5. ipvsadm -L -n 

clip_image002

于是我们进入浏览器,进入主机看是否响应

clip_image004

我们发现当我们刷新的时候,的确出现了不同的页面,也就是我们的系统在内部的确实现了调度

clip_image006

回到终端,查看我们ipvsadm的状态。发现的确它的InActConn值很平均,的确在按照RR算法进行调度

clip_image008

改为WLC算法,查看权重信息:

  1. 在Director上修改算法以及权重信息  
  2. ipvsadm -E -t 192.168.0.33:80 -s wlc  
  3. ipvsadm -e -t 192.168.0.33:80 -r 10.0.0.11 -m -w  ## 权重定义为3:1  
  1. 我们在另一台主机上使用Apache自带的ab命令进行压力测试 
  2. ab -c 10 -n 10000 http://192.168.0.33/index.html 

查看检测内容:

clip_image010

 

改为sed算法,查看的效果,的确如Sed算法特点的那样加大大权重的使用率,于是……

clip_image012

 

同理修改为NQ算法的效果,在权重比相差悬殊的情况下不让权重高的一直响应而导致低权重的完全空闲的机制

clip_image014

 


模型二:DR模型的配置

实验环境:

采用VMware虚拟机,版本6.0.5

操作系统:Red Hat Enterprise Linux 5 (2.6.18)

虚拟机1:Director:

DIP配置在接口上 172.16.19.10

VIP配置在接口别名上:172.16.19.1

虚拟机1:RS1:RIP配置在接口上:172.16.19.11 ;VIP配置在lo别名上

虚拟机2:RS2:RIP配置在接口上:172.16.19.12 ;VIP配置在lo别名上

  1. # 我们在Director上这样配置
  2. ifconfig eth0 172.16.19.10/16 
  3. ifconfig eth0:0 172.16.19.1 broadcast 172.16.19.1 netmask 255.255.255.255 up 
  4. route add -host 172.16.19.1 dev eth0:0 
  5. echo /proc/sys/net/ipv4/ip_forward 
  1. RS1和RS2配置属于自己的ip之后都要:定义内核参数,禁止响应对VIP的ARP广播请求 
  2. echo /proc/sys/net/ipv4/conf/lo/arp_ignore 
  3. echo /proc/sys/net/ipv4/conf/all/arp_ignore 
  4. echo /proc/sys/net/ipv4/conf/lo/arp_announce 
  5. echo /proc/sys/net/ipv4/conf/all/arp_announce 
  1. 配置VIP 
  2. ifconfig lo:0 172.16.19.1 broadcast 172.16.19.1 netmask 255.255.255.255 up 
  3. 凡是到172.16.19.1主机的一律使用lo:0响应 
  4. route add -host 172.16.19.1 dev lo:0  
  1. 在Director上配置Ipvs 
  2. ipvsadm -A -t 172.16.19.1:80 -s wlc 
  3. ipvsadm -a -t 172.16.19.1:80 -r 172.16.100.11 -g -w 
  4. ipvsadm -a -t 172.16.19.1:80 -r 172.16.100.12 -g -w 
  5. ipvsadm -Ln 

clip_image002[6]

我们对172.16.19.1访问查看wlc算法的实现结果

clip_image004[5]

OK,通过这样的实现,我想已经可以完整的明白LVS的理论实现过程了。

如果还有什么疑问,欢迎提出,我会一一解答,并且补充到博客中去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值