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.

mcu
quelle
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.

Coren
quelle
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.

Gilles 'SO - hör auf böse zu sein'
quelle
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 
Mike Redrobe
quelle