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

工作中遇到上百台机器向一个集群环境(大约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}

转载于:https://blog.51cto.com/11091005/2115025

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值