Intro

Necesitamos saber qué sistema nos va a funcionar mejor para los discos duros de las máquinas virtuales:

archivo de imagen

volumen lvm

 

Metodología

En la misma máquina virtual (CentOS7) montamos un disco duro basado en un archivo de texto en el directorio /home/HDDimg y otro basado en lvm en el directorio /home/HDDlvm

Ambos discos duros tienen 8GB y una única partición primaria formateada como xfs

 

Resultados

HDDimg

Disco duro basado en un archivo de imagen

[root@cectvirt2 HDDimg]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 13,3436 s, 80,5 MB/s
[root@cectvirt2 HDDimg]# dd if=/dev/zero2 of=test bs=64k count=16k conv=fdatasync
dd: No se puede abrir «/dev/zero2»: No existe el fichero o el directorio
[root@cectvirt2 HDDimg]# dd if=/dev/zero of=test2 bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 13,2649 s, 80,9 MB/s
[root@cectvirt2 HDDimg]# dd if=/dev/zero of=test3 bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 13,4667 s, 79,7 MB/s
[root@cectvirt2 HDDimg]# dd if=/dev/zero of=test4 bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 11,5733 s, 92,8 MB/s
[root@cectvirt2 HDDimg]# dd if=/dev/zero2 of=test bs=64k count=16k conv=fdatasync
dd: No se puede abrir «/dev/zero2»: No existe el fichero o el directorio
[root@cectvirt2 HDDimg]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 12,4402 s, 86,3 MB/s
[root@cectvirt2 HDDimg]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 13,4115 s, 80,1 MB/s
[root@cectvirt2 HDDimg]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 10,4943 s, 102 MB/s
[root@cectvirt2 HDDimg]# ll
total 4194304
-rw-r--r-- 1 root root 1073741824 jun 23 17:13 test
-rw-r--r-- 1 root root 1073741824 jun 23 17:05 test2
-rw-r--r-- 1 root root 1073741824 jun 23 17:06 test3
-rw-r--r-- 1 root root 1073741824 jun 23 17:07 test4
[root@cectvirt2 HDDimg]# rm test*
rm: ¿borrar el fichero regular «test»? (s/n) s
rm: ¿borrar el fichero regular «test2»? (s/n) s
rm: ¿borrar el fichero regular «test3»? (s/n) s
rm: ¿borrar el fichero regular «test4»? (s/n) s
[root@cectvirt2 HDDimg]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 10,8218 s, 99,2 MB/s

HDDlvm

Disco duro basado en un volumen lvm

[root@cectvirt2 HDDlvm]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 17,4185 s, 61,6 MB/s
[root@cectvirt2 HDDlvm]# dd if=/dev/zero of=test2 bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 17,8573 s, 60,1 MB/s
[root@cectvirt2 HDDlvm]# ll
total 2097152
-rw-r--r-- 1 root root 1073741824 jun 23 17:03 test
-rw-r--r-- 1 root root 1073741824 jun 23 17:04 test2
[root@cectvirt2 HDDlvm]# dd if=/dev/zero of=test3 bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 17,9867 s, 59,7 MB/s
[root@cectvirt2 HDDlvm]# dd if=/dev/zero of=test4 bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 17,7012 s, 60,7 MB/s
[root@cectvirt2 HDDlvm]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 28,4924 s, 37,7 MB/s
[root@cectvirt2 HDDlvm]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 22,9837 s, 46,7 MB/s
[root@cectvirt2 HDDlvm]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 9,96442 s, 108 MB/s
[root@cectvirt2 HDDlvm]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 9,88589 s, 109 MB/s
[root@cectvirt2 HDDlvm]# ll
total 4194304
-rw-r--r-- 1 root root 1073741824 jun 23 17:13 test
-rw-r--r-- 1 root root 1073741824 jun 23 17:04 test2
-rw-r--r-- 1 root root 1073741824 jun 23 17:05 test3
-rw-r--r-- 1 root root 1073741824 jun 23 17:06 test4
[root@cectvirt2 HDDlvm]# rm test*
rm: ¿borrar el fichero regular «test»? (s/n) s
rm: ¿borrar el fichero regular «test2»? (s/n) s
rm: ¿borrar el fichero regular «test3»? (s/n) s
rm: ¿borrar el fichero regular «test4»? (s/n) s
[root@cectvirt2 HDDlvm]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 10,4949 s, 102 MB/s

Conclusiones

Aunque parece que al principio había una diferencia de velocidad de escritura a favor del HDD basado en archivo de imagen (80MB/s vs a 60MB/s) al final los resultados se han igualado.

A falta de ver como funciona con el uso, montaremos los discos duros de datos como volúmenes lvm que permiten aumentar su tamaño más fácilmente