Я делаю a dd
на двух идентичных дисках с этой командой:
dd if=/dev/sda of=/dev/sdb bs=4096
Оба жестких диска являются тем же самым номером модели, и у обоих есть 1 ТБ пространства памяти. /dev/sda
использует blocksize 4 096. /dev/sda
локальный диск и /dev/sdb
удаленный кэдди. Я смог использовать следующие протоколы:
Существует ли способ выполнить эту копию диска, которая берет меньше это 96 часов? Я открыт для использования инструментов кроме dd
.
Я должен клонировать следующие разделы (включая UUID)
*
Поддерживаемый Clonezilla
Я попробовал Clonezilla (и это было НАМНОГО быстрее), но это не поддерживает HFS + умное копирование, в котором я нуждаюсь. Возможно, новейшая поддержка версии это?
Когда я сделал свой первый клон, я сделал все разделы кроме HFS +, и он пошел очень быстро. (Не больше, чем общее количество 3 часов)
По моему опыту, я не думаю, что существует что-то быстрее в командной строке как dd
. Корректировка bs
параметр может увеличить скорость, например, у меня есть 2 жестких диска, которые я знаю, имеют скорость чтения-записи, больше, чем 100 МБ/с, таким образом, я делаю это:
dd if=/dev/sda of=/dev/sdb bs=100M
существует также pv
(Потребности, которые будут установлены сначала), который проверяет на самую быструю скорость на обоих дисках и затем продолжается на клонировании. Это должно быть сделано, конечно, от корня:
pv < /dev/sda > /dev/sdb
С PV я получил 156 МБ/с
хорошая вещь, которая [приблизительно 116] кроме скорости - то, что это показывает прогресс, текущую скорость, время, так как это началось и ЭТА. В отношении HFS + я не знал бы, просто пытаюсь помочь на части "скорости". С pv
или очень оптимизированный bs
параметр, можно сделать 4 диска емкостью меньше чем через 7 Часов (6 Часов 50 Минут на текущей скорости 150 МБ/с).
я сделал несколько тестов с типами соединения, которые Вы использовали и другие, которых я имел в наличии. Я использовал Asus Z87 Pro и Intel DZ68DP. Это было моими результатами, но сначала мы должны знать, что теоретические скорости для многих скоростей передачи (Необработанные скорости) являются просто этим, теория . Выполнение реальных тестов показало, что они между 40% к 80% той необработанной скорости. Это тестирует, может измениться в зависимости от используемого Устройства, тип соединения, материнская плата, тип соединительного кабеля, тип файловой системы и т.д. Имея это в виду, это - то, что я получил (я только протестировал скорость Записи к Устройству, читайте, обычно выше):
Connected Device - Connection Type - Speed (Write Speed)
USB 2.0 USB 2.0 25 MB/s
USB 3.0 USB 2.0 35 MB/s
USB 3.0 USB 3.0 73 MB/s
eSata eSata 80 MB/s
Sata 2G HDD Sata 2G 120 MB/s
Sata 3G HDD Sata 2G 140 MB/s
Sata 3G HDD Sata 3G 190 MB/s
Sata 2G SDD Sata 2G 170 MB/s
Sata 3G SDD Sata 2G 210 MB/s
Sata 3G SDD Sata 3G 550 MB/s
Скопировать оптовую торговлю разделом, использование cat
вместо dd
. Я работал сравнительные тесты только что, копируя большой файл, а не раздел, между двумя дисками (на том же диске, относительные синхронизации отличаются):
dd bs=64M 51.3
dd bs=1M 41.8
dd bs=4k 48.5
dd bs=512 48.9
cat 41.7
cp 45.3
заключение из этого сравнительного теста состоит в том, что выбор размера блока для dd
вопросы (но не так очень), и cat
автоматически находит лучший способ сделать быструю копию: dd
может только замедлить Вас. С маленьким размером блока, dd
напрасно тратит время, делая потерянным крошечных чтений и записей. С большим размером блока один диск остается неактивным, в то время как другой читает или пишет. Оптимальный уровень достигается когда одно чтение с диска в то время как другие записи на диск.
Для копирования раздела это может быть быстрее для копирования файлов с cp -a
. Это зависит от сколько файлов, там и сколько из файловой системы свободное пространство. Копирование файлов имеет издержки, это примерно пропорционально количеству файлов, но с другой стороны копирование свободного пространства напрасно тратит время.
максимальная скорость передачи данных для USB2 немного находится под 50 МБ/с, который удается к 6†“7 часов для передачи 1 ТБ. Это принимает жесткий диск, это достаточно быстро для насыщения Шины USB; я думаю, что более быстрые диски на 7 200 об/мин могут сделать это, но 5900 об/мин не могли бы быть то, что быстро (возможно, они для линейных записей?).
, Если любой диск используется параллельно, это может значительно замедлить копию, поскольку головки диска должны будут переместиться.
Проблемой является Ваш тип соединения и размер блока. Для самых быстрых результатов Ваш размер блока должен быть половиной самой низкой записи, ускоряют Вас, обычно получают. Это будет давать Вам безопасное поле, но все еще допускать большое количество; конечно, у Вас должно быть достаточно поршня для содержания данных также.
Usb 2.0 составляет 12 мегабит в секунду (Мбит/с), Высокая скорость Usb 2.0 составляет 480 Мбит/с. Это - конечно, необработанная скорость; с 8 битами в байте и структурирующий наверху, применимая скорость в МБ/с обычно является законченным десятичным разрядом. Так, например, 480 сырых данных, становится применимыми 48 МБ. Следует иметь в виду, что это - математическое лучшее в реальном мире, это будет немного ниже. Для высокоскоростных соединений usb 2.0 необходимо ожидать где-нибудь, что приблизительно 30-35 МБ макс. пишут скорость, если устройство настоящего хранения может приравнять или превзойти скорости соединения.
Я соглашаюсь, что необработанная скорость хорошо настроенного dd
('объем плазмы') или команда 'кошки' жестка для избиения, но если существует какая-либо проблема с копией (поврежденный сектор, сбой питания, пользовательская ошибка, и т.д.) тогда необходимо запустить.
я хотел бы предложить ddrescue - инструмент FOSS, который имеет всю скорость dd, но это будет работать вокруг ошибок диска и возобновляться позже, если будет отказ.
Я перемещаю Windows 7 от жесткого диска до SSD и нашел это и некоторые другие ответы... Что-то, что я изучил, который мог бы помочь другим. В моем случае исходный диск является более крупным, еще я работал бы в/dev/sda->/dev/sdb уровень устройств.
Win7 и его 3 раздела... Я использовал Xbuntu 14.04 живой CD на usb. Высунутый DVD компьютера победы и положенный SSD на его место. Установленный partclone и попробованный это:
partclone.ntfs -b -N -s /dev/sda3 -o /dev/sdb3
Partclone рвал на ntfs, нуждающемся chkdisk выполненный в Windows, таким образом, быстрое исправление стало partclone счастливый:
ntfsfix -b /dev/sda3
ntfsfix -d /dev/sda3
Все команды, выполненные как корень. ncurses UI Partclone (-N опция) сказал, что передача была 7GB/min и закончилась в 5GB/min, который приравнивается к 83MB/sec. Большая часть является partclone, не копирует неиспользуемое место, таким образом, это сделало клон удивительно быстро.
Дополнительный потенциал gotchyas:
, если диск Вы передаете, ранее использовался, он мог бы иметь остатки 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 ГБ (жесткий диск) и пишу его в новый диск SSD.
Вот подсказка, которая может решительно ускорить процесс:)
файл Разделения в меньшие части (чем больше файл, тем медленнее это работает)
sudo dd if=/dev/sda3 conv=sync,noerror bs=2M | split -a 3 -d -b 1G - /maindisk.img
Во время процесса, можно проверить использование скорости (в отдельный терминал)
pgrep -l '^dd Затем когда у Вас есть каталог, полный файлов результата (maindisk.img000, maindisk.img001, и так далее...) использование
sudo cat maindisk.img* | sudo dd of=/dev/sda1
для 'записывания' изображения в новый раздел SSD (parition должен быть тот же размер как старый)
мне, это работало loooot быстрее чем обычно путь (не разделяя). Средняя скорость создания изображения была ~13MB/s. Когда я использую 'нормальный' путь, он запускается с ~15MB/s и затем уменьшающийся к 1MB/s.
#to find PROCESSID
kill -USR1 PROCESSID #to check the speed
Затем когда у Вас есть каталог, полный файлов результата (maindisk.img000, maindisk.img001, и так далее...) использование
sudo cat maindisk.img* | sudo dd of=/dev/sda1
для 'записывания' изображения в новый раздел SSD (parition должен быть тот же размер как старый)
мне, это работало loooot быстрее чем обычно путь (не разделяя). Средняя скорость создания изображения была ~13MB/s. Когда я использую 'нормальный' путь, он запускается с ~15MB/s и затем уменьшающийся к 1MB/s.
Для любого находящего этот поток, это намного легче и быстрее, чтобы просто использовать инструмент, разработанный для восстановления данных как ddrescue. Это пытается спасти хорошие части сначала в случае ошибок чтения. Также можно прервать спасение в любое время и возобновить его позже в той же точке.
Выполните его дважды:
Первый раунд, скопируйте каждый блок без ошибки чтения и зарегистрируйте ошибки к rescue.log.
sudo ddrescue -f -n /dev/sdX /dev/sdY rescue.log
Второй раунд, скопируйте только сбойные блоки и попытайтесь 3 раза читать из источника перед отказом.
sudo ddrescue -d -f -r3 /dev/sdX /dev/sdY rescue.log
Теперь можно смонтировать новый диск и проверить файловую систему на повреждение.
Подробнее:
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html
Идентификатор рекомендует входу/чтению - файл/диск быть на SATA для повышения скоростей чтения. Высокая скорость USB 2.0 хороша также, поскольку я получаю средние скорости 33 816 Кбит/с с ddrescue по сравнению с тем, когда установка была USB 2.0 к SATA в 2 014 Кбит/с
Используйте другой размер блока. Это - объем данных это dd
чтения за один раз. При чтении слишком мало, большая доля времени потрачена на логику программы и, если считано слишком много, много времени проведено, перемещая большие данные вокруг.
Для измерения скорости в различных размерах блока используйте следующий bash
сценарий:
$dev
на устройство cbtotal
, чтобы быть, по крайней мере, 5x Ваша ожидаемая скорость чтения (set -o errexit; skip=0; cbtotal=$((120*1024**2)); bs=256;
for power in `seq 10`; do
bs=$((bs*2)); skip=$((skip/2)); count=$((cbtotal/bs));
if [ "$count" -lt 1 ]; then break; fi;
echo $bs;
dd if=$dev of=/dev/null skip=$skip bs=$bs count=$count
skip=$((skip+count))
done)
, результат может склоняться к большему размеру из-за чтения с диска вперед - вот почему важно установить cbtotal
достаточно большой.
dd if=/dev/sda of=/dev/sdb bs=100M status=progress
Мне удалось получить 430 МБ / с, когда я делал образ с SATA SSD на NVME SSD