Я буду выполнять резервное копирование большого (750 ГБ) диска на внешний USB-диск с помощью dd.
Должен ли я использовать перенаправление или трубопровод? Что является более эффективным? Или есть разница?
Кроме того, каков наилучший размер блока? USB, скорее всего, будет узким местом здесь.
dd if=/dev/sda bs=1M | gzip -c > /mnt/sdb1/backups/disk.img.gz
gzip -dc /mnt/sdb1/backups/disk.img.gz | dd of=/dev/sda bs=1M
против
dd if=/dev/sda bs=1M | gzip -c | dd of=/mnt/sdb1/backups/disk.img.gz
dd if=/mnt/sdb1/backups/disk.img.gz | gzip -dc | dd of=/dev/sda bs=1M
Спасибо.
dd
является архаичным (любой другой инструмент, к счастью, покончит с нимbs=
иcount=
т.п.ddrescue
), и в вашем случае также в значительной степени бессмысленен. Просто вставьте это вgzip -c </dev/sda >disk.img.gz
&gzip -cd disk.img.gz >/dev/sda
.dd if=.../disk.img.gz |
должна делать часть? Насколько я понимаю,gzip -dc
(=zcat
) его не волнует,stdin
когда есть аргумент файла.dd
.ddrescue
выглядит более крепким, чем обычныйdd
. Вы бы использовали GNUddrescue
илиdd_rescue
? Что такое хороший Live CD для скачивания?Ответы:
Трубопровод включает в себя еще один процесс и еще одну пользовательскую копию, поэтому перенаправление должно быть более эффективным.
Но я полагаю, что в настоящее время система аппаратного и программного кэширования не должна иметь никакого значения. Может быть, вы можете получить лучшие результаты, используя
bs=4k
илиbs=64k
, так как это предел трубы в Linux. Смотрите этот вопрос для более подробной информации о различных параметрах bs .источник
Вам не нужно использовать
dd
или обвязка вообще.Однажды я сделал эталонный тест и обнаружил, что использование
dd
медленнее, чемcat
для прямой копии между различными дисками. Я ожидал бы, что труба примет любое решение, вовлекающееdd
даже медленнее в этом случае.источник
pv
в этих командах?gzip
наpv | gzip
иgzip -d
поgzip -d | gv
Simpler:
источник