Reconstruya RAID5 con sectores incorregibles en múltiples discos

Reconstruya RAID5 con sectores incorregibles en múltiples discos

Mi sistema de software RAID5 (mdadm) consta de cinco discos. Recientemente, recibo errores de E/S al leer ciertos archivos. La mayoría de los demás archivos todavía son legibles.

Al principio, estaba planeando descubrir qué disco está roto (usando smartctl) y reemplazar rápidamente el disco fallado para reconstruir la matriz antes de que otros discos también fallen. Sin embargo, smartctl muestra quetresLos discos tienen errores incorregibles.

Creo que mdadm aún debería poder reconstruirse siempre que los sectores defectuosos de estos tres discos no se crucen, lo que me permite la opción de intercambiar y reconstruir uno por uno.

¿O el hecho de que tenga un error de E/S ya indica que se perdió la paridad y que el mismo sector en varios discos es ilegible? ¿Hay alguna forma de averiguar si algún sector defectuoso se cruza y, por tanto, la información se pierde irreversiblemente?

Respuesta1

Los procedimientos estándar son:

  1. Tenga siempre una buena y actualizadarespaldo(al menos dos copias independientes en diferentes lugares, al menos en diferentes medios)
  2. Continuamentemonitorsu RAID para problemas. Un RAID no tiene valor cuando se permite que se acumulen errores.
  3. Fregardiscos al menos mensualmente. Esto evita que se acumulen errores y evita reconstrucciones.
  4. ConsiderarRAID 6con dos discos redundantes.

No parece que te hayas tomado esto en serio. Intenta recuperar lo que todavía está ahí.ahora. Intentar reconstruir esa matriz que estuvo a punto de fallar podría provocar más daños de los esperados.

Si los datos son lo suficientemente valiosos, busque un servicio de recuperación de datos capaz y confiable. Reserve una cantidad de efectivo de cuatro a cinco dígitos. De lo contrario, enjuague y repita: reemplace los discos, vuelva a formatear, reinstale y tome los procedimientos estándar más en serio.

Respuesta2

  1. Tiene razón en que si los sectores ilegibles "no se cruzan", es decir, si se encuentran en franjas diferentes, MD RAIDpuederecuperar datos usando paridad. Pero puede que esto afecte a algunos impulsos durante la recuperación, y entonces las posibilidades disminuirán significativamente.

  2. Existe una regla general de recuperación de datos:siempre comience con un vertedero crudo. Esto te garantiza intentos ilimitados: si estropeas algo, puedes empezar de nuevo con el volcado. Entonces, en general, puede clonar todos los discos moribundos en algunos que funcionen, leer los errores y luego ensamblar RAID a partir de discos nuevos.

  3. Puede comenzar clonando cada unidad sector por sector para reemplazarla con ddrescue(es decir,noutilizando el procedimiento de recuperación MD RAID). Además de copiar mediante errores, crea lo que llama unarchivo de registro, que en realidad es el mapa del sector defectuoso. Cuando clones los tres, podrás comparar esos mapas y descubrir si hay intersecciones. No los tires, estos mapas pueden ayudarte durante la recuperación.

  4. Sin embargo, RAID5 es una bestia muy desagradable en el sentido de este tipo de volcados. ¿Qué puede salir mal? Si el sector de su unidad no lee nada, lo que genera un error de E/S, la capa RAID recuperará esos datos de otros discos; ese sería el caso de los discos viejos. Pero si lee sin errores, pero devuelve datos incorrectos, RAID no intentará recuperarlos de la paridad y devolverá esos datos incorrectos. ddrescuellenará los sectores ilegibles con ceros, que se volverán a leer si ensambla la matriz con este dispositivo clonado más adelante, por lo que esto se traducirá en la lectura de ceros (datos corruptos) donde era potencialmente posible recuperar los datos originales. RAID no garantiza los datosintegridad. Y este es el verdadero problema para todas las variantes excepto RAID6 que tiene dos síndromes de paridad o RAID1 con más de dos espejos. Y, como ya habrás adivinado, este problema se manifiesta de forma más disruptiva en el caso de RAID5. (Hay una consideración adicional en contra, algo sobre los tamaños de disco modernos y sus tasas de error de bits).

  5. Durante cualquier operación de clonación, un disco puede morir por completo. Entonces te quedaste estancado. Existe la posibilidad de realizar una recuperación más allá de este punto, pero le costarámucho. Hay servicios donde hay "salas limpias" y pueden, por ejemplo, reemplazar los cabezales dentro de los discos duros y volver a intentar leerlos; es lento, propenso a errores y probablemente le cobren bastante. Considere esto si sus datos son muy valiosos.

  6. Por lo tanto, es aconsejable clonar los discos originales, pero luego guardar los clones, ensamblar la matriz a partir deoriginaldiscos e intente clonar desde la propia matriz ( /dev/mdX). Si algo sale mal (el disco muere), reemplácelo con una clonación y luego recupere manualmente las franjas rotas (lea la página 4), consultando los archivos de registro (p.3). Este es un trabajo bastante duro. Tenga en cuenta también que necesita repuestodos vecesel espacio original para realizar la recuperación. O no haga nada usted mismo y subcontrate todo el trabajo a especialistas. Este es el precio que usted paga por el mantenimiento inadecuado de la matriz y los datos.

  7. Y ahora tienes esta preciosa experiencia. No culpes a las matrices, cúlpate a ti mismo, aprende la lección y adminístralas correctamente:

  • Piénselo tres veces antes de usar RAID5. Luego diga "no" y busque otro nivel de RAID.
  • Frote la matriz con regularidad. Esto significa que MD RAID leerá y comparará datos en las unidades y sonará si algo anda mal (no coincide, bloque ilegible). Entonces usted puede reemplazar el mal comportamiento de conducción con los primeros síntomas. Las buenas distribuciones tienen esto configurado de fábrica (al menos Debian).
  • Supervise los discos y la matriz para no pasar por alto signos importantes de problemas.
  • Por último, bienvenido al club de administradores que periódicamente realizan copias de seguridad de sus datos.

información relacionada