将大文件推送到500多台计算机


24

我与一个团队合作管理500-600台出租的Windows 7计算机,用于年度会议。我们需要将大量数据同步到这些计算机,最多1 TiB。这些计算机分为多个房间,并通过非托管的千兆位交换机连接。我们会在Windows安装和配置中提前准备好这些计算机,再加上在将基本映像发送给出租公司进行复制之前我们可以使用的所有文件。每年,我们都会使用演示者的方法处理多达数千个数据,这些数据需要被推送到将要演示的房间中。有时,它们只有几个小尺寸的文件,例如幻灯片PDF,但可以有时会大于5 GiB。

我们当前推送这些文件的策略是使用批处理脚本和RoboCopy。对于大型推送,我们实际上使用BitTorrent客户端生成一个torrent文件,然后使用batch-RoboCopy将torrent推送到受安装的BT客户端监视的远程计算机上的文件夹中。通常,此数据需要在很小的时间范围内立即推送。我们在控制室中有几台机器,这些机器与用于这些推动的地板上的机器相同。

有时我们需要在远程计算机上执行程序,并且当前我们使用批处理和PSexec来处理此任务。

我们希望能够以“对不起,您自己的错”对这些最后一刻做出回应,但不会发生。BT方法使我们有更快的响应时间,但是当有多个作业被推送时,整个批处理过程可能会变得混乱。我们将Enterprise Ghost用于其他流程,但在如此大规模的环境中效果不佳,此外,对于像这样的每年一次的任务,它确实非常昂贵。

编辑:严格要求地板上的远程计算机运行Windows。控制机器对操作系统没有严格要求。由于上游路由器的复杂性,我真的想远离多播。组播或BitTorrent是进行此操作的更好方法吗?还有另一种可能更好用的协议吗?


3
作为一个写得很好的问题,我很难说购物问题在任何Stack Exchange网站上都是热门话题。请参阅问题解答,了解更多信息,请放手购物常见问题解答
克里斯·S

I would really like to stay away from Multicast because of complications with upstream routers.您能详细说明为什么吗?
Zoredache

2
老实说,除了研究组播解决方案之外,您自己开发的BitTorrent和PSExec流程听起来像是您可以做到的最好。为了美观/自动化,您可能需要在其周围包装一些PowerShell,但这是我可以给您的最佳建议...
voretaq7 2012年

@ Zoredache-老实说,部分原因是我对组播没有足够的经验。我已经处理过Ghost和多播,并且还没有真正取得很好的结果。上游设备属于我们与之签约的设施,我们已经在某些位置与一些非常困难的IT团队打交道。我不希望他们的任何员工都知道什么是组播。
WMIF

@ voretaq7-我已经考虑过在我们的结构上放置一个接口,但是在powershell中很难实现它。学习PS对我来说很痛苦,主要是因为它与结构化语言的行为截然不同。如果我在其上放置一个接口,则很有可能在C#中。
WMIF

Answers:


12

您确实确实想要一个多播文件传输程序:UFTP它还具有不错的文档和NAT /路由器穿越的代理样式扩展。


我仍在查看您提供的链接的文档,但尚未看到任何有关低级多播内容的信息。我的意思是,这是否仍依赖于在某个链路上的路由器中建立的多播集合点?我依靠该位置来提供我的网关,因此我没有自己的中央路由器可以提供此功能。UFTP是否可以通过某种方式在软件中进行仿真?
WMIF

这是我在处理多播时经常获得的结果类型,以及为什么我声明我希望远离它。serverfault.com/questions/56487/…–
WMIF

我不熟悉该问题的软件或硬件,但是我在设置中没有遇到过类似的问题。组播将以最慢的客户端速度运行,因此,如果客户端速度具有不同的“层”,则可能希望为每个层运行多个组播会话(尽管这不会影响最终完成时间,只是允许更快的计算机完成更快)。中间交换机和路由器必须支持多播,代理可以在一定程度上缓解这种情况,但是如果您想提高性能,则需要可靠/有能力的网络基础架构。
克里斯·S

此问题的基础结构所涉及的交换机都是不受管理的。每个位置的路由器都不同,我不能保证它们支持多播。有没有一种方法可以让我自己的路由器挂在一边,但仍然可以参与其中的多播部分?我问是因为我认为不可能。
WMIF 2012年

管理不会直接影响多播的交换支持。所有1GB以太网交换机都必须支持多播(尽管旧的且价格便宜的交换机将其实现为广播,从而完成了工作);较旧的交换机通常已经这样做了。缺乏路由器支持的原因是您需要代理设置(每个多播隔离的网段一个)。显然,使用支持多播的路由器将是最简单的,但是配置代理并不可怕(除非有很多代理)。
克里斯·S

5

您可能想调查谋杀案

谋杀是一种使用Bittorrent将文件分发到生产环境中的大量服务器的方法。这样就可以在成百上万的服务器环境中进行规模化,快速的部署,而在这些环境中集中式分发系统将无法正常运行

Murder是由Twitter上的人们开发的,他们每天都在使用它来分发文件。


4

可能出现了一个新的解决方案:BitTorrent Sync

以后的编辑:实际上,这些天我可能会推荐git-annex助手syncthing,但是有很多 选择


我认为在这个用例中不仅是另一个,而且是一个很好的!
Argeman

我同意。我在/上找到了这个。我目前正在设置一些测试方案,以查看它是否能像听起来那样好。
WMIF

我刚刚对BT Sync进行了大规模测试,发现它使用239.192.0.0进行多播广播式流量。我无法控制网络基础结构,因此无法完全分析,但是这导致出站互联网流量显着增加。再加上一些一般的文件同步不匹配问题,它导致了足够多的问题,我不得不将其关闭。不幸的是,它可以在少于50台计算机的较小规模上正常运行。
WMIF

1

我可能对您有个帮助的想法。原谅我,因为我不完全理解为什么这需要这么复杂,但是如果您的需求是使最终用户保持简单,同时又使数据能够快速,轻松地到达LAN内部,那么您可以选择一个NAS设备。我有一个Synology DS1812 +,它可以与另一个Synology驱动器或各种具有RSYNC功能的设备进行RSYNC,它具有一个名为“ Download Station”的洪流应用程序,我知道您可以从驱动器托架中下载洪流文件,并且我相信您也可以创建或在该应用程序中发布种子文件,以允许其他人下载所需的文件。它具有适用于Apple和Android的移动设备的应用程序。它还可以进行FTP传输。该驱动器托架使您能够快速向其发送文件,然后将其快速轻松地分散到局域网中。我建议将数据放置在LAN中只是为了使LAN用户可以更快地访问它们,但是这些NAS设备的优点在于,只要它们具有快速的Internet连接,就可以将它们放置在任何地方。高端Synology NAS设备之一可能会非常适合您的需求。

Synology有一个虚拟界面,您可以仔细查看一下,以了解是否对您有用。我将下面的链接粘贴到虚拟界面

http://www.synology.com/products/dsm_livedemo.php?lang=us

该设备还使人们能够通过Web界面或移动设备应用程序访问其数据。

我希望这会有所帮助,就像我说的那样,如果我对问题的理解不正确,请原谅我。


1
我不确定这比他现在做的更好。WMIF不必等待用户自己开始获取数据;他/她的团队应将数据文件预备到计算机上,以供他们使用。
mfinni 2012年

@mfinni是正确的。工作是要确保在与会者进入会议室之前,我们所给的文件都已全部加载到会议地板的计算机上。
WMIF
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.