Frage Große Dateien an mehr als 500 Computer übertragen


Ich arbeite mit einem Team, um 500-600 gemietete Windows 7 Computer für eine jährliche Konferenz zu verwalten. Wir haben eine große Menge an Daten, die mit diesen Computern synchronisiert werden müssen, bis zu 1 TiB. Die Computer sind in Räume unterteilt und über nicht verwaltete Gigabit-Switches miteinander verbunden. Wir bereiten diese Computer im Voraus mit der Windows-Installation und -Konfiguration sowie mit allen Dateien vor, die uns zur Verfügung stehen, bevor wir das Basis-Image zur Vervielfältigung durch das Vermietunternehmen senden. Jedes Jahr haben wir Presenter vor Ort mit bis zu Gigs von Daten, die in den Raum, in dem sie präsentiert werden, geschoben werden müssen. Manchmal haben sie nur ein paar Dateien, die kleine Größen sind, wie eine Folie PDF, aber können manchmal viel größer sein> 5 GiB.

Unsere aktuelle Strategie zum Verschieben dieser Dateien ist die Verwendung von Batch-Skripten und RoboCopy. Für die großen Pushs verwenden wir einen BitTorrent-Client, um eine Torrent-Datei zu generieren, und dann verwenden wir den Batch-RoboCopy, um den Torrent in einen Ordner auf den Remote-Computern zu schieben, der von einem installierten BT-Client überwacht wird. Oft müssen diese Daten sofort mit einem kleinen Zeitfenster gedrängt werden. Wir haben mehrere Maschinen in einem Kontrollraum, die mit den Maschinen auf dem Boden identisch sind, die wir für diese Stöße benutzen.

Gelegentlich müssen wir ein Programm auf den Remote-Computern ausführen, und derzeit verwenden wir Batch und PSexec, um diese Aufgabe zu bewältigen.

Wir würden gerne in der Lage sein, auf diese Last-Minute-Pushs mit "Entschuldigung, Ihre eigene Schuld" zu reagieren, aber es wird nicht passieren. Die BT-Methode hat uns eine viel schnellere Antwortzeit ermöglicht, aber der gesamte Batch-Prozess kann unordentlich werden, wenn mehrere Jobs gepusht werden. Wir verwenden Enterprise Ghost für andere Prozesse und es funktioniert nicht gut in diesem großen Maßstab, und es ist wirklich ziemlich teuer für eine einmal im Jahr stattfindende Aufgabe wie diese.

BEARBEITEN: Es gibt eine harte Anforderung, dass die Remote-Computer auf dem Boden Windows ausführen. Die Steuerungsmaschinen haben keine harte Betriebssystemanforderung. Ich würde wirklich gerne von Multicast wegen Komplikationen mit Upstream-Routern bleiben. Ist Multicast oder BitTorrent der bessere Weg, dies zu tun? Gibt es ein anderes Protokoll, das möglicherweise besser funktioniert?


23
2017-10-11 20:55


Ursprung


Als eine gut geschriebene Frage schmerzt es mich zu sagen, dass Shopping-Fragen auf jedem der Stapeltausch Websites. Sehen Q & A ist schwer, los geht's Einkaufen und das FAQ für mehr Details. - Chris S
I would really like to stay away from Multicast because of complications with upstream routers. Können Sie näher erläutern warum? - Zoredache
Ehrlich gesagt, abgesehen von dem Ausgraben einer Multicast-Lösung klingt Ihr hauseigener BitTorrent- und PSExec-Prozess nach dem Besten, was Sie tun können. Vielleicht möchten Sie etwas PowerShell um es hübsch / Automatisierung wake wickeln, aber das ist über den besten Vorschlag, den ich Ihnen geben kann ... - voretaq7
@ Zoredache- Ehrlich gesagt liegt es teilweise daran, dass ich nicht genug Erfahrung mit Multicast habe. Ich habe mich mit Ghost und Multicast beschäftigt und habe nicht wirklich gute Ergebnisse erzielt. Die Upstream-Ausrüstung gehört zu der Anlage, mit der wir Verträge abschließen, und wir haben an einigen Standorten einige ziemlich schwierige IT-Gruppen behandelt. Ich würde nicht erwarten, dass einer ihrer Mitarbeiter überhaupt weiß, was Multicast ist. - WMIF
@ Voretaq7- Ich habe überlegt, eine Schnittstelle über unsere Struktur zu setzen, aber ich würde es schwer haben, es in Powershell zu tun. Es war schmerzhaft für mich, PS zu lernen, vor allem, weil es sich von den strukturierteren Sprachen sehr unterscheidet. Wenn ich eine Schnittstelle darüber setze, wäre es höchstwahrscheinlich in C #. - WMIF


