8

У меня большой объем данных - около 500 ГБ - на внутреннем жестком диске настольного ПК. Это включает в себя музыку, видео, PDF-файлы ... вы называете это.

Я хочу скопировать все на внешний жесткий диск USB (емкостью 1,5 ТБ).

Настольный ПК работает под управлением Ubuntu. Для начала я просто подключил и установил жесткий диск и перетащил папку верхнего уровня на диск.

Он начал копировать, но, похоже, идет очень медленно. Примерно через 10 минут, и это только около 500 МБ. Я уверен, что это медленнее, чем то, что я мог бы достичь с меньшим количеством общих данных.

Поэтому мне интересно, есть ли более быстрый способ сделать это.

Было бы лучше скопировать это в разделы (то есть 500 МБ или около того), а не все сразу?

4 ответа4

10

Убедитесь, что вы используете порт USB 2.0 и убедитесь, что контроллер USB 2.0 говорит "высокая скорость" - многие авторитетные производители продают «полноскоростные (12)» USB-устройства с заметной меткой «USB 2.0» на их, что технически точно, но дураки люди, которые думают, что USB 2.0 подразумевает "высокую скорость".

Также проверьте, включен ли на вашем жестком диске USB параметр « синхронизация »? Это еще одна причина для замедления. Вы можете перемонтировать файловую систему с

mount -o remount,async... /dev/usbdisk ...
10

Независимо от вашего интерфейса с жестким диском, вы должны использовать rsync для копирования данных, он может возобновлять передачу и файлы по отдельности (--partial), он дает вам прогресс и контрольные суммы проверяются на целевом носителе.

Короче:

rsync -avP src/ dst/

Если вы передаете через сетевой интерфейс, добавьте аргумент -C, чтобы включить сжатие, в большинстве случаев вы будете ограничены пропускной способностью, поэтому это не повлияет на производительность, даже если содержимое уже сжато.

Если вы можете сделать это, перед тем как передать данные, вы избавитесь от необходимости создавать множество файлов, добавлять временные метки, выделять место ... для каждого файла.
Вы, вероятно, увидите улучшение скорости копирования.

9

Если бы у меня было действительно огромное количество данных для копирования, я бы вытащил диск из внешнего корпуса и вставил его внутрь компьютера, а затем положил обратно в корпус, когда закончил. Я держу пару кабелей SATA и отсеки для дисков открытыми именно для такой необходимости. Открытие корпуса и повторное его закрытие отнимает много времени, но сама копия будет в несколько раз быстрее.

3

Вы не упомянули, какая файловая система была на USB-диске. Это родная файловая система Linux или вы используете ntfs/fat32? Я думаю, что если вам придется пройти через предохранитель, это будет стоить вам производительности.

Для этого я просто подключил и установил жесткий диск и перетащил папку верхнего уровня на диск.

Если у вас есть столько данных для копирования, лично я бы пропустил GUI, так как это добавит накладные расходы к вашей операции копирования. Вместо этого я бы использовал одну из многих команд CLI (cp, rsync, cpio, tar и т.д.) Для копирования файлов.

Было бы лучше скопировать его порциями по 500 МБ или около того, а не все сразу?

Если вы работаете с чем-то вроде rsync, не должно быть никаких причин копировать файлы небольшими наборами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .