Przesyłanie dużych plików do ponad 500 komputerów

24

Współpracuję z zespołem zarządzającym 500-600 wynajętymi komputerami z systemem Windows 7 na doroczną konferencję. Mamy dużą ilość danych, które należy zsynchronizować z tymi komputerami, do 1 TiB. Komputery są podzielone na pokoje i połączone za pomocą niezarządzanych przełączników gigabitowych. Komputery te przygotowujemy z wyprzedzeniem z instalacją i konfiguracją systemu Windows oraz wszelkimi dostępnymi nam plikami, zanim prześlemy obraz podstawowy do replikacji przez wypożyczalnię. Każdego roku na miejscu pojawiają się prezenterzy z gigantycznymi danymi, które należy przenieść do pokoju, w którym będą się prezentować. Czasami mają tylko kilka plików o małych rozmiarach, takich jak slajd PDF, ale mogą czasami być znacznie większy> 5 GiB.

Nasza obecna strategia wypychania tych plików polega na użyciu skryptów wsadowych i RoboCopy. W przypadku dużych wypychań faktycznie używamy klienta BitTorrent do generowania pliku torrent, a następnie używamy wsadowego RoboCopy do wypychania torrenta do folderu na zdalnych komputerach, który jest monitorowany przez zainstalowanego klienta BT. Często dane te należy natychmiast wypchnąć za pomocą małego okna czasowego. W sterowni mamy kilka maszyn, które są identyczne z maszynami na podłodze używanymi do tych popychaczy.

Czasami potrzebujemy uruchomić program na zdalnych komputerach i obecnie używamy wsadowego i PSexec do obsługi tego zadania.

Chcielibyśmy móc odpowiedzieć na te naciski w ostatniej chwili „przepraszam, z własnej winy”, ale tak się nie stanie. Metoda BT pozwoliła nam uzyskać znacznie szybszy czas odpowiedzi, ale cały proces wsadowy może być nieuporządkowany, gdy wypychanych jest wiele zadań. Używamy Enterprise Ghost do innych procesów i nie działa to dobrze na tak dużą skalę, a ponadto jest naprawdę dość drogie jak na takie zadanie raz w roku.

EDYCJA: Istnieje trudny wymóg, aby na zdalnych komputerach na podłodze działał system Windows. Maszyny sterujące nie mają wymaganego systemu operacyjnego. Naprawdę chciałbym trzymać się z dala od Multicast ze względu na komplikacje związane z routerami typu upstream. Czy Multicast lub BitTorrent jest lepszym sposobem na to? Czy istnieje inny protokół, który mógłby działać lepiej?

WMIF
źródło
3
Jako dobrze napisane pytanie boli mnie stwierdzenie, że pytania zakupowe są nie na temat w żadnej ze stron Stack Exchange . Zobacz pytania i odpowiedzi są trudne, chodźmy na zakupy i FAQ, aby uzyskać więcej informacji.
Chris S
I would really like to stay away from Multicast because of complications with upstream routers.możesz wyjaśnić dlaczego?
Zoredache,
2
Szczerze mówiąc, oprócz wykopania rozwiązania multiemisji, Twój domowy proces BitTorrent i PSExec wydaje się być najlepszym rozwiązaniem. Możesz owinąć go trochę PowerShellem dla dobra / automatyzacji, ale to najlepsza sugestia, jaką mogę ci dać ...
voretaq7
@ Zoredache - Szczerze mówiąc, częściowo dlatego, że nie mam wystarczającego doświadczenia z multiemisją. Miałem do czynienia z Ghostem i multicastem i tak naprawdę nie przyniosłem bardzo dobrych rezultatów. Sprzęt wydobywczy należy do obiektu, z którym podpisujemy umowę, aw niektórych lokalizacjach mieliśmy do czynienia z dość trudnymi grupami IT. Nie spodziewałbym się, że którykolwiek z ich pracowników będzie wiedział, co to jest multicast.
WMIF
@ voretaq7- Zastanawiałem się nad umieszczeniem interfejsu nad naszą strukturą, ale trudno byłoby mi to zrobić w PowerShell. Uczenie się PS było dla mnie bardzo bolesne, głównie dlatego, że różni się on od bardziej uporządkowanych języków. Gdybym położył nad nim interfejs, najprawdopodobniej byłby w języku C #.
WMIF

Odpowiedzi:

12

Naprawdę potrzebujesz programu do przesyłania plików multiemisji: UFTP , z przyzwoitą dokumentacją i rozszerzeniami w stylu proxy dla translacji NAT / routera.

