首页 > Web开发 > 详细

LVS实现FTP的上传流量的负载均衡

时间:2018-05-10 23:15:01      阅读:392      评论:0      收藏:0      [点我收藏+]
工作中遇到上百台机器向一个集群环境(大约10台机器)上传文件的场景,想到了使用LVS来做ftp服务器的负载均衡。

但是NAT模式下请求、响应报文都要经过Director Server,在高负载的场景下Director Server的就会成为瓶颈。而虽然DR模式和TUN模式下响应报文是不经过Director Server的,但是对应大数据量的文件上传任务来说主要,瓶颈主要在于请求报文带来的大流量,怎么能将请求报文中的大流量分散到集群各节点?

想到使用FTP被动模式下的数据链路ip地址跳转功能,对于vsftp来说对应参数pasv_address。将该地址配置为LVS集群的real server的ip地址(ftp服务器的本机地址)。这样ftp客户端通过21端口经过LVS的Director Server连通控制链路后,会使用real server的ip地址连通数据链路。

因为数据链路不经过LVS的Director Server,而是直接通过数据链路链接各个集群的节点的FTP服务器,所以不论执行上传下载任务都可以实现负载均衡的目的。

注意点:因为vsftp对于数据链接和控制链路中报文中目的IP地址不一致的情况校验,会直接向FTP客户端返回RST消息终止数据链路的连接,对这种情况可以通过iptables修改数据链路中到达real server的报文中的目的IP为Director Server,以实现躲避校验的目的:

            iptables -t nat -A PREROUTING -p tcp -dport ${pasv_min_port}:${pasv_max_port} -j DNAT --to_destination ${VIP}

LVS实现FTP的上传流量的负载均衡

原文:http://blog.51cto.com/11091005/2115025

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!