Hay un tipo que sigue diciéndome que no deberíamos usar mdadm --create
recuperar nuestras matrices RAID, que es peor que mal, es un error. ¿Porqué es eso? Quiero decir que debería hacer que mi RAID vuelva a funcionar, ¿no? ¿Qué debo usar en su lugar si --create
es un error?
Respuesta aceptada:
No hay nada malo con --create
– si sabes lo que estás haciendo.
El único problema es:No lo sabes.
Cuando crea un RAID, el comando suele ser algo corto, como:
mdadm --create /dev/md42 --level=5 --raid-devices=3 /dev/sdx1 /dev/sdy1 /dev/sdz1
Muy simple, ¿verdad?
Excepto que no lo es, en realidad. RAID tiene muchas más variables. Hay un desplazamiento de datos, un tamaño de fragmento, una versión de metadatos y no olvidemos el orden de las unidades, que es fácil equivocarse en una recreación, ya que las letras de las unidades pueden cambiar con el tiempo.
Esto es lo que un --create
adecuado el comando podría verse como:
mdadm --create /dev/md42 --assume-clean
--level=5 --chunk=512K --metadata=1.2 --data-offset=2048s
--raid-devices=3 /dev/sdz1 missing /dev/sdy1
Y lo que sea que te dé, deberías probarlo en modo de solo lectura. Y eso puede no ser todo. ¿Sabía que también hay varios diseños RAID diferentes? --create
es el colmo y las trampas no son obvias. Idealmente, debe hacer una copia de seguridad de todos los discos, o al menos de las áreas de metadatos, u operar en una superposición de copia en escritura.
Para cualquier cosa que no proporcione, mdadm
utiliza la configuración predeterminada. Desafortunadamente, esos no están escritos en piedra, básicamente todos cambiaron en el pasado y es probable que cambien nuevamente en el futuro.
Así que cuando usas --create
para la recuperación, debe entender RAID muy bien y saber cómo era exactamente su antiguo RAID. Y luego tienes que agregar --assume-clean
o deja uno de los discos como missing
, en caso de que haya cometido un error de todos modos. También debe hacer una copia de seguridad, al menos del principio y el final del disco para que pueda recuperarse de los metadatos escritos en la ubicación incorrecta.
En la mayoría de los casos tienes otras opciones. --assemble --force
es uno, pero tiene sus propias trampas. Deberías --examine
primero y si una de las unidades está más desactualizada que las otras, no debe incluirla en el ensamblaje. También hay --build
así como dmsetup
para raid que no usa metadatos y podría permitirle acceder a sus datos. Sin embargo, eso no significa que sea seguro:si escribe en él, perderá datos si la configuración que eligió es incorrecta.
En general, la recuperación de datos es un campo amplio. Necesita experiencia para poder decidir el curso de acción correcto. Evite el problema si es posible; haga copias de seguridad, documente su configuración y controle sus discos para que su RAID no falle en primer lugar.