Chris S.
źródło
Nadal przeglądam dokumentację podanego linku, ale nie widzę jeszcze żadnej wzmianki o niższych poziomach multiemisji. Rozumiem przez to, czy nadal zależy to od punktu spotkania multiemisji, który ma zostać ustanowiony w jakimś routerze w łańcuchu? Korzystam z lokalizacji, aby zapewnić moją bramę, więc nie mam własnego centralnego routera, który mógłby zapewnić tę funkcję. Czy UFTP ma jakiś sposób naśladowanie tego w oprogramowaniu?
WMIF
Jest to rodzaj wyników, które często otrzymuję, gdy mam do czynienia z multiemisją, i dlatego powiedziałem, że chciałbym się od niego trzymać z daleka. serverfault.com/questions/56487/…
WMIF
Nie znam oprogramowania ani sprzętu tego pytania, ale nie miałem takich problemów w moich konfiguracjach. Multiemisja będzie działać w tempie najwolniejszego klienta, więc jeśli masz różne „warstwy” prędkości klienta, możesz chcieć uruchomić wiele sesji multiemisji dla każdej warstwy (nie wpływa to jednak na końcowy czas ukończenia, tylko pozwala na szybsze zakończenie komputerów wcześniej). Przełączniki pośrednie i routery muszą obsługiwać multiemisję, serwery proxy mogą to złagodzić do pewnego stopnia, ale jeśli chcesz wydajności, potrzebujesz niezawodnej / zdolnej infrastruktury sieciowej.
Chris S
Wszystkie przełączniki związane z infrastrukturą tego pytania są niezarządzane. Routery będą różne dla każdej lokalizacji i nie mogę zagwarantować, że obsługują multiemisję. Czy istnieje sposób, aby mój router zawiesił się na bok, ale nadal był zaangażowany w jego część multiemisji? Pytam, bo nie sądzę, że to możliwe.
WMIF
Zarządzanie nie wpływa bezpośrednio na obsługę przełączania dla multiemisji. Wszystkie przełączniki Ethernet 1 GB są wymagane do obsługi multiemisji (chociaż stare i szczególnie tanie te implementują ją jako transmisję, co pozwala wykonać zadanie); Starsze przełączniki generalnie już to zrobiły. Brak obsługi routera jest powodem, dla którego potrzebujesz konfiguracji serwerów proxy (po jednym dla każdego segmentu sieci izolowanego od multiemisji). Oczywiście korzystanie z routerów obsługujących multiemisję będzie najłatwiejsze, ale konfiguracja serwerów proxy nie jest straszna (chyba że jest ich duża liczba).
Chris S
5

Możesz zajrzeć do morderstwa

Murder to metoda wykorzystywania Bittorrenta do dystrybucji plików na dużą liczbę serwerów w środowisku produkcyjnym. Pozwala to na skalowalne i szybkie wdrażanie w środowiskach od setek do dziesiątek tysięcy serwerów, gdzie scentralizowane systemy dystrybucji inaczej nie działałyby

.

Morderstwo zostało opracowane przez ludzi z Twittera i używają go codziennie do dystrybucji plików.

Jens Timmerman
źródło
4

Możliwe, że pojawiło się nowe rozwiązanie: BitTorrent Sync

Późniejsza edycja: Właściwie w tych dniach prawdopodobnie poleciłbym asystenta git- annexa lub synchronizację, ale istnieje wiele alternatyw

ptman
źródło
Myślę, że nie tylko kolejny, ale bardzo dobry w tym przypadku użycia!
Argeman,
Zgadzam się. Znalazłem to na /. i obecnie przygotowuję kilka scenariuszy testowych, aby sprawdzić, czy zadziała tak dobrze, jak się wydaje.
WMIF
Właśnie wykonałem test na dużą skalę z BT Sync i odkryłem, że używa on 239.192.0.0 dla ruchu emisji rozgłoszeniowej multiemisji. Nie miałem kontroli nad infrastrukturą sieciową, więc nie byłem w stanie w pełni analizować, ale spowodowało to zauważalny wzrost wychodzącego ruchu internetowego. W połączeniu z ogólnymi problemami z niedopasowaniem synchronizacji plików, spowodowało to tyle problemów, że musiałem go zamknąć. Niestety, ponieważ działało pięknie na mniejszą skalę, mniej niż 50 komputerów.
WMIF
1

Może mam dla ciebie pomysł, który by pomógł. Wybaczcie, bo nie do końca rozumiem, dlaczego to musi być tak skomplikowane, ale jeśli waszą potrzebą jest uproszczenie dla użytkownika końcowego, a jednocześnie sprawienie, by dane były szybko i łatwo dostępne w sieci LAN, być może możecie wybrać Urządzenie NAS. Mam urządzenie Synology DS1812 +, które może RSYNC z innym napędem Synology lub różnymi urządzeniami obsługującymi RSYNC, ma aplikację obsługującą nieco torrenta o nazwie „Download Station”, wiem, że możesz pobierać pliki torrentowe z wnęki napędu i wierzę, że możesz także utworzyć lub opublikuj plik torrent w tej aplikacji, aby umożliwić innym pobranie potrzebnego pliku. Ma aplikacje na urządzenia mobilne zarówno Apple, jak i Android. Może także wykonywać transfery FTP. Ta wnęka napędu może umożliwić szybkie przesłanie pliku do niego, a następnie szybkie i łatwe rozproszenie go w sieci LAN. Sugeruję umieszczenie danych w sieci LAN, aby użytkownicy sieci LAN mieli szybszy dostęp do nich, ale piękno tych urządzeń NAS polega na tym, że można je umieścić w dowolnym miejscu online, o ile mają one szybkie połączenie internetowe. Być może jedno z wyższej klasy urządzeń Synology NAS będzie dobrze dopasowane do twoich potrzeb.

Synology ma wirtualny interfejs, który można przejrzeć, aby dać ci lepszy pomysł, czy byłby to dla ciebie użyteczny. Wkleję poniższy link do interfejsu wirtualnego

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

To urządzenie daje również ludziom dostęp do ich danych za pośrednictwem interfejsu internetowego lub aplikacji mobilnej.

Mam nadzieję, że to pomoże i jak powiedziałem, wybacz mi, jeśli nie rozumiem pytania poprawnie.

Frank R.
źródło
1
Nie jestem pewien, jak to jest lepsze niż to, co teraz robi. WMIF nie chce czekać, aż użytkownicy sami zaczną pobierać dane; oczekuje się, że jego zespół przygotuje pliki danych na komputery, gdy tylko będą dla nich dostępne.
mfinni
@ mfinni jest poprawny. Zadanie polega na upewnieniu się, że wszystkie pliki, które otrzymujemy, są ładowane do komputerów na podłodze konferencji, zanim uczestnicy wejdą do pokoju.
WMIF