Voy a hacer una copia de seguridad de un disco grande (750 GB) en un disco USB externo usando dd.
¿Debo usar redirección o tuberías? ¿Cuál es más eficiente? ¿O hay alguna diferencia?
Además, ¿cuál es el mejor tamaño de bloque? Es probable que el USB sea el cuello de botella aquí.
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
Gracias.

ddes arcaico (afortunadamente cualquier otra herramienta eliminabs=ycount=, comoddrescue), y en su caso también es bastante inútil. Solo conéctelo agzip -c </dev/sda >disk.img.gz&gzip -cd disk.img.gz >/dev/sda.dd if=.../disk.img.gz |supone que debe hacer la parte? Por lo que yo entiendo,gzip -dc(=zcat) no le importastdincuando hay un argumento de archivo.dd.ddrescueparece más robusto que simpledd. ¿Usarías GNUddrescueodd_rescue? ¿Qué es un buen Live CD para descargar?Respuestas:
La canalización implica un proceso más y una copia de aterrizaje de usuario más, por lo que debería ser más eficiente usar la redirección.
Pero supongo que en el sistema de almacenamiento en caché de hardware y software de hoy en día, no debería haber ninguna diferencia real. Tal vez pueda obtener mejores resultados usando
bs=4kobs=64k, ya que es el límite de la tubería en Linux. Consulte esta pregunta para obtener más detalles sobre los diferentes parámetros de bs .fuente
No necesita usar
ddni tuberías en absoluto.Una vez hice un punto de referencia y encontré el uso
ddmás lento quecatpara una copia directa entre diferentes discos. Esperaría que la tubería haga cualquier solución que impliqueddaún más lenta en este caso.fuente
pvestos comandos?gzipporpv | gzipygzip -dporgzip -d | gvMás simple:
fuente