Antworten:


Sie möchten wirklich ein Multicast File Transfer Programm: UFTP, mit anständiger Dokumentation und Erweiterungen im Proxt-Stil für NAT / Router Traversal auch.


11
2017-10-11 21:01



Ich schaue immer noch über die Dokumentation für den Link, den Sie gegeben haben, aber ich sehe noch keine Erwähnung der Multicast-Sachen der unteren Ebene. Damit meine ich, ist dies immer noch darauf angewiesen, dass der Multicast-Rendezvous-Punkt in irgendeinem Router in der Kette eingerichtet wird? Ich verlasse mich auf den Standort, um mein Gateway bereitzustellen, also habe ich keinen eigenen zentralen Router, der diese Funktion bereitstellen kann. Hat UFTP eine Möglichkeit, das in der Software zu emulieren? - WMIF
Dies ist die Art von Ergebnissen, die ich oft im Multicast-Bereich bekomme, und warum ich gesagt habe, dass ich mich davon fernhalten möchte. serverfault.com/questions/56487/ ... - WMIF
Ich bin nicht mit der Software oder Hardware dieser Frage vertraut, aber ich habe solche Probleme in meinen Setups nicht erlebt. Multicast wird mit der Geschwindigkeit des langsamsten Clients ausgeführt. Wenn Sie also unterschiedliche "Schichten" von Client-Geschwindigkeiten haben, möchten Sie möglicherweise mehrere Multicast-Sitzungen für jede Schicht ausführen (wirkt sich nicht auf die endgültige Abschlusszeit aus), ermöglicht jedoch schnellere Computer früher). Die Zwischen-Switches und -Router müssen Multicast unterstützen, Proxies können dies bis zu einem gewissen Grad abschwächen, aber wenn Sie Leistung benötigen, benötigen Sie eine zuverlässige / fähige Netzwerk-Infrastruktur. - Chris S
Die für die Infrastruktur dieser Frage beteiligten Switches sind alle nicht verwaltet. Die Router werden für jeden Standort unterschiedlich sein, und ich kann nicht garantieren, dass sie Multicast unterstützen. Gibt es einen Weg, dass ich meinen eigenen Router zur Seite hängen lassen könnte, aber immer noch mit dem Multicast-Teil davon beteiligt wäre? Ich frage, weil ich es nicht für möglich halte. - WMIF
Das Management hat keinen direkten Einfluss auf eine Switching-Unterstützung für Multicast. Alle 1GB-Ethernet-Switches werden benötigt, um Multicast zu unterstützen (obwohl alte und besonders billige es als Broadcast implementieren, was die Arbeit erledigt); Ältere Switches haben das in der Regel schon gemacht. Das Fehlen der Router-Unterstützung ist der Grund, warum Sie Proxies einrichten müssen (eine für jedes Multicast-isolierte Netzwerksegment). Natürlich ist die Verwendung von Routern, die Multicast unterstützen, am einfachsten, aber die Konfiguration von Proxies ist nicht schrecklich (es sei denn, es gibt eine große Anzahl von ihnen). - Chris S


Vielleicht möchten Sie sich das ansehen Mord

Mord ist eine Methode, mit der Bittorrent verwendet wird, um Dateien auf eine große Anzahl von Servern innerhalb einer Produktionsumgebung zu verteilen. Dies erlaubt   für skalierbare und schnelle Bereitstellung in Umgebungen von Hunderten bis Zehner   Tausende von Servern, wo zentrale Vertriebssysteme nicht   sonst Funktion

