Przenieś 10 TB plików z USA do brytyjskiego centrum danych

96

Migruję mój serwer z USA do Wielkiej Brytanii z jednego centrum danych do drugiego. Mój gospodarz powiedział, że powinienem być w stanie osiągnąć 11 megabajtów na sekundę.

System operacyjny to Windows Server 2008 na obu końcach.

Mój średni rozmiar pliku wynosi około 100 MB, a dane są podzielone na pięć dysków 2 TB.

Jaki byłby zalecany sposób przesłania tych plików?

  • FTP
  • SMB
  • Rsync / Robocopy
  • Inny?

Nie przejmuję się zbytnio bezpieczeństwem, ponieważ i tak są to pliki publiczne, ale chcę tylko rozwiązania, które może przesunąć pełną szybkość przesyłania 11 MB / s, aby zminimalizować całkowity czas przesyłania.

Paul Hinett
źródło
19
11 MB / s czy 11 Mb / s?
wim
14
przenieś dane na binarną kartę dziurkacza i użyj gołębia
pocztowego
9
Powinieneś podać szczegóły. Jak myślisz, ile gołębi nosicielskich zajmie? Pokaż swoją pracę.
Evik James,
18
@Evik European or African?
wim
8
Nawiasem mówiąc, Wolfram Alpha jest najwygodniejszym sposobem wykonywania obliczeń „10 TB przy 11 MB / s”. wolframalpha.com/input/?i=10+TB+at+11MB%2Fs
pufferfish

Odpowiedzi:

173

Zamiast tego wysyłaj dyski twarde przez ocean.

Przy prędkości 11 Mb / s przy pełnym wykorzystaniu, wystarczy zaledwie 90 dni na przesłanie 10 TB.


11 Mbps = 1.375 MBps = 116,015 GB / dzień .

10240 GB / 116,015 GB / dzień = ~ 88,3 dni .

Shane Madden
źródło
42
+1 dla Sneakernet . Zapomniałeś również narzutu TCP / IP. W idealnych okolicznościach jest to około 100 dni.
Chris S
43
Mądry człowiek powiedział kiedyś: „Nigdy nie lekceważ przepustowości wozu kombi pełnego taśm pędzących po autostradzie”. To równanie jest bardzo prawdziwe i nie zmienia się zasadniczo poprzez zmianę wagonu kombi dla łodzi. ( bpfh.net/sysadmin/never-underestimate-bandwidth.html )
Rob Moir
5
Lepiej jest wysyłać taśmy lub dyski Blueray niż dyski. Jeśli korzystasz z napędów, upewnij się, że oryginały są bezpieczne i dostępne na wszelki wypadek. Sam wybrałbym dyski (chyba że miałem dyski Ultrium 4), ponieważ 10 TB = 410 jednowarstwowych dysków blueray!
Allen
9
Właśnie zdałem sobie sprawę, że wpisałem 11 Mb / s, ale tak naprawdę miałem na myśli 11 MB / s. Podejrzewam, że robi to spore różnice, moje obliczenia mają z grubsza około 11-14 dni ... czy to prawda?
Paul Hinett,
18
nadal wierzę, że wysłanie człowieka nadzorującego z kopią zapasową 10 TB, podczas gdy oficjalny dysk nadal działa, po zakończeniu instalacji możesz uruchomić rsync, aby zaktualizować nowy serwer dla każdej zmiany. Miałbyś maszynę uruchomioną około jednego dnia.
Loïc Faure-Lacroix
26

Powiedziałbym, że rsync, przy 11 MB / s spojrzysz na 10-14 dni i nawet jeśli zostaniesz przerwany, rsync łatwo uruchomi się tam, gdzie przestał ostatnim razem.

Przy prędkości 11 Mb / s wysyłam dyski twarde jak sugerowano powyżej :)

Lucas Kauffman
źródło
1
Twoje oszacowanie różni się bardzo znacząco od tego, co opublikowali inni (i nie wiem, kto jest poprawny). Czy możesz podać swoją metodologię uzyskiwania tych liczb?
John Gardeniers
9
Różnica wynika z błędnego zapisu przez OP 11 Mb / s, gdy tak naprawdę miał na myśli 11 MB / s - czyli 8 razy szybciej. BTW, ponowne uruchomienie 10 TB rsync w przypadku przerwy prawdopodobnie zajmie trochę czasu, prawda? Godziny, czy dłużej?
Frank Farmer,
@FrankFarmer: nie martwiłbym się restartem rsync; Trzymam kopię zewnętrzną ~ 20 TB na linii bezprzewodowej 30 Mb / s, a ponowne uruchomienie jest w zasięgu sekund. wstępna kopia trwała kilka tygodni, ale nocna aktualizacja trwa zwykle kilka godzin.
Javier
@FrankFarmer - rsync wydaje się skalować bardzo dobrze. Mam ~ 2 TB ponad wiejską linią ADSL1, która została zainicjowana przez sneakernet, ale każdej nocy zajmuje około 5 minut na rsync, jeśli nic się nie zmieniło.
Flexo,
6
Czas restartu rsync skaluje się z liczbą plików (głównie według statczasu, z mojego doświadczenia), a nie z całkowitą ilością danych. Nie spodziewałbym się znaczącego oczekiwania (najwyżej kilka minut). Chociaż moje doświadczenie z rsync topami jest nieco poniżej 5 TB.
derobert
15

