Я делаю dd
на двух одинаковых дисках с этой командой:
dd if=/dev/sda of=/dev/sdb bs=4096
Оба жестких диска имеют одинаковый номер модели, и оба имеют 1 ТБ дискового пространства. /dev/sda
использует размер блока 4096. /dev/sda
является локальным диском и /dev/sdb
удаленным кэдди. Я мог бы использовать следующие протоколы:
- USB2.0 HighSpeed (в настоящее время план)
- Gigabit Over-The-Network клон (на самом деле не хочу даже попробовать это)
- USB3.0 (если я найду другой накопитель caddy)
- eSATA (если я найду / куплю кабель)
- SATA (если я найду / куплю кабель, обязательно полюблю диски для ноутбука)
Есть ли способ запустить эту копию диска, которая занимает менее 96 часов? Я открыт для использования инструментов, кроме dd
.
Мне нужно клонировать следующие разделы (включая UUID)
- Раздел Fat32 EFI (*)
- NTFS раздел Windows (*)
- Раздел HFS + OSX
- EXT4 Ubuntu Partition (*)
- Сменный раздел (*)
*
Поддерживается Clonezilla
Я пробовал Clonezilla (и он был НАМНОГО быстрее), но он не поддерживает HFS + интеллектуальное копирование, которое мне нужно. Может быть, новейшая версия поддерживает это?
Когда я сделал свой первый клон, я сделал все разделы, кроме HFS +, и все прошло очень быстро. (Всего не более 3 часов)
источник
dd
копирует все , включая свободное место. Недостатки становятся особенно очевидными, когда у вас большие диски, которые не полностью заполнены.Ответы:
По моему опыту, я не думаю, что в командной строке есть что-то более быстрое, чем
dd
. Настройкаbs
параметра может увеличить скорость, например, у меня есть 2 жестких диска, которые, как мне известно, имеют скорость чтения / записи более 100 МБ / с, поэтому я делаю это:Также есть
pv
(сначала необходимо установить), который проверяет максимальную скорость на обоих дисках, а затем переходит к клонированию. Это должно быть сделано, конечно, от root:С PV я получил 156 МБ / с
Отличительной особенностью
pv
помимо скорости является то, что она показывает прогресс, текущую скорость, время с момента ее начала и ETA. Что касается HFS +, я бы не знал, я просто пытаюсь помочь в части «скорость». Сpv
помощьюbs
параметра или очень оптимизированного параметра вы можете создать накопитель на 4 ТБ менее чем за 7 часов (6 часов 50 минут при текущей скорости 150 МБ / с).Я провел пару тестов с типами соединений, которые вы использовали, и другими, которые у меня были доступны. Я использовал Asus Z87 Pro и Intel DZ68DP. Это были мои результаты, но сначала мы должны знать, что теоретические скорости для многих скоростей передачи (сырые скорости) - это всего лишь теория . Проведение реальных испытаний показало, что они составляют от 40% до 80% от этой необработанной скорости. Эти тесты могут меняться в зависимости от используемого устройства, типа подключения, материнской платы, типа соединительного кабеля, типа файловой системы и т. Д. Имея это в виду, это то, что я получил (я тестировал только скорость записи на устройство, чтение обычно выше):
источник
bs
параметра может сделатьdd
так быстро, какcat
. Вы могли бы также использоватьcat
в первую очередь.pv
само по себе работает очень, очень хорошо.dd if=/dev/sda1 | pv | dd of=/dev/sdb1
pv
междуdd
с. Никогда не знал, что его можно использовать отдельно!Чтобы скопировать раздел оптом, используйте
cat
вместоdd
. Некоторое время назад я проводил тесты , копируя большой файл, а не раздел, между двумя дисками (на одном диске относительная синхронизация различна):Вывод из этого теста заключается в том, что выбор размера блока
dd
имеет значение (но не так уж много), иcat
автоматически находит лучший способ сделать быструю копию:dd
может только замедлить вас. При небольшом размере блокаdd
теряется время, затрачиваемое на чтение и запись. При большом размере блока один диск остается свободным, в то время как другой читает или записывает. Оптимальная скорость достигается, когда один диск читает, а другой диск пишет.Чтобы скопировать раздел, может быть быстрее скопировать файлы с
cp -a
. Это зависит от того, сколько файлов существует и сколько файловой системы занимает свободное место. Копирование файлов имеет накладные расходы, которые примерно пропорциональны количеству файлов, но, с другой стороны, копирование свободного места тратит время.Максимальная скорость передачи данных для USB2 составляет чуть менее 50 МБ / с, что составляет до 6–7 часов для передачи 1 ТБ. Предполагается, что жесткий диск достаточно быстр для насыщения шины USB; Я думаю, что более быстрые накопители на 7200 об / мин могут это сделать, но 5900 об / мин могут быть не такими быстрыми (возможно, они предназначены для линейной записи?).
Если какой-либо из дисков используется параллельно, это может значительно замедлить копирование, поскольку головки дисков должны будут перемещаться.
источник
cat
быть использован дляdd if=ubuntu.iso of=/dev/usb
?dd
Скорость выполнения этого действия с USB2 или USB3 удручающе мала.cat ubuntu.iso >/dev/usb
это точно эквивалентно. В этом нет никакой магииdd
, это всего лишь инструмент для копирования входных данных в выходные данные.sudo cat linuxmint-17.3-cinnamon-64bit.iso >/dev/disk1
отдать обратно "-bash: / dev / disk1: В доступе отказано"Проблема в вашем типе соединения и размере блока. Для получения самых быстрых результатов размер вашего блока должен быть в два раза меньше самой низкой скорости записи, которую вы обычно получаете. Это даст вам безопасную маржу, но все равно позволит использовать большое количество; конечно, у вас должно быть достаточно памяти для хранения данных.
Usb 2.0 - 12 мегабит в секунду (Мбит / с), Usb 2.0 High Speed - 480 Мбит / с. Это, конечно, грубая скорость; с 8 битами в байтах и издержками на кадрирование полезная скорость в МБ / с обычно больше десятичного разряда. Так, например, 480 raw, становится доступным 48 МБ. Имейте в виду, что это математически лучше, в реальном мире это будет немного ниже. Для высокоскоростных соединений USB 2.0 вы должны ожидать максимальную скорость записи где-то около 30-35 МБ, при условии, что фактическое устройство хранения может приравнять или превышать скорости соединения.
источник
Я согласен, что грубая скорость хорошо настроенной
dd
('pv') или 'cat' команды трудновыполнима, но если есть какие-либо проблемы с копией (плохой сектор, сбой питания, ошибка пользователя и т. Д.), То вам нужно начать над.Я хотел бы предложить ddrescue - инструмент FOSS, который имеет всю скорость dd, но он будет работать с ошибками диска и возобновит работу позже, если произойдет сбой.
источник
Я перемещаю Windows 7 с жесткого диска на твердотельный накопитель и нашел этот и некоторые другие ответы ... Что-то, что я узнал, что может помочь другим. В моем случае исходный диск больше, иначе я бы работал на уровне устройства / dev / sda -> / dev / sdb.
Win7 и его 3 раздела ... Я использовал Xbuntu 14.04 Live CD на USB. Выскочил DVD победного компьютера и поставил SSD на место. Установил partclone и попробовал это:
partclone.ntfs -b -N -s /dev/sda3 -o /dev/sdb3
Partclone вытащил ntfs, нуждающийся в запуске chkdisk в Windows, поэтому быстрое исправление порадовало partclone:
Все команды запускаются как root. Интерфейс ncurses от Partclone (опция -N) говорит, что скорость передачи данных составляет 7 ГБ / мин, а скорость передачи составляет 5 ГБ / мин, что соответствует 83 МБ / с. Большая часть - partclone не копирует неиспользуемое пространство, поэтому это сделало клон на удивление быстрым.
Дополнительный потенциал Гочяса:
если диск, на который вы переносите файл, использовался ранее, он может содержать остатки GPT. Заводские установки Windows 7 обычно представляют собой таблицы разделов msdos / mbr. Вам нужно будет удалить фрагменты GPT с целевого диска. Этот Unix & Linux QA помог мне с этим. Вы должны использовать
gdisk
на устройстве, используйте x, z и да, чтобы сжать данные GPT и убедитесь, что вы сохраняете MBR.И не забывайте, что если вы не используете dd уровня устройства, вам нужно скопировать MBR, используя
dd if=/dev/sdb of=/dev/sda bs=446 count=1
где sdb - исходный или старый диск, а sda - целевой или новый диск ( источник ).
источник
Недавно я создал образ раздела 100 ГБ (HDD) и записал его на новый диск SSD.
Вот совет, который может значительно ускорить процесс :)
Разделить файл на более мелкие части (чем больше файл, тем медленнее он работает)
Во время процесса вы можете проверить скорость с помощью (в отдельном терминале)
Затем, когда у вас есть каталог, полный файлов результатов (maindisk.img000, maindisk.img001 и т. Д.), Используйте
«записать» образ в новый раздел SSD (раздел должен иметь тот же размер, что и старый)
Для меня это работало намного быстрее, чем обычно (без разбиения). Средняя скорость создания изображения составила ~ 13 МБ / с. Когда я использую «нормальный» способ, он начинается с ~ 15 МБ / с, а затем уменьшается до 1 МБ / с.
источник
conv=sync
вреден для производительности и довольно бесполезен в этом случае использования.Любой, кто найдет эту ветку, гораздо проще и быстрее просто использует инструмент, предназначенный для восстановления данных, такой как ddrescue . Сначала он пытается спасти хорошие части в случае ошибок чтения. Также вы можете прервать спасение в любое время и возобновить его позже в той же точке.
Запустите его дважды:
В первом раунде скопируйте каждый блок без ошибок чтения и запишите ошибки в файл rescue.log.
Второй раунд, скопируйте только плохие блоки и попробуйте 3 раза прочитать из источника, прежде чем сдаться.
Теперь вы можете смонтировать новый диск и проверить файловую систему на наличие повреждений.
Дополнительная информация:
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html.
источник
Я бы рекомендовал, чтобы вход / чтение - файл / диск был на SATA для повышения скорости чтения. Высокая скорость USB 2.0 также хороша, так как я получаю среднюю скорость 33816 кбит / с с ddrescue по сравнению с тем, когда настройка была USB 2.0 для SATA при 2014 кбит / с
источник
Используйте другой размер блока. Это количество данных, которые
dd
считываются за раз. Если чтение слишком мало, большая часть времени тратится на логику программы, а если читается слишком много, тратится много времени на перемещение больших данных.Чтобы измерить скорость при разных размерах блока, используйте следующий
bash
скрипт:$dev
на устройствоcbtotal
чтобы быть как минимум в 5 раз больше ожидаемой скорости чтенияРезультат может быть смещен в сторону большего размера из-за чтения с диска, поэтому важно установить его
cbtotal
достаточно большим.источник