.

Murder wurde / wird von den Leuten bei. Entwickelt Twitterund sie verwenden es täglich, um Dateien zu verteilen.


4
2017-10-19 07:18





Eine neue Lösung könnte erschienen sein: BitTorrent Synchronisierung

Spätere Bearbeitung: Eigentlich würde ich diese Tage wahrscheinlich empfehlen Git-Annex Assistent oder Synchronisieren aber da sind viele  Alternativen


3
2018-04-24 08:00



Nicht nur ein anderer, sondern ein sehr guter in diesem Anwendungsfall, denke ich! - Argeman
Genau. Ich habe das am / gefunden. und ich richte gerade einige Testszenarien ein, um zu sehen, ob es so gut funktioniert wie es klingt. - WMIF
Ich habe gerade einen großen Test mit der BT-Synchronisierung durchgeführt und festgestellt, dass 239.192.0.0 für Multicast-Broadcast-Verkehr verwendet wird. Ich hatte keine Kontrolle über die Netzwerkinfrastruktur, sodass ich nicht vollständig analysieren konnte, aber dies führte zu einem merklichen Anstieg des ausgehenden Internetverkehrs. Kombiniert mit einigen allgemeinen Problemen bei der Dateisynchronisierung, und es verursachte genug Probleme, dass ich es herunterfahren musste. Leider, weil es in einem kleineren Maßstab weniger als 50 Computer funktionierte. - WMIF


Ich könnte eine Idee für dich haben, die helfen würde. Verzeihen Sie mir, weil ich nicht ganz verstehe, warum das so komplex sein muss, aber wenn es für den Endnutzer einfach ist, die Daten schnell und einfach in einem LAN zu erreichen, könnten Sie vielleicht mit einem NAS-Gerät. Ich habe eine Synology DS1812 + RSYNC mit einem anderen Synology-Laufwerk oder verschiedene RSYNC-fähige Geräte, es hat eine Bit-Torrent-fähige Anwendung namens "Download Station", ich weiß, dass Sie Torrent-Dateien aus dem Laufwerksschacht laden können und ich glaube, Sie können auch erstellen oder Veröffentlichen Sie eine Torrent-Datei mit dieser Anwendung, damit andere eine benötigte Datei herunterladen können. Es hat Apps für mobile Geräte sowohl Apple als auch Android. Es kann auch FTP-Übertragungen durchführen. Dieser Laufwerksschacht könnte Ihnen die Möglichkeit geben, eine Datei schnell zu senden und dann schnell und einfach im LAN zu verteilen. Ich schlage vor, die Daten in das LAN zu stellen, um den LAN-Benutzern einen schnelleren Zugang zu ermöglichen, aber das Schöne an diesen NAS-Geräten ist, dass Sie sie überall online stellen können, solange sie eine schnelle Internetverbindung haben. Vielleicht wäre eines der höherwertigen Synology NAS-Geräte für Ihre Bedürfnisse geeignet.

Synology hat eine virtuelle Schnittstelle, über die Sie nachsehen können, um Ihnen eine bessere Vorstellung zu geben, ob dies für Sie nützlich wäre. Ich werde den Link unten auf die virtuelle Schnittstelle einfügen

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

Dieses Gerät bietet auch die Möglichkeit, über eine Web-Schnittstelle oder eine mobile Geräteanwendung auf ihre Daten zuzugreifen.

Ich hoffe, dass das hilft und wie ich sagte, vergib mir, wenn ich die Frage nicht richtig verstehe.


0
2017-10-15 18:22



Ich bin mir nicht sicher, wie das besser ist als das, was er jetzt macht. WMIF möchte nicht warten müssen, bis die Benutzer beginnen, die Daten selbst zu erhalten. Es wird erwartet, dass sein Team die Datendateien auf den Maschinen vorstellt, sobald sie verfügbar sind. - mfinni
@mfinni ist richtig. Die Aufgabe besteht darin, sicherzustellen, dass die Dateien, die wir erhalten, alle auf die Computer der Konferenzebene geladen werden, bevor die Teilnehmer den Raum betreten. - WMIF