使用HA-Proxy对Windows文件共享进行负载平衡

通过DFS拉我的头发后,我只是有这个奇怪的和潜在的危险的想法进入我的头,只是可能,我可能能够使用HA代理负载平衡服务器之间的文件共享

我已经做了一些补救性的数据包跟踪,它似乎是TCP端口445是唯一参与使用Windows文件共享。 我一直认为多年来,UDP 139,135等也至less涉及build立连接 – 但显然不是!

所以我设置了一个基本的testing:

listen SMBTest *:445 mode tcp server Smb1 172.16.61.201:445 server Smb2 172.16.61.202:445 

而你永远不会猜测什么…它的作品? (!)

现在显然是有关文件服务器之间的同步(当然)的整体关切。 这可以很容易地与一点点的Robocopy脚本照顾。

考虑到我只需要一个HA只读文件共享,就不会有任何关于文件locking等问题。

  • 谁能告诉我,我在这里玩的是火吗? 我真的不认为它会起作用,现在我有点震惊。
  • 缺点是什么?
  • 这可以依靠生产环境吗?

文件复制比你先想象的要困难得多。

文件复制通常不能很好地扩展。 当您处理的文件数量超过50万或更多时,您将开始发现问题,或者副本比进行同步需要更长的时间,因此您需要将会话粘贴更长时间,并减less副本之间的间隔或复制较less的文件。

从我所了解的有关您的特定工作量的信息来看,这可能对您仍然适用。 你说文件共享是只读的,这导致我相信你更新大批量的数据。 Robocopy在这种情况下可能会很慢,但是由于变化的时间间隔太长,这可能是一个可以接受的风险。

由于HAProxy在此设置中为第4层负载均衡器提供了比较智能,因此使用第4层负载均衡器也可能更为有利,因为它们通常会在高负载下处理更多的吞吐量和更less的延迟。 这可能不适用于你的问题,但需要思考。

如果你需要function和性能(如需要密切同步的r / w共享),那么这将无法正常工作。 如果您认为将来需要使用此数据集,请仔细考虑您的解决scheme,因为到那时您的数据集的大小可能是TB级,而您不希望处于必须将其废弃并重新上传到新解决scheme。