Mam dziś około 200 000 plików, które przesyłam na nowy serwer. Nie robiłem nic na tak dużą skalę i chciałem uzyskać porady, jak powinienem to zrobić. Przenoszę je między dwie dystrybucje Centos 6 i znajdują się one w różnych lokalizacjach w kraju. Nie mam wystarczającej ilości miejsca na dysku twardym na oryginalnym serwerze, aby spakować wszystkie katalogi i pliki do jednego ogromnego archiwum, więc mam pytanie, jak mam przenieść wszystkie te pliki? rsync? jakiś specjalny sposób korzystania z rsync? Wszelkie uwagi / sugestie, jak to zrobić, byłyby niesamowite.
Dzięki
EDYCJA: dla tych, którzy zastanawiają się, WYSOKIE sugeruję użycie a screen
podczas uruchamiania takiego dużego rsync
polecenia. Zwłaszcza, gdy może wystąpić coś głupiego i utracisz połączenie z serwerem A, z którego uruchamiasz rsync
polecenie. Następnie wystarczy odłączyć ekran i wznowić go później.
źródło
rsync
? Może na małym zestawie plików? Powinno być idealnym narzędziem do tego.tar cz | ssh [email protected] tar xz
rsync
do kolejnych aktualizacji): „Nigdy nie lekceważ przepustowości wozu kombi pełnego taśm” (tj .: czy zastanawiałeś się nad umieszczeniem drugiego dysku twardego (lub podłączeniem USB2) / dysk usb3), wykonaj kopię zapasową na nim i wyślij go za pośrednictwem fedexa do zdalnej lokalizacji? Może być DUŻO szybszy niż cokolwiek innego i zaoszczędzić przepustowość do innych zastosowań.Odpowiedzi:
Wystarczy ukształtowaniu Simona odpowiedź ,
rsync
jest idealnym narzędziem do pracy:Zakładając, że masz dostęp ssh do zdalnego komputera, chciałbyś zrobić coś takiego:
Spowoduje to skopiowanie katalogu
path/to/local/foo
do/path/to/remote/bar
zdalnego serwera. Zostanie utworzony nowy podkatalog o nazwiebar/foo
. Jeśli chcesz tylko skopiować zawartość katalogu, bez tworzenia katalogu o tej nazwie w celu, dodaj ukośnik:Spowoduje to skopiowanie zawartości
foo/
do katalogu zdalnegobar/
.Kilka odpowiednich opcji:
źródło
rsync -hrtplu --progress
gdybym chciał zobaczyć postęp w toku?rsync --progress --stats -hrtl --update source destination
.rsync -hrtplu --progress --rsh='ssh -p2202'
używam i nie można się połączyć. Otrzymuj błąd 255. Ale jestem w to wciągnięty. Więc wiem, że to nie zapora ogniowa ... czy muszę podać hasło również przez cmd? a może po prostu mnie o to nie poprosi?To zależy od tego, jak szybko trzeba go skopiować i jaka jest dostępna przepustowość.
W przypadku słabego połączenia sieciowego rozważ przepustowość ciężarówki wypełnionej taśmami. (Przeczytaj: prześlij 2,5-calowy dysk twardy lub po prostu napisz go tam sam. 300 dysków gigabitowych powinno być łatwe do znalezienia).
Jeśli czas jest mniej krytyczny lub masz dużą przepustowość, rsync jest świetny. Jeśli wystąpi błąd, możesz po prostu kontynuować bez ponownego kopiowania wcześniejszych plików.
[Edytuj] Zapomniałem dodać, że możesz uruchomić rsync kilka razy, jeśli twoje dane zostaną wykorzystane podczas kopiowania.
Przykład:
1) Dane w użyciu. Rsync -> Wszystkie dane zostaną skopiowane. To może zająć troche czasu.
2) Uruchom ponownie rsync, tylko zmienione pliki zostaną skopiowane. To powinno być szybkie.
Możesz to zrobić kilka razy, dopóki nie zostaną wprowadzone żadne zmiany, lub możesz to zrobić w inteligentny / bezpieczny sposób, czyniąc dane tylko do odczytu podczas kopiowania. (np. jeśli jest na używanym wspólnym zestawie, który współużytkuje tylko do odczytu. Lub zsynchronizuj dane, to w nocy ustaw udział tylko do odczytu, gdy uruchomisz go po raz drugi).
źródło
Wybrałbym rsync! Używam go do tworzenia kopii zapasowych mojego serwera na serwerze zewnętrznym i działa dobrze. Zwykle jest kilka MB do skopiowania, ale w niektóre dni zwiększa się do 20-30 GB i zawsze działało bez problemu.
źródło
rsync przez NFS przy użyciu połączenia Gigabit zajmie prawie około 10 godzin. Lepiej będzie skopiować dane na dysk twardy i przenieść je między serwerami. Jeśli chcesz wykonać kopię dysku w trybie jeden do jednego, użyj dd lub czegoś podobnego, aby utworzyć surowy obraz dysku. Korzystanie z ssh (scp) powoduje ogromne obciążenie. Testowany empirycznie na połączeniu Gigabit. rsync jest dobry w tworzeniu przyrostowej synchronizacji między dwoma serwerami używanymi w HA lub w trybie kopii zapasowej. Zgaduję.
źródło
will took nearly about 10h. It will be better to copy data on HDD and move them between server.
poza tym, że jest w całym kraju, więc zajęłoby to dłużej.po raz pierwszy użyj NFS i tar / untar (NFS jest najszybszym protokołem w tym przypadku, tar, aby zaoszczędzić przepustowość sieci przez większe wykorzystanie procesora)
następnym razem / s użyj rsync
źródło
tar -cf - * | gzip | nc -p 4567
inc -l 4567 | gunzip | tar xf -
.