基于linux下lvs之NAT模型的架构

Virtual server via NAT(VS-NAT)

优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址。

缺点:扩展性有限。当服务器节点(普通PC服务器)数据增长到20个或更多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包都需要经过负载均衡器再生。假使TCP包的平均长度是536字节的话,平均包再生延迟时间大约为60us(在Pentium处理器上计算的,采用更快的处理器将使得这个延迟时间变短),负载均衡器的最大容许能力为8.93M/s,假定每台物理服务器的平台容许能力为400K/s来计算,负责均衡器能为22台物理服务器计算。

解决办法:即使是是负载均衡器成为整个系统的瓶颈,如果是这样也有两种方法来解决它。一种是混合处理,另一种是采用Virtual Server via IP tunneling或Virtual Server via direct routing。如果采用混合处理的方法,将需要许多同属单一的RR DNS域。你采用Virtual Server via IP tunneling或Virtual Server via direct routing以获得更好的可扩展性。也可以嵌套使用负载均衡器,在最前端的是VS-Tunneling或VS-Drouting的负载均衡器,然后后面采用VS-NAT的负载均衡器。

LVS-NAT模型实现负载均衡的工作方式

NAT模型其实就是通过网络地址转换来实现负载均衡的,它的工作方式几乎跟DNAT一 模一样的,目前的DNAT只能转发到一个目标地址,早期的DNAT是可以将请求转发到多个目标的,在LVS出现之后就将此功能从DNAT种去掉了,下面来 说说NAT模型的工作方式或者说NAT模型是怎么实现负载均衡的,根据上图,
1.用户请求VIP(也可以说是CIP请求VIP)
2,Director Server 收到用户的请求后,发现源地址为CIP请求的目标地址为VIP,那么Director Server会认为用户请求的是一个集群服务,那么Director Server 会根据此前设定好的调度算法将用户请求负载给某台Real Server ;假如说此时Director Server 根据调度算法的结果会将请求分摊到RealServer1上去,那么Director Server 会将用户的请求报文中的目标地址,从原来的VIP改为RealServer1的IP,然后再转发给RealServer1
3,此时RealServer1收到一个源地址为CIP目标地址为自己的请求,那么RealServer1处理好请求后会将一个源地址为自己目标地址为CIP的数据包通过Director Server 发出去,
4.当Driector Server收到一个源地址为RealServer1 的IP 目标地址为CIP的数据包,此时Driector Server 会将源地址修改为VIP,然后再将数据包发送给用户,

实验环境:

物理机: 172.25.254.55       192.168.55.1

Server1:LVS服务器(DIP)172.25.254.1       (VIP)192.168.55.2

server2:172.25.254.2   

server3:  172.25.254.3

Server1:

[root@server1 ~]# yum install ipvsadm -y     //安装服务

[root@server1 ~]# ip addr add 192.168.55.2/24   dev   eth1  /VIP

[root@server1 ~]# ip addr                          //查看

[root@server1 ~]# vim /etc/sysctl.conf    //开启本地路由转发

Net.ipv4.ip_forward = 1

[root@server1 ~]# sysctl -p    //重新加载

Server2:

[root@server2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 

添加GETEWAY=172.25.254.1        //网关为server1的ip 

[root@server2 ~]# /etc/init.d/network restart        //重启网络

[root@server2 ~]# /etc/init.d/httpd start     //开启apache

[root@server2 ~]# vim  /var/www/html/index.html

bbs.westos.org

Server3 

[root@server3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 

添加GETEWAY=172.25.254.1        //网关为server1的ip 

[root@server3 ~]# /etc/init.d/network restart    //重启网络

[root@server3 ~]# /etc/init.d/httpd start            //开启apache

vim  /var/www/html/index.html

www.westos.org-----server3

[root@server3 ~]#  netstat -antle                  //查看监听端口

Server1:

Server1   172.25.26.1   172.25.26.100(vip)

[root@server1 ~]#  ipvsadm -A -t 192.168.55.2:80 -s rr    

[root@server1 ~]#  ipvsadm -a -t 192.168.55.2:80 -r 172.25.254.2 -m  1   (-m nat)

[root@server1 ~]#  ipvsadm -a -t 192.168.55.2:80 -r 172.25.254.3 -m  2

[root@server1 ~]#  ipvsadm -ln

物理机:172.25.254.55   196.168.55.1

[root@foundation71 ~]# curl  192.168.55.2

bbs.westos.org

[root@foundation71 ~]# curl  192.168.55.2

www.westos.com -server2     

     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值