Oczywiście Rsync.

Przynajmniej możesz kontynuować w dowolnym momencie po przerwie i to bez żadnego bólu.

Korjavin Ivan
źródło
7
Ponad 3 miesiące kopiowania przy 100% wykorzystaniu. Przykro nam, ale to okropny sposób przesyłania tak dużej ilości danych.
Chris S
Muszę się zgodzić z @ChrisS, używanie rsynctylko do kopiowania dużych plików nie jest wydajne. Dla moich rzeczy skończyło się używając tarnad netcatlub sshdo początkowego transferu. Jest znacznie szybszy i natychmiast rozpoczyna przesyłanie, a rsyncnajpierw skanuje wszystkie pliki, co zajmuje dużo czasu. Jeśli zostanie to przerwane, nadal będziesz mógł z niego korzystać rsync. W rzeczywistości robię to czasami po tartym, aby upewnić się, że wszystkie uprawnienia, pliki gniazd itp. Są prawidłowe.
Martin Scharrer
1
Po poprawieniu OP przez połączenie ~ 100 Mb, a nie 11 Mb, rsync ma znacznie większy sens. +1 dla pierwszego, który o tym wspomina.
Chris S
12

Nigdy nie lekceważ przepustowości wozu kombi pełnego taśm

- Trad.

W twoim przypadku dyski lub taśmy wysyłane przez kuriera, ale zasada ta nadal obowiązuje. Jeśli nie obawiasz się opóźnień, będzie to znacznie tańsze niż przepustowość sieci do przesyłania 10 TB danych w rozsądnym czasie.

ConcernedOfTunbridgeWells
źródło
Jeff Atwood sprawdził
opóźniony
10

Powinieneś użyć rsync. Będzie on kompresować dane i de-powielać je przed wysłaniem. Może także wznowić przelewy częściowe, co jest bardzo ważne w przypadku dużych transferów.

Prawdopodobnie nie przenosi 10 TB; jeśli są to dzienniki i tekst i takie mogą być mniejsze niż 1 TB; być może znacznie poniżej 1 TB.

Istnieją narzędzia, które lepiej wykonują kompresję niż rsync i prawdopodobnie znajdują więcej dopasowań. Możesz użyć lrzipitp.

Istnieją określone typy danych, które nie kompresują się dobrze i nie zawierają dosłownych duplikatów - na przykład filmy i inne media. W takich przypadkach FTP i rsync wykonują ten sam wysiłek.

Będzie
źródło
3
RSync deduplikuje dane? Myślę, że robi to tylko na poziomie pliku, co oznacza, że ​​deduplikacja jest w większości przypadków bezużyteczna.
devicenull
6

Wiem, że jest to już akceptowane, ale czy zastanawiałeś się nad zabraniem dysków do centrum danych / dostawcy / hosta, gdzie możesz uzyskać większą przepustowość? Prawdopodobnie będzie to kosztować trochę pieniędzy, ale kopiowanie 10240 Gb na dyski kopii zapasowych, a wysyłanie będzie kosztować zarówno czas, jak i pieniądze (2 x pieniądze).

Ponadto będziesz mieć pewność, że Twoje dyski nie ulegną uszkodzeniu w transporcie.

Asken
źródło
Czym różni się ta odpowiedź od odpowiedzi przyjętej?
Chris S
2
@Chris Ta odpowiedź sugeruje transport dysków do większej rury na tym samym kontynencie.
Alex Jasmin
5

11 Mb / s? Jest to dość ograniczone ograniczenie. W twojej sytuacji po prostu:

  • Sklonuj dane
  • Kompresuj to
  • Wynajem serwerów na obu końcach z co najmniej 10 razy większą przepustowością (w tych samych centrach danych lub na twoim końcu w centrum danych w pobliżu).
  • Prześlij pliki
  • Zastosuj dane na nowym serwerze.

Jeśli naprawdę nie masz rozwiązania, aby zwiększyć przepustowość ... Wysyłanie dysku fizycznego będzie znacznie szybsze.

Z mojego bolesnego doświadczenia dyski twarde mają tendencję do uszkadzania poczty ... Dyski flash USB są znacznie lepszym rozwiązaniem do częstego przesyłania danych. W twoim przypadku wymagałoby to kilku z nich :) Wyślij więc 2 kopie danych na wiele dysków twardych.

