Por lo tanto, clono muchas unidades NTFS basadas en Windows a partir de imágenes todos los días y estoy a la mitad de un proyecto que potencialmente podría ayudarme a mí y a otros a acelerar este proceso dramáticamente.
Actualmente tengo una configuración de Ubuntu 17.10 con mdadm y 16 puertos SATA. La idea es conectar unidades a cada uno de los puertos SATA y realizar una clonación simultánea en cada uno de ellos a la vez.
Si uso dd en una unidad a la vez, puedo obtener un resultado de alrededor de ~135 MB/s (máximo ~180 MB/s) pero tan pronto como empiezo a clonar otras unidades al mismo tiempo, la velocidad se reduce considerablemente.
Lo mismo sucede con dcfldd, que tiene la ventaja adicional de poder especificar múltiples of=
salidas.
Ahora... inicialmente tuve la idea de utilizar una matriz RAID1 que contuviera todas las unidades que deseo clonar a la vez. Sin embargo, parece haber algunas inconsistencias con la arquitectura RAID y la usabilidad de las unidades después de la clonación.
Esto es lo que he probado hasta ahora: Puedo crear una serie de múltiples unidades usando mdadm y luego proceder a ejecutarlo. sudo dd if=/home/clone/some_image.img of=/dev/md0 bs=4096
Este proceso parece funcionar absolutamente bien y con resultados de velocidad brillantes (~110 Mb/s para cada unidad a la vez). Una vez finalizado el proceso, las unidades no parecen contener los datos que acabamos de escribir en ellas. Mi siguiente paso sería poner a cero el superbloque de las unidades con la esperanza de revertirlas a unidades utilizables; esto tampoco parece funcionar.
Incluso intenté crear una nueva matriz usando una versión de superbloque anterior (de 1.2 a 0.9), pero esto produce los mismos resultados que antes.
Es como si solo fuera posible acceder a las unidades a través de mdadm, independientemente de los datos almacenados en ellas, lo que hace que esta idea fracase por completo, a pesar de que los resultados iniciales fueron muy prometedores.
Entonces les planteo estas preguntas: ¿Existe alguna forma de escribir una imagen en una matriz RAID1 y luego volver a convertirla en discos individuales? ¿Existen otras tecnologías que me permitan tener los beneficios de velocidad de clonar RAID1 pero sin usar RAID o la necesidad de herramientas de terceros para montar las unidades?
Muchas gracias por leer esto.
Respuesta1
No, esto no puede funcionar. Si tiene un RAID de software de Linux (o realmente un RAID de hardware), tendrá una estructura de administración externa para el RAID que se requiere y que hace que su disco sea inutilizable para su caso de uso.
Respuesta2
Cuando estás clonandouna sola imagena varios discos, debe asegurarse de iniciar todas dd
las instancias simultáneamente. De esta manera, todas las lecturas (excepto la primera) provienen del caché y el disco de origen no se dañará.
Si estás clonandodiferentes imagenessu disco de origen debe ser más rápido y tener una latencia de acceso baja. Un simple RAID 1 o 0 probablemente no sea suficiente. Lo más probable es que un SSD haga esto o un RAID más grande con muchos discos.