Jakiego programu należy użyć do przesyłania danych 20 TB w sieci?

10

Muszę skopiować 20 TB danych do tablicy piorunów. Skrzynka, w której istnieją dane, nie ma połączenia z piorunem, więc będę musiał do tego wykorzystać lokalną sieć 1 GB. (Tak, to potrwa wieczność).

Próbowałem użyć Filezilla / sftp, ale zawiesił się, gdy kolejka stała się bardzo duża. Czy rsync lub scp to najlepsza droga?

Lacinda
źródło
2
Czy możesz wyciągnąć dysk ze starego urządzenia i podłączyć go bezpośrednio?
Zgadzam się z powyższym komentarzem. Transfer fizyczny ma największą przepustowość.
Siyuan Ren,
Uwielbiam Carbon Copy Cloner, który jest ładnym narzędziem graficznym opartym na rsync. Deweloper rozwidlił rsync i wprowadził wiele ulepszeń. Nie mogę rozmawiać z szybkością vs rsync i / lub tar lub czymkolwiek, ale to moje zadanie do każdego rodzaju transferu danych, w którym chcę bez wątpienia wiedzieć, że moje dane są dobre, gdy wszystko zostanie powiedziane i zrobione. A jeśli nie, CCC mi to powie.
Harv
Dziwię się, że nie ma żadnych odniesień do Fedex .
tedder42

Odpowiedzi:

16

rsync to dobra droga (scp jest prawie taki sam z mniejszą liczbą funkcji). Możesz skorzystać z -Zopcji, która pozwoli na kompresję zlib. W zależności od prędkości dysków / komputera może to być szybsze niż wysyłanie nieskompresowanego, tj. Jeśli twoje łącze sieciowe jest nasycone. Możesz także chcieć skorzystać z opcji trybu archiwizacji, -aktóra zachowa dowiązania symboliczne, uprawnienia i czasy tworzenia / modyfikacji, a także rekurencyjne kopiowanie katalogów. W zależności od tego, co kopiujesz, możesz chcieć -Ezachować atrybuty rozszerzone i rozwidlenia zasobów mac. Wreszcie --progresspokaże informacje o postępach.

Michael DM Dryden
źródło
11
rsync jest również dobry w ponownym uruchomieniu kopiowania, jeśli wystąpi przerwa.
Lee Joramo,
3
Oddelegowanie @LeeJoramo, możliwość odebrania tam, gdzie przerwany nieudany transfer jest niezwykle ważny. Przelew tak duży w pewnym momencie zakończy się niepowodzeniem i chcesz mieć pewność, że nie stracisz żadnego postępu, jaki zrobiłeś do tego momentu.
blahdiblah
6

Chociaż nie był tak wszechobecny jak rsync, w przeszłości użyłem wywołania narzędzia „mpscp” - http://www.sandia.gov/MPSCP/mpscp_design.htm

Sandia National Labs to narzędzie do kopiowania plików działające na SSH, które jest specjalnie zoptymalizowane do nasycania szybkich sieci między zamkniętymi systemami (takich jak kopiowanie terabajtów danych między dwoma superkomputerami w tej samej witrynie, połączonych przez 10Gb + lub Infiniband). Działa dobrze, ale jego konfiguracja może być trochę uciążliwa. W testach z łatwością zauważyłem, że działa 2x-3x szybciej niż rsync.

Yeraze
źródło
3

Użyj rsync i rozważ użycie go z rsyncd. Jeśli używasz rsync bez rsyncd, utknąłeś przy użyciu ssh, co oznacza użycie pewnego rodzaju szyfrowania. Prawdopodobnie kopiujesz dane ze starszej maszyny na nowszą maszynę, a starsza maszyna może nie mieć wbudowanego procesora do szyfrowania danych do transmisji wystarczająco szybko, aby nasycić łącze Gigabit Ethernet. Przetestuj przesyłanie partii plików przy użyciu obu metod i sprawdź, która droga jest szybsza.

Z tego samego powodu radzę przetestować użycie opcji kompresji rsync przed przystąpieniem do jej używania. Kompresja jest kolejną intensywną pracą procesora, która może nie być w stanie nadążyć za gigabitowymi prędkościami Ethernet przy próbie na starszych urządzeniach. rsync to piętnastoletni program napisany, gdy większość ludzi nawet w krajach pierwszego świata uzyskała dostęp do Internetu za pośrednictwem modemu telefonicznego. Przepustowość sieci a kompromisy procesora były wtedy znacznie różne.

Kyle Jones
źródło
Masz rację, że rsync domyślnie używa ssh, ale to nie jedyna opcja. Możesz zmusić go do używania rsh zamiast -eopcji. Za pomocą tej samej opcji możesz zmienić opcje ssh, aby używać mniej intensywnego szyfrowania procesora: -e 'ssh -c arcfour,blowfish-cbc'lub podobnego. Nie wiem, czy ma to wpływ na szybkość w przypadku nowoczesnej maszyny, ale szybki test porównawczy może być opłacalny, szczególnie w przypadku plików o pojemności 20 TB.
Michael DM Dryden
3

Czy to 20 TB jest zapakowane w niewielką liczbę dużych plików (takich jak wideo, baza potworów) czy miliony mniejszych plików?

Jeśli jest dużo małych plików, wybrałbym rsync w celu ponownego uruchomienia lub potokowy strumień tar dla wydajności (jedno połączenie sieciowe dla partii, zacznij od początku, jeśli się nie powiedzie)

tar -cf - * | ( cd newhome; tar -xf - )

folder zdalny musi być zamontowany.

Czy możesz bezpośrednio dołączyć nową tablicę z innym interfejsem? Lokalny rsync nie używa ssh, więc usuwasz ten punkt awarii. Tak, Firewire 800 jest wolniejszy niż Gigabit Ethernet, ale nie można załadować Ethernetu do 100% - może być szybszy przez Firewire. Do twojej wiadomości możesz także podłączyć firewire do sieci, jeśli pudełka są wystarczająco blisko. Dodaj interfejs w preferencjach systemowych -> sieć.

Paweł
źródło
0

Inną opcją byłoby wypróbowanie Bittorrent Sync ( http://www.bittorrent.com/sync ). Użyłem go do synchronizacji zdjęć i filmów rodzinnych między członkami naszej rodziny w sieci WAN, ale nie ma powodu, dla którego nie będzie działać w sieci lokalnej. Korzysta z połączeń peer-to-peer, więc dane nie przechodzą przez serwer, tak jak w przypadku próby użycia czegoś takiego jak Dropbox (nie sądzę, że masz 20 TB miejsca na Dropbox lub chcesz czekać tak długo, aby przesłać tyle dane!)

Jest także obsługiwany na wielu platformach, więc ma większą elastyczność niż rsync i tar.

KenB
źródło