Biorąc pod uwagę ilość danych, które możesz mieć, możesz również wysyłać dyski z macierzy RAID 5 lub RAID 6, jeśli masz ten sam sprzęt / oprogramowanie po drugiej stronie, aby podłączyć dyski. Ale w takim przypadku pamiętaj, aby zaznaczyć kolejność dysków i ich numery seryjne, więc podczas ponownej konfiguracji nie mylą się.

Kojot
źródło
1
przepraszam, 11 Mb / s było błędem, to 11 MB / s ... wspomniałem w jednym z powyższych komentarzy.
Paul Hinett,
4

Chociaż w tym przypadku muszę zgodzić się na odpowiedź „wyślij to przy użyciu dysków twardych”, oto rozwiązanie do kopiowania, którego używam, gdy po raz pierwszy muszę skopiować duże ilości plików:

Chociaż rsyncdobrze jest zsynchronizować dwa magazyny danych, wprowadza sporo niepotrzebnego obciążenia na początkowy transfer. Doszedłem do wniosku, że najszybszym sposobem jest tarprzeniesienie się netcat. Na stronie odbiornika można również użyć netcatw trybie nasłuchu , który przesyła przychodzące dane do rozpakowywania tar. Zaletą jest to, że tarnatychmiast rozpoczyna wysyłanie i netcatwysyła jako zwykły strumień TCP bez dodatkowego obciążenia protokołu wyższego poziomu. Powinno to być tak szybkie, jak to możliwe. Ponowne uruchomienie przerwanego transferu na ostatniej pozycji nie jest jednak proste.

Można również łatwo skompresować dane do przesłania przy użyciu odpowiednich taropcji lub dodać narzędzie do kompresji w rurach. Pamiętaj, że netcatdata jest niezaszyfrowana. W przypadkach, gdy nie jest to opcja, sshzamiast tego można użyć szyfrowanego połączenia ( tar <options> | ssh <target> -c 'tar -x <options>').

Jeśli wszystkie dane są przesyłane, rsyncmożna zsynchronizować wszystkie pliki, które zostały w międzyczasie zaktualizowane. Również IIRC tarnie tworzy gniazd, które w przeciwnym razie zostaną zgubione, ale tak naprawdę nie są one wykorzystywane do danych w centrum danych.

Martin Scharrer
źródło
Minusem jest to, że nie toleruje przerw
Joel Coel
3

Czy rozważałeś IPoAC ?

Pojedynczy gołąb może być w stanie przenieść dziesiątki gigabajtów danych w ciągu około godziny, co w przypadku średniej przepustowości bardzo korzystnie porównuje się z obecnymi standardami ADSL, nawet w przypadku zgubienia dysków.

wim
źródło
21
Gołębie ucierpiałyby z powodu utraty sygnału w odległości opisanej przez PO.
Roy Tinker,
@RoyTinker Cleared IPoAC musi zostać wdrożony przy użyciu procesu okienkowania.
JamesBarnett
3

Ponownie, pierwszą sugestią jest wysłanie dysków.

Drugą sugestią jest użycie rsync do rsyncd, a nie przez SSH. Próbowałem wielu rzeczy i zwykle jest to najszybszy. Pamiętaj, aby włączyć kompresję. Spójrz także na zwiększenie lub zmniejszenie rozmiaru bufora rsync, aby uzyskać optymalną szybkość transferu. Może to również pomóc zwiększyć rozmiar MTU . Pomaga to tylko wtedy, gdy routery na trasie nie fragmentują twoich pakietów. Istnieją sposoby, aby ustalić, czy tak.

Niestety nie ma ustawienia, które zawsze jest najlepsze. Będziesz musiał eksperymentować, aby dowiedzieć się, co działa najlepiej w twojej sytuacji.

sjbotha
źródło
2

Wspomniałeś, że na serwerach działa system Windows 2008. Czy Microsoft DFS byłby odpowiedni? W dolnej części jest trochę magii, która próbuje uzyskać jak największą przepustowość połączenia, a także ma kompresję i duplikację (IIRC).

Pamiętaj, że dyski twarde, DVD lub BluRays byłyby szybsze ... Moje obliczenia to 11 dni przy pełnych 11 MB / s ...

TiernanO
źródło
1

Możesz do tego użyć torrenta.

Utwórz prywatny torrent na jednym końcu i użyj klienta na drugim.

Chociaż istnieje szyfrowanie, musisz sprawdzić swoje wymagania.

Dragos
źródło
1
Relacja torrentowa 1 do 1 nie jest lepsza niż transfer pliku 1 do 1. Jeśli między dwoma lokalizacjami jest ograniczona rura, potrzebujesz wielu siewników na różnych rurach, najlepiej rozmieszczonych geograficznie.
Jeremy, 5'11
@Jeremy - nie ma lepszej ani gorszej wydajności. Może być lepsza pod względem niezawodności (łatwa pauza / wznowienie), co dla tego rozmiaru może być ważne
Joel Coel