gzip - Umleitung oder Verrohrung?


10

Ich werde eine große Festplatte (750 GB) mit dd auf einer externen USB-Festplatte sichern.
Sollte ich Umleitung oder Rohrleitungen verwenden? Welches ist effizienter? Oder gibt es einen Unterschied?

Was ist auch die beste Blockgröße? USB dürfte hier der Engpass sein.

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

vs.

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

Vielen Dank.


2
Ich würde versuchen, Dateisysteme zu sichern, keine Raw-Disk-Images. Und um die Parameter abzustimmen, müssen Sie einen Benchmark durchführen.

ddist archaisch (jedes andere Tool beseitigt dankenswerterweise bs=und count=wie ddrescue) und in Ihrem Fall auch ziemlich sinnlos. Pipe es einfach in gzip -c </dev/sda >disk.img.gz& gzip -cd disk.img.gz >/dev/sda.

Oder machen Sie es mit rsync. Konstruieren Sie einfach den Befehl mit den Parametern, und Sie können alles so effizient wie möglich ausführen.
Vakufo

Was soll der dd if=.../disk.img.gz |Teil im zweiten Befehl der zweiten Auflistung tun? Soweit ich weiß, kümmert sich gzip -dc(= zcat) nicht darum, stdinwenn es ein Dateiargument gibt.
sr_

Ich glaube nicht, dass Linux Windows-Installationen zuverlässig reproduzieren kann, indem es einfach die Dateistruktur kopiert. Daher ist die Notwendigkeit des bitweisen Kopierens wie dd. ddrescuesieht robuster aus als schlicht dd. Würden Sie GNU verwenden ddrescueoder dd_rescue? Was ist eine gute Live-CD zum Herunterladen?
McU

Antworten:


3

Das Piping umfasst einen weiteren Prozess und eine weitere User-Land-Kopie. Daher sollte die Umleitung effizienter sein.

Aber ich denke, dass es heutzutage bei Hardware- und Software-Caching-Systemen keinen wirklichen Unterschied machen sollte. Vielleicht können Sie mit bs=4koder bessere Ergebnisse erzielen bs=64k, da dies unter Linux das Limit der Pipe ist . In dieser Frage finden Sie weitere Informationen zu verschiedenen bs- Parametern.


9

Sie müssen überhaupt keine ddRohrleitungen verwenden oder verwenden.

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

Ich habe einmal einen Benchmark erstellt und festgestellt, dass die Verwendung ddlangsamer ist als catfür eine direkte Kopie zwischen verschiedenen Festplatten. Ich würde erwarten, dass das Rohr ddin diesem Fall jede Lösung noch langsamer macht.


Dies ist ein Beispiel für die Verwendung der Umleitung.
Psusi

@psusi Gah! Ich wollte "dd or piping" schreiben. Vielen Dank.
Gilles 'SO - hör auf böse zu sein'

Gibt es eine Möglichkeit, pvdiese Befehle zu kombinieren ?
Yaron

2
@Yaron Sicher: gzipnach pv | gzipund gzip -dnach ersetzengzip -d | gv
Gilles 'SO - hör auf böse zu sein'

0

Einfacher:

gzip -c /dev/sda > disk.img.gz
gzip -dc /mnt/sdb1/backups/disk.img.gz > /dev/sda 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.