Самый быстрый и безопасный способ скопировать массивные данные с одного внешнего диска на другой


86

Мне нужно иметь возможность скопировать около 2 ТБ данных с внешнего диска (один внешний USB-диск) на другой внешний диск (Drobo подключен через Firewire).

Искатель не вариант. Если он сталкивается с какой-либо проблемой, он останавливает процесс, и я должен выяснить, почему это не удалось, и начать все сначала. Это может занять у меня месяцы, чтобы пройти через это.

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

Кто-нибудь может подсказать, как я могу осуществить это с минимальными рисками и затратами?


Начиная с MacOS 10.13.4+, вы можете использовать Finder для копирования огромных файлов (и всех связанных ссылок). Я сам попробовал создать еще один резервный диск Time Machine (из уже существующего), и он работает быстро и красиво. Очевидно, до 10.13.4 это была ошибка, но это было исправлено. Больше информации в этом ответе: apple.stackexchange.com/a/323691/261070 .
youngrrrr

Ответ на это зависит от того, как вы определяете «самый быстрый». Вы хотите самую быструю скорость передачи или самое короткое время между тем, когда вы (человек) начнете работать над этим и закончите это. Время, которое вам понадобится, будет зависеть от того, пугает ли вас Терминал или нет. Идеальный ответ для вас также будет зависеть от того, является ли это однократной или часто повторяющейся операцией, а также от того, готовы ли вы тратить деньги или нет.
иконоборчество

Ответы:


144

Удаленная синхронизация, rsyncявляется надежным выбором для копирования больших объемов данных. Вы можете подготовить команду и выполнить пробный прогон перед фиксацией копии; добавить --dry-runдля имитации копии.

Ваша последняя команда будет довольно простой:

sudo rsync -vaE --progress /Volumes/SourceName /Volumes/DestinationName

Флаги:

  • v увеличивает многословие.
  • a применяет настройки архива для точного зеркалирования исходных файлов, включая символические ссылки и разрешения.
  • E копирует расширенные атрибуты и вилки ресурсов (только OS X).
  • progress обеспечивает обратный отсчет и передачу статистики во время копирования.

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

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

Есть множество руководств для получения максимальной отдачи от rsync, RSync примеров команд приводятся соответствующие примеры. Как @GordonDavisson комментирует ниже, будьте осторожны с конечными слешами; это может иметь огромное значение, если ваша копия начинается с папки.

Альтернативные инструменты включают dittoи cp. Оба являются разумным выбором, но предлагают различный синтаксис.


5

Я использовал bittorrent-синхронизацию для синхронизации 8 ТБ между моим Drobo и QNAP.


Bittorrent Sync - способ сделать это также. Понижения (на мой взгляд) не очень нужны.
Кузен Кокаин

6
@ CousinCocaine да, но вопрос был о том, как что-то сделать, а не о том, какое приложение использовать.
Диллон

@ Диллон: знание того, какое приложение использовать , иногда составляет 99% от того, что вам нужно знать, чтобы знать, как это сделать.
иконоборчество

3

Я ответил на аналогичный вопрос здесь некоторое время назад. Мой ответ скопирован ниже.


Я пользуюсь cp -Rfv sourcefile destinationfileс успехом на довольно регулярной основе.

cp = копия

R = поддерживает файловые иерархии

f = если существующий файл назначения не может быть открыт, удалите его и попробуйте снова

v = подробный режим, отображает файлы, переданные по мере продвижения

sourcefile = данные, которые вы хотите скопировать

destinationfile = каталог / диск, в который вы хотите скопировать


9
Однако стоит отметить, что cp будет перезаписывать файлы, даже если они не изменились, тогда как rsync не будет тратить время на копирование файлов, которые уже существуют в целевой папке. Таким образом, вы можете перезапустить с того места, где вы остановились, и / или выполнить инкрементное копирование.
Дэвид

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

3

«Самый быстрый» способ - это физически переместить оба диска, чтобы они были внутренними, на один компьютер, выполнить копирование (или rsync), а затем переместить их обратно.

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


Обратите внимание, что это быстрее из-за размера набора данных. Если бы это было намного меньше, преимущество в скорости было бы отменено временем перемещения дисков.
WGroleau

Нет, быстрее для большого количества данных. Для небольшого объема данных копирование все равно происходит быстрее, но время, необходимое для перемещения дисков, отменяет это. Тем не менее, он потенциально быстрее в не идеальных условиях, потому что в случае прерывания rsync может избежать повторного копирования тех, которые были сделаны до прерывания.
WGroleau

