Invio di file di grandi dimensioni a oltre 500 computer


24

Lavoro con un team per gestire 500-600 computer Windows 7 noleggiati per una conferenza annuale. Abbiamo una grande quantità di dati che devono essere sincronizzati con questi computer, fino a 1 TiB. I computer sono divisi in stanze e collegati tramite switch gigabit non gestiti. Prepariamo questi computer in anticipo con l'installazione e la configurazione di Windows, oltre a tutti i file che abbiamo a nostra disposizione prima di inviare l'immagine di base per la replica da parte della società di noleggio. Ogni anno disponiamo dell'approccio dei presentatori sul posto con fino a concerti di dati che devono essere trasferiti nella stanza in cui verranno presentati. A volte hanno solo pochi file di dimensioni ridotte, come un PDF diapositiva, ma possono a volte essere molto più grande> 5 GiB.

La nostra attuale strategia per il push di questi file sta usando script batch e RoboCopy. Per i push di grandi dimensioni, utilizziamo effettivamente un client BitTorrent per generare un file torrent, quindi utilizziamo batch-RoboCopy per inviare il torrent in una cartella sui computer remoti che viene monitorato da un client BT installato. Spesso, questi dati devono essere inviati immediatamente con una piccola finestra temporale. Abbiamo diverse macchine in una sala di controllo identiche alle macchine sul pavimento che utilizziamo per queste spinte.

Occasionalmente abbiamo bisogno di eseguire un programma sui computer remoti e attualmente utilizziamo batch e PSexec per gestire questo compito.

Ci piacerebbe poter rispondere a queste spinte dell'ultimo minuto con "scusa, colpa tua", ma non accadrà. Il metodo BT ci ha permesso di avere un tempo di risposta molto più veloce, ma l'intero processo batch può diventare disordinato quando vengono inviati più lavori. Usiamo Enterprise Ghost per altri processi e non funziona bene su così vasta scala, inoltre è molto costoso per un compito annuale come questo.

EDIT: è necessario che i computer remoti sul pavimento eseguano Windows. Le macchine di controllo non hanno un requisito di sistema operativo rigido. Mi piacerebbe davvero stare lontano da Multicast a causa delle complicazioni con i router a monte. Multicast o BitTorrent è il modo migliore per procedere? Esiste un altro protocollo che potrebbe funzionare meglio?


3
Come domanda ben scritta mi fa male dire che le domande di acquisto sono fuori tema su uno qualsiasi dei siti di scambio di stack . Vedere Domande e risposte è difficile, andiamo a fare shopping e le FAQ per maggiori dettagli.
Chris S,

I would really like to stay away from Multicast because of complications with upstream routers.puoi approfondire il perché?
Zoredache,

2
Sinceramente, oltre a cercare una soluzione multicast, il tuo processo BitTorrent e PSExec cresciuto in casa suona come il meglio che puoi fare. Potresti
volerci

@ Zoredache- Onestamente, è in parte perché non ho abbastanza esperienza con il multicast. Mi sono occupato di Ghost e multicast e non ho davvero ottenuto risultati molto buoni. Le apparecchiature a monte appartengono alla struttura con la quale abbiamo stipulato un contratto e in alcune località abbiamo gestito alcuni gruppi IT piuttosto difficili. Non mi aspetto che nessuno dei loro dipendenti sappia nemmeno cos'è il multicast.
WMIF,

@ voretaq7- Ho pensato di mettere un'interfaccia sulla nostra struttura, ma avrei avuto difficoltà a farlo in PowerShell. È stato doloroso per me imparare il PS, soprattutto perché è un comportamento molto diverso dalle lingue più strutturate. Se inserissi un'interfaccia su di essa, molto probabilmente sarebbe in C #.
WMIF,

Risposte:


12

Volete davvero un programma di trasferimento di file multicast: UFTP , con una buona documentazione ed estensioni in stile proxt anche per l'attraversamento NAT / router.


Sto ancora cercando la documentazione per il collegamento che hai fornito, ma non vedo ancora alcuna menzione delle cose multicast di livello inferiore. Con questo voglio dire, questo si basa ancora sul punto di appuntamento multicast da stabilire in alcuni router della catena? Mi affido alla posizione per fornire il mio gateway, quindi non ho il mio router centrale in grado di fornire questa funzione. UFTP ha un modo per emularlo all'interno del software?
WMIF,

Questo è il tipo di risultati che ottengo spesso quando ho a che fare con il multicast e il motivo per cui ho affermato che mi piacerebbe starne lontano. serverfault.com/questions/56487/…
WMIF l'

Non ho familiarità con il software o l'hardware di quella domanda, ma non ho riscontrato problemi del genere nelle mie configurazioni. Il multicast verrà eseguito alla velocità del client più lento, quindi se si dispone di diversi "strati" di velocità del client, è possibile che si desideri eseguire più sessioni multicast per ogni strato (non influisce sul tempo di completamento finale, ma consente solo ai computer più veloci di terminare prima). Gli switch e i router intermedi devono supportare il multicast, i proxy possono mitigarlo fino a un certo punto, ma se vuoi prestazioni avrai bisogno di un'infrastruttura di rete affidabile / capace.
Chris S,

