Czy BitTorrent nadaje się do kopiowania plików między serwerami w miejscu pracy?

12

Mam 1 serwer źródłowy, który zawiera około 30 GB plików, które chcę skopiować na 7 innych serwerów. Obecnie przesyłam pliki SCP do pierwszych czterech serwerów, a po zakończeniu przesyłania SCP do ostatnich 3 serwerów.

Czy używanie BitTorrenta byłoby szybsze w dystrybucji plików do wszystkich 7 jednocześnie? Połączenie wewnętrzne jest już szybkie i spójne między każdym z serwerów. Wiem, że prawdopodobnie zabrałoby to trochę obciążenia z serwera źródłowego, ale czy dystrybucja plików trwałaby dłużej?

Jaki dobry klient skryptowy mógłbym użyć z powłoki? Chciałbym, żeby wszyscy przestali wysiewać po 100%.

Edward
źródło

Odpowiedzi:

7

To zależy od tego, jak twoja sieć jest ułożona i gdzie są wąskie gardła, ale tak, użycie BitTorrenta może być szybsze. Teoretycznie zamiast wysyłać 7 kopii tych samych plików, serwer źródłowy powinien wysłać tylko 1 kopię podzieloną między odbiorniki. Do tego czasu pozostali rówieśnicy udostępnią części, których nie otrzymali bezpośrednio między sobą.

Jeśli sieć obsługuje multiemisję, prawdopodobnie łatwiej jest skonfigurować udpcast , mdp , multisend lub coś w tym rodzaju: Twoje źródło wyśle ​​jedną kopię danych, a sieć skieruje ją do wszystkich odbiorców.

efemeryczny
źródło
Skończyliśmy na metodzie multiemisji za pomocą Udpcast. I działa idealnie!
Edward
3

Przewaga BitTorrent nad innymi narzędziami do dystrybucji plików, powiedzmy rsync , polega na tym, że klienci zaczynają oferować swoje dane innym klientom, więc jeśli serwer ma wolne połączenie z klientami, przepustowość będzie znacznie lepsza.

BT to jednak protokół przeznaczony do globalnego udostępniania. Musisz więc znaleźć sposób na zablokowanie wszystkich innych klientów, z wyjątkiem 7, których chcesz nakarmić (w przeciwnym razie Twój torrent wkrótce trafi do The Pirate Bay).

Jeśli chodzi o zatrzymanie na 100%, każdy klient BT to zrobi: ponieważ żaden klient nie żąda już danych, nie będzie już inicjowania. Aplikacja nadal będzie działać, ale spowodują jedynie niewielką stratę danych między klientami a modułem śledzącym, aby powiedzieć jej, że nadal są dostępne.

Wypróbuj oryginalny klient BitTorrent napisany w Pythonie. Umożliwi to wprowadzanie dowolnych modyfikacji. Niestety nie mogę znaleźć linku do bankomatu. Ktoś?

[EDYCJA] Na podstawie komentarza saua : Jeśli używasz prywatnego trackera, twoje torrenty nie powinny się nieoczekiwanie rozprzestrzeniać. To powiedziawszy, powinieneś używać klienta torrenta z wiarygodnego źródła. W przeciwnym razie możesz ryzykować, że jakiś cracker umieścił w kodzie trochę dodatkowej funkcji, która publikuje prywatne torrenty gdzieś, gdzie nie chcesz, aby się pojawiały.

Aaron Digulla
źródło
2
Nie upublicznienie torrenta można łatwo zrobić za pomocą prywatnego trackera.
Joachim Sauer
1
Czy jesteś w 100% pewien, że kod źródłowy klienta nie zawiera fragmentu „hej, powiedzmy serwerowi hakera o tym torrentie”? Wolę nie ryzykować tutaj szyi.
Aaron Digulla
7
Jeśli nie ufasz kawałkowi kodu i nie uruchomisz go mimo to, wyciek danych o twoich prywatnych torrentach jest najmniejszym zmartwieniem.
Michael Borgwardt
1

BitTorrent to świetny pomysł, jeśli chcesz replikować pliki za pośrednictwem drzewa serwerów, na przykład bez konieczności wydawania poleceń zdalnych wszystkim serwerom w celu skopiowania z tego samego miejsca; potencjalnie powodując wąskie gardło.

Inżynierowie z Twittera zrobili to z wielkim sukcesem w Murder, który jest teraz na github.

http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html

jwbensley
źródło
0

Jeśli wszystkie 8 serwerów jest podłączonych do tej samej sekcji sieci za pomocą Bit Torrent, jest mało prawdopodobne, aby przyspieszyć. W rzeczywistości miałbyś tyle kolizji, że prawdopodobnie byłoby to bardzo powolne. BitTorrent przyspieszyłby tylko, jeśli używasz w pełni przełączonej sieci, a osiem serwerów może ze sobą rozmawiać niezależnie, bez wpływu na komunikację między innymi serwerami.

Martin Brown
źródło
Dobra uwaga - ale czy naprawdę istnieje wiele sieci, które nie są już w pełni przełączane?
phyllis diller
2
Kiedy ostatni raz widziałeś koncentrator łączący serwery? Obecnie wszyscy korzystamy z przełączanych sieci w trybie pełnego dupleksu.
Mircea Vutcovici,