Estoy tratando de averiguar el tamaño óptimo para una copia grande de mi disco duro usando dd. Estoy tratando de averiguar cuál es el mejor tamaño de bloque para usarlo, lo que supongo es el tamaño de bloque de hardware para esa unidad.
linux
hard-drive
dd
Llama
fuente
fuente
Respuestas:
El comando lsblk es excelente para esto:
Los resultados:
fuente
Linux expone el tamaño del sector físico en los archivos
/sys/block/sdX/queue/physical_block_size
. Sin embargo, para obtener el mejor rendimiento, probablemente debería hacer una pequeña prueba con diferentes tamaños y medidas. Podría no encontrar una clara respuesta en el que el uso de exactamente el tamaño de bloque físico sería obtener el resultado óptimo (aunque supongo que no puede ser una mala elección).fuente
hdparm
probablemente te mentirá.http://wayback.archive.org/web/20150921015457/https://nxadm.wordpress.com/2010/04/30/4096-physical-block-size-drives/
fuente
hdparm -I /dev/sda | grep Sector
es más agradable, ya que mostrará tamaños físicos y lógicos a la vez, para facilitar la comparación.La mía no pretende ser una respuesta completa, pero espero que también ayude.
Aquí hay algo de http://mark.koli.ch/2009/05/howto-whole-disk-backups-with-dd-gzip-and-p7zip.html
3 - Determine el tamaño de bloque apropiado
Para una copia de seguridad más rápida, puede ayudar a determinar el tamaño de bloque óptimo del dispositivo de disco del que va a realizar la copia de seguridad. Suponiendo que va a hacer una copia de seguridad / dev / sda, así es como puede usar el comando fdisk para determinar el mejor tamaño de bloque:
Tenga en cuenta que la salida de fdisk dice "cilindros de 16065 * 512". Esto significa que hay 512 bytes por bloque en el disco. Puede mejorar significativamente la velocidad de la copia de seguridad aumentando el tamaño del bloque en un múltiplo de 2 a 4. En este caso, un tamaño de bloque óptimo podría ser 1k (512 * 2) o 2k (512 * 4). Por cierto, volverse codicioso y usar un tamaño de bloque de 5k (512 * 10) o algo excesivo no ayudará; finalmente, el sistema tendrá un cuello de botella en el dispositivo y no podrá exprimir ningún rendimiento adicional del proceso de copia de seguridad. (énfasis añadido)
Sospecho que la diferencia en el rendimiento entre un tamaño de bloque casi óptimo y óptimo para una configuración dada es insignificante a menos que el conjunto de datos sea enorme. De hecho, un usuario de FixUnix (publicación de 2007) afirmó que sus tiempos óptimos fueron solo un 5% más rápidos que los subóptimos. Tal vez pueda exprimir un poco más la eficiencia utilizando un múltiplo del tamaño del "clúster" o del tamaño del bloque del sistema de archivos.
Por supuesto, si te alejas demasiado a ambos lados del tamaño de bloque óptimo, tendrás problemas.
La conclusión es que es probable que gane solo alrededor del 5% en rendimiento (es decir, 3 minutos por hora) con el tamaño de bloque óptimo absoluto, así que considere si vale la pena su tiempo y esfuerzo para seguir investigando. Mientras te mantengas alejado de los valores extremos, no debes sufrir.
fuente
echo "p" | /sbin/fdisk /dev/sda...
lugar de/sbin/fdisk -l /dev/sda...
? el segundo será más limpio y no intentará hacer ningún cambio./sbin/fdisk -l /dev/sda | grep Units
. Podría haber sido cambiado en los últimos dos años. En cualquier caso, he actualizado tu respuesta.Cada transferencia de disco genera una interrupción que el procesador debe manejar. El disco típico de 50Mb / s querrá generar 100000 de ellos cada segundo con un tamaño de bloque de 512b. sistemas de hasta 64k ISA DMA) serían más prácticos ...
fuente
Además, puede mirar a través de la salida de
lshw
para verificar otros resultados (y también porque parece que no tengohdparm
disponible en mi distribución). Esto podría ayudar a reducirlo:fuente