Gli switch coinvolti per l'infrastruttura di questa domanda sono tutti non gestiti. I router saranno diversi per ogni posizione e non posso garantire che supportino il multicast. C'è un modo in cui potrei far pendere il mio router da un lato, ma essere comunque coinvolto nella parte multicast di esso? Lo chiedo perché non credo sia possibile.
WMIF,

La gestione non influisce direttamente su un supporto di commutazione per multicast. Tutti gli switch Ethernet da 1 GB sono necessari per supportare Multicast (anche se quelli vecchi e particolarmente economici lo implementano come broadcast, il che fa il lavoro); In genere, gli switch precedenti lo facevano già. La mancanza di supporto del router è il motivo per cui avresti bisogno di configurare i proxy (uno per ogni segmento di rete multicast isolato). Ovviamente l'utilizzo di router che supportano il multicast sarà il più semplice, ma la configurazione dei proxy non è terribile (a meno che non ce ne sia una grande quantità).
Chris S,

5

Potresti voler esaminare l' omicidio

L'omicidio è un metodo di utilizzo di Bittorrent per distribuire i file su una grande quantità di server all'interno di un ambiente di produzione. Ciò consente distribuzioni scalabili e veloci in ambienti da centinaia a decine di migliaia di server in cui i sistemi di distribuzione centralizzata non funzionerebbero altrimenti

.

L'omicidio è stato / è sviluppato dalla gente su Twitter e lo usano quotidianamente per distribuire file.


4

Potrebbe essere apparsa una nuova soluzione: BitTorrent Sync

Modifica successiva: In realtà in questi giorni probabilmente consiglierei l' assistente git-annex o la sincronizzazione, ma ci sono molte alternative


Non solo un altro, ma molto buono in questo caso d'uso, penso!
Argeman,

Sono d'accordo. Ho trovato questo su /. e attualmente sto impostando alcuni scenari di test per vedere se funzionerà bene come sembra.
WMIF,

Ho appena fatto un test su larga scala con BT Sync e ho scoperto che utilizza 239.192.0.0 per il traffico multicast broadcast. Non avevo alcun controllo sull'infrastruttura di rete, quindi non ero in grado di analizzare completamente, ma questo stava causando un notevole aumento del traffico Internet in uscita. Combinato con alcuni problemi generali di sincronizzazione dei file non corrispondenti, e ha causato abbastanza problemi che ho dovuto chiuderlo. Peccato perché funzionava magnificamente su una scala più piccola di meno di 50 computer.
WMIF,

1

Potrei avere un'idea per te che possa aiutare. Perdonami perché non capisco perfettamente perché questo debba essere così complesso, ma se hai bisogno di renderlo semplice per l'utente finale e tuttavia rendere i dati rapidi e facili da raggiungere all'interno di una LAN, forse potresti andare con un Dispositivo NAS. Ho un Synology DS1812 + può RSYNC con un'altra unità Synology o vari dispositivi compatibili con RSYNC, ha un'applicazione compatibile con il torrent chiamata "Download Station", so che puoi scaricare file torrent dal vano unità e credo che puoi anche creare o pubblica un file torrent con quell'applicazione per consentire ad altri di scaricare un file di cui hanno bisogno. Ha app per dispositivi mobili sia Apple che Android. Può anche eseguire trasferimenti FTP. Questo alloggiamento per unità potrebbe darti la possibilità di inviargli un file rapidamente e poi disperderlo rapidamente e facilmente nella LAN. Suggerisco di collocare i dati all'interno della LAN solo per rendere più rapido l'accesso agli utenti della LAN, ma il bello di questi dispositivi NAS è che puoi metterli ovunque online purché abbiano una connessione Internet veloce. Forse uno dei dispositivi Synology NAS di fascia alta sarebbe adatto alle tue esigenze.

Synology ha un'interfaccia virtuale che puoi esaminare per darti un'idea migliore se ti sarebbe utile. Incollerò il link seguente all'interfaccia virtuale

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

Questo dispositivo offre inoltre alle persone la possibilità di accedere ai propri dati tramite un'interfaccia Web o un'applicazione per dispositivi mobili.

Spero che questo aiuti e, come ho detto, perdonami se non capisco correttamente la domanda.


1
Non sono sicuro di come sia meglio di quello che sta facendo ora. WMIF non può voler aspettare che gli utenti inizino a ottenere i dati da soli; il suo team dovrebbe pre-mettere in scena i file di dati sulle macchine non appena disponibili.
mfinni,

@mfinni è corretto. Il compito è quello di assicurarsi che i file che ci vengono dati siano caricati sui computer del pavimento della conferenza prima che i partecipanti mettano piede nella stanza.
WMIF,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.