Jaki jest szybki sposób na skopiowanie dużej liczby plików z wewnętrznego dysku twardego na zewnętrzną pamięć (USB)?

8

Mam dużą ilość danych - około 500 GB - na wewnętrznym dysku twardym komputera stacjonarnego. Obejmuje to muzykę, filmy, pliki PDF ... nazywasz to.

Chcę skopiować wszystko na zewnętrzny dysk twardy USB (pojemność 1,5 TB).

Na komputerze stacjonarnym działa Ubuntu. Na początek po prostu podłączyłem i zamontowałem dysk twardy i przeciągnąłem folder najwyższego poziomu na dysk.

Zaczęło się kopiowanie, ale wydaje się, że przebiega bardzo powoli. Około 10 minut później i zrobiono to tylko około 500 MB. Jestem pewien, że jest to wolniejsze niż to, co mogłem osiągnąć przy mniejszej ilości danych.

Zastanawiam się więc, czy można to zrobić szybciej.

Czy lepiej byłoby skopiować go w sekcjach (czyli około 500 MB), a nie wszystkie naraz?

jonathanconway
źródło

Odpowiedzi:

10

Upewnij się, że korzystasz z portu USB 2.0 i upewnij się, że kontroler USB 2.0 mówi „wysoka prędkość” - wielu niesławnych producentów sprzedaje urządzenia USB „pełnej prędkości (12)” z widoczną etykietą „USB 2.0” na jest to technicznie dokładne, ale oszuka ludzi, którzy myślą, że USB 2.0 oznacza „wysoką prędkość”.

Sprawdź także, czy twój dysk twardy USB ma włączoną opcję „ synchronizacji ”? To kolejna przyczyna spowolnienia. Możesz ponownie zamontować system plików za pomocą

mount -o remount,async... /dev/usbdisk ...
rkthkr
źródło
+1 .. 500 MB / 10 min = 50 MB / min = 5 MB / 6 s = 0,83 MB / s = 6,7 Mb / s. nawet nie osiąga pełnej prędkości.
quack quixote
10

Niezależnie od tego, jaki jest twój interfejs do twardego dysku, którego powinieneś użyć rsync do kopiowania danych, może on wznowić przesyłanie i pliki osobno (- częściowe), zapewnia postęp i sumy kontrolne są weryfikowane na docelowym nośniku.

W skrócie:

rsync -avP src/ dst/

Jeśli przenosisz przez interfejs sieciowy, dodaj argument -C, aby włączyć kompresję, w większości przypadków będziesz ograniczony pasmem, więc nie zaszkodzi to wydajności, nawet jeśli zawartość jest już skompresowana.

Jeśli możesz, powinieneś tarować swoje dane przed ich przesłaniem, to zwolni system plików z konieczności tworzenia wielu plików, dodawania znaczników czasu, przydzielania miejsca ... na każdym pliku.
Prawdopodobnie zauważysz poprawę szybkości kopiowania.

Shadok
źródło
1
Wiem, że jestem spóźniony, ale rsync naprawdę mnie uratował. Musiałem odzyskać część danych dla klienta, a kopia pliku w moim systemie Xubuntu blokowała się (stara maszyna, stare dyski). RSYNC zasilany bezpośrednio przez kopię pliku. Użyłem nieco innych opcji. rsync source dest -r -v --ignore-
exist
9

Gdybym miał naprawdę ogromną ilość danych do skopiowania, wyciągnąłem dysk z zewnętrznej obudowy i włożyłem go wewnętrznie do komputera, a kiedy skończyłem, włożyłem go z powrotem do obudowy. Trzymam kilka kabli SATA i wnęki napędów otwarte na taką właśnie potrzebę. Otwarcie obudowy i ponowne jej zamknięcie zajmuje dużo czasu, ale sama kopia będzie mila szybsza.

Paul Tomblin
źródło
3

Nie wspomniałeś, jaki system plików znajdował się na dysku USB. Czy jest to macierzysty system plików Linux, czy używasz NTFS / FAT32? Myślę, że jeśli będziesz musiał przejść przez bezpiecznik, będzie cię to kosztowało wydajność.

Aby być z, po prostu podłączyłem i zamontowałem dysk twardy i przeciągnąłem folder najwyższego poziomu na dysk.

Jeśli masz tyle danych do skopiowania, osobiście pominę GUI, ponieważ spowoduje to dodanie narzutu do operacji kopiowania. Zamiast tego użyłbym jednego z wielu poleceń CLI (cp, rsync, cpio, tar itp.) Do kopiowania plików.

Czy lepiej byłoby skopiować go w porcjach po 500 MB, a nie wszystkie naraz?

Jeśli pracujesz z czymś takim jak rsync, nie powinno być powodu, aby kopiować pliki w małych zestawach.

Zoredache
źródło
masz rację, wydajność NTFS na Linuksie jest powolna.
quack quixote