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%.
źródło
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.
źródło
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
źródło
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.
źródło