Если скорость передачи выше, но прерывание заставляет вас начать все сначала, скорее всего, весь процесс не будет быстрее, и весь процесс имеет значение. «идеальные условия» = ничто не мешает процессу . По моему опыту, очень часто случается что-то , что вызывает проблемы, когда вы имеете дело с массивным переводом. Вот почему я называю беспрерывный перевод «идеальным».
иконоборчество

Если вы используете rsync, как я уже сказал, прерывание не заставит вас начать все сначала.
WGroleau

Вы не понимаете, что я имею в виду под «начать все сначала» в этом контексте. Я хорошо осведомлен о том , что Rsync может забрать , где он остановился в данной синхронизации. Но если вы даете команду, и она не завершается, вы начинаете с вмешательства человека, что делает весь процесс более длительным. Либо вы тратите свое время на присмотр за детьми, либо вы сильно задерживаетесь между неудачей и ее обнаружением. Для человека важны время всего процесса и время вмешательства человека.
иконоборчество

1

Если вы хотите точно скопировать диск A на диск B, вы можете сделать это с помощью Дисковой утилиты.


Мы будем использовать функцию восстановления Дисковой утилиты . Некоторые отличия между Восстановлением и копированием и вставкой:

Функция восстановления в Дисковой утилите использует функцию блочного копирования, которая может ускорить процесс копирования . Это также делает почти точную копию исходного устройства . Когда мы говорим «почти точно», мы не подразумеваем, что полезные данные могут остаться позади, потому что это не так. Это означает, что копия блока копирует все данные в блоке данных с одного устройства на другое . Результаты являются почти точной копией оригинала. Копия файла, с другой стороны, копирует файл данных за файлом, и, хотя данные файла остаются неизменными, местоположение файла на исходном и целевом устройствах, вероятно, будет сильно отличаться .

Использование блочной копии быстрее , но у нее есть некоторые ограничения, которые влияют на то, когда ее можно использовать, наиболее важным из которых является то, что копирование блок за блоком требует, чтобы исходное и целевое устройства были сначала отключены от вашего Mac. Это гарантирует, что данные блока не изменятся в процессе копирования. Не волнуйтесь, хотя; Вам не нужно делать размонтирование. Функция восстановления Дисковой утилиты позаботится об этом за вас. Но это означает, что ни источник, ни пункт назначения не могут использоваться при использовании возможностей восстановления .

Источник: https://www.lifewire.com/use-disk-utility-to-clone-macs-drive-4042367


инструкции

для копирования всех файлов с устройства A на устройство B

ПРЕДУПРЕЖДЕНИЕ . При восстановлении одного тома на другой все файлы на целевом томе стираются. Перед восстановлением тома скопируйте все файлы с целевого тома, которые вы хотите сохранить, на другой том.

  1. Выберите «Просмотр»> «Показать все устройства».
  2. Выберите громкость на боковой панели, которую вы хотите восстановить, затем нажмите кнопку «Восстановить» введите описание изображения здесьили выберите «Правка»> «Восстановить».

Это том, который стирается и становится точной копией. [Устройство B]

  1. Нажмите всплывающее меню «Восстановление», затем выберите том, который хотите скопировать [Устройство A].
  2. Нажмите Восстановить, затем нажмите Готово.

Источник: https://support.apple.com/guide/disk-utility/restore-a-disk-dskutl14062/mac


Копирование блоков также требует времени на копирование свободного места и завершится ошибкой, если место назначения на один блок меньше исходного. (Может произойти сбой таким способом, который не обнаруживается сразу.) И если место назначения больше, дополнительное пространство становится непригодным для использования.
WGroleau

@WGroleau, не могли бы вы остановиться на том, что «дополнительное пространство становится непригодным для использования»
JBis

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

@WGroleau, чтобы я вас правильно понял, если у меня есть диск объемом 500 ГБ с одним файлом объемом 1 ГБ и копия блока на диск объемом 1000 ГБ, что произойдет? А можно ссылку на сайт?
JBis

Посмотрите на странице справочника "dd". Будет скопировано 500 ГБ, но большая часть из 499 ГБ будет пустой. Часть, которая не является видимой только для операционной системы и сообщает, что у вас есть диск на 500 ГБ. Также посмотрите «карту разделов» и «карту объемов»
WGroleau

0

Если вы не хотите идти по пути командной строки, я обычно использую приложение FreeFileSync для синхронизации 2 ТБ данных из внешнего массива в сетевом расположении без проблем. Вы можете контролировать, как он обрабатывает ошибки, и получать журнал после его завершения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.