Ich weiß, dass das Ausführen einer dd if = / dev / hda von = / dev / hdb eine tiefe Festplattenkopie bewirkt. Ich habe gehört, dass die Benutzer den Prozess beschleunigen konnten, indem sie die Anzahl der gleichzeitig gelesenen und geschriebenen Bytes (512) mit der Option "bs" erhöhten.
Meine Frage ist:
Was bestimmt die ideale Bytegröße für das Kopieren von einer Festplatte?
und
Warum bestimmt das die ideale Bytegröße?
linux
hard-drive
optimization
clone
James T
quelle
quelle
Antworten:
Wie Chris S sagt, ist die optimale Blockgröße hardwareabhängig. Nach meiner Erfahrung ist es immer größer als die Standard 512 Bytes. Wenn Sie mit Raw-Geräten arbeiten, hat die darüber liegende Dateisystemgeometrie keine Auswirkungen. Ich habe das folgende Skript verwendet, um die Blockgröße von dd zu optimieren.
quelle
/dev/zero
wird generiert, Sie müssen es nicht von der Festplatte lesen. du könntestdd if=/dev/zero ibs=1M count=32 obs=$bs of=/var/tmp/outfile
@ olivier-dulac auchdd
schon die geschwindigkeit drucken; Ich glaube nicht, dasstime
(oder/usr/bin/time
) irgendwelche Informationen wert sind.Leider hängt die perfekte Größe von Ihrem Systembus, dem Festplattencontroller, dem jeweiligen Laufwerk selbst und den Treibern für jedes Laufwerk ab. Die einzige Möglichkeit, die perfekte Größe zu finden, besteht darin, verschiedene Größen auszuprobieren. Faire Warnung, dass einige Geräte nur eine Blockgröße unterstützen, obwohl dies selten ist, und in der Regel machen Treiber den Unterschied trotzdem aus.
Ich finde, dass eine Blockgröße von 2 ^ 15 oder 2 ^ 16 am besten für meine WDC-SATA-Laufwerke (8 MB Cache) geeignet ist, die an einen Adaptec SAS-RAID-Controller, 4x PCIe, 64-Bit-FreeBSD 8.0-STABLE angeschlossen sind. Aber für meinen billigen alten USB-Stick scheinen Größen von 2 ^ 10 am schnellsten zu sein.
Die "perfekte Größe" ist fast immer eine Zweierpotenz.
quelle
Ich kann für das Verdienst bürgen, das Ergebnis der Durchführung eines Tests an dem verwendeten Gerät zu messen, bevor Zeit verschwendet wird. Ich habe mich dummerweise nicht darum gekümmert, und nach dem Messen und Anpassen der Blockgröße habe ich die DD-Dauer einer 590-GB-Übertragung halbiert. Derselbe BS-Wert hätte nur die Zeit um 20% reduziert, wenn eine andere Caddy / Drive-Kombination verwendet worden wäre.
quelle