GNU/Linux >> Tutoriales Linux >  >> Linux

¿Debo usar `mdadm –create` para recuperar la redada?

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.

Relacionado:Sintaxis correcta para el uso de awk en combinación con otro comando dentro de xargs sh –c?

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.


Linux
  1. Cómo usar el comando grep de Linux

  2. Cómo usar el comando de historial en Linux

  3. ¿Cómo usar el comando basename?

  4. Comprobar la versión de Wordpress en uso

  5. ¿Cuál es el uso de $# en Bash?

Cómo usar el comando nmap

7 formas de usar el comando Head de Linux

Terraform vs Ansible:¿Cuál es la diferencia y cuál deberías usar?

¿Qué es la función de la comunidad ONLYOFFICE y por qué debería usarla?

Uso del comando grep en Linux

Los 20 mejores clientes de IRC para Linux que debería usar todos los días