gzip - перенаправление или конвейер?


10

Я буду выполнять резервное копирование большого (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

Спасибо.


2
Я бы попытался сделать резервную копию файловых систем, а не сырых образов дисков И чтобы настроить параметры, вам придется тестировать.

ddявляется архаичным (любой другой инструмент, к счастью, покончит с ним bs=и count=т.п. ddrescue), и в вашем случае также в значительной степени бессмысленен. Просто вставьте это в gzip -c </dev/sda >disk.img.gz& gzip -cd disk.img.gz >/dev/sda.

Или сделать это с помощью rsync. Просто создайте команду с параметрами, и она сделает все максимально эффективным способом.
vakufo

Во второй команде второго листинга, что dd if=.../disk.img.gz |должна делать часть? Насколько я понимаю, gzip -dc(= zcat) его не волнует, stdinкогда есть аргумент файла.
sr_

Я не думаю, что Linux может надежно воспроизводить установки Windows, просто копируя файловую структуру. Отсюда необходимость побитового копирования вроде dd. ddrescueвыглядит более крепким, чем обычный dd. Вы бы использовали GNU ddrescueили dd_rescue? Что такое хороший Live CD для скачивания?
Mcu

Ответы:


3

Трубопровод включает в себя еще один процесс и еще одну пользовательскую копию, поэтому перенаправление должно быть более эффективным.

Но я полагаю, что в настоящее время система аппаратного и программного кэширования не должна иметь никакого значения. Может быть, вы можете получить лучшие результаты, используя bs=4kили bs=64k, так как это предел трубы в Linux. Смотрите этот вопрос для более подробной информации о различных параметрах bs .


9

Вам не нужно использовать ddили обвязка вообще.

</dev/sda gzip >/mnt/sdb1/backups/disk.img.gz
</mnt/sdb1/backups/disk.img.gz gunzip >/dev/sda

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


То есть пример использования перенаправления.
psusi

@psusi Гах! Я хотел написать «дд или трубопровод». Спасибо.
Жиль "ТАК - перестань быть злым"

Есть ли способ объединить pvв этих командах?
Ярон

2
@Yaron Sure: заменить gzipна pv | gzipи gzip -dпоgzip -d | gv
Жиля SO- перестать быть злым »

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