¿Cómo recuperarse de un fallo de la unidad en una configuración RAID 5?


15

Esta mañana falló una unidad en nuestro servidor de base de datos. La matriz de unidades (3 discos) se configura en una configuración RAID 5.

Mientras esperamos un reemplazo del disco, nos estamos preparando para una estrategia de recuperación. Los usuarios continúan trabajando en el sistema, aunque muy lentamente (¿no sé por qué?).

¿Cómo se instala la nueva unidad? ¿Se reconstruirán automáticamente los datos de esta unidad desde la paridad o hay otro proceso que debemos seguir?

Editar: este es un controlador RAID de hardware. (Gracias por las respuestas hasta ahora, apreciado)


44
Por cierto, el momento de decidir qué hacer si una unidad falla en un servidor crítico es antes de que una unidad falle en un servidor crítico.
David Schwartz

Respuestas:


15

El sistema funciona muy lentamente porque tiene que reconstruir los datos faltantes que implican CPU y E / S adicionales.

Si le falta un disco en una configuración RAID-5, no tiene una estrategia de recuperación . Si otro disco falla , perderá sus datos . Corre, no camines, al proveedor más cercano desde el cual puedes obtener una pieza compatible cubierta por la garantía del fabricante enviada por un servicio de mensajería urgente el mismo día. Si el proveedor al que le compró la matriz ya está en proceso de obtener la pieza, obtenga ambas piezas y guarde la otra como repuesto.

Si utiliza un RAID-5 para un sistema de producción, debería considerar dejar un disco de repuesto en la matriz como repuesto dinámico.

Agregado: si sus registros no están en un volumen separado (discos físicamente separados) muévalos a un conjunto separado de discos, incluso a un solo par duplicado. Esto también será una ganancia de rendimiento si su base de datos tiene una carga significativa ya que la contención en los volúmenes de registro tiene un efecto desproporcionadamente malo en el rendimiento.

Si esto es posible, también puede hacer que su base de datos sea más sólida haciendo lo siguiente:

  1. Cierra la base de datos.
  2. Copia de seguridad de la base de datos.
  3. Mueva los registros a un conjunto de discos físicamente separados (asegúrese de volver a configurar la base de datos para que sepa a dónde se han movido los registros).
  4. Reinicie la base de datos y la aplicación.

Si tiene los registros en un volumen separado, puede restaurar y avanzar desde la copia de seguridad si y solo si una falla del disco no compromete los registros. Los registros de la base de datos deben estar en un volumen de disco separado por (entre otros) los siguientes motivos:

  • Los patrones de uso de registros son predominantemente secuenciales, agregando entradas de registro al final del archivo (el archivo es en efecto un buffer de anillo). Esto significa que se puede escribir rápidamente una gran cantidad de entradas de registro ya que hay poca actividad de búsqueda de cabeza de disco.

  • Si están compartiendo discos físicos con una carga de trabajo de acceso muy aleatorio (por ejemplo, tablas e índices transaccionales), se ralentizarán desproporcionadamente a medida que la actividad de búsqueda principal interrumpa las escrituras secuenciales.

  • Tener los registros en un volumen separado casi siempre es una ganancia de rendimiento y solo necesita un solo par duplicado para que los registros admitan una carga de trabajo bastante pesada. Esto significa que el hardware para hacerlo es bastante barato, por lo que hay un pequeño costo para una gran ganancia de rendimiento y confiabilidad.

  • Si su matriz de datos se cae, los registros no se pierden. Si tiene una estrategia de respaldo adecuada, puede restaurar desde el respaldo y avanzar desde los registros. Esto significa que una matriz completa puede caer en el servidor sin ser un solo punto de falla. Tanto el registro como las matrices de datos tienen que fallar simultáneamente para causar la pérdida de datos.


Gracias por la respuesta que explica especialmente por qué el sistema funciona lentamente.
Philip Fourie

Correcto. Incluso sugeriría apagarlo hasta que tenga esa unidad de reemplazo en su lugar. Como dice Nigel, no tienes una estrategia de recuperación. Perder otra unidad, perderlo todo.
Stu Thompson

Hola, Nigel, gracias por tomarte el tiempo y compartir tu experiencia. De hecho es un gran consejo. Informaré luego sobre el resultado de la recuperación.
Philip Fourie

5

1) Copia de seguridad.

En este momento no se han perdido datos. Si sus copias de seguridad no están actualizadas ahora.

2) Lea el manual, llame al vendedor, etc.

Los diferentes sistemas RAID tienen diferentes pasos para reemplazar un disco, y si se hace mal, corre el riesgo de destruir toda la matriz. Sin saber qué tipo de hardware / software RAID tiene, solo podemos adivinar los pasos necesarios.

Además, el rendimiento lento se debe a que RAID 5 en un estado degradado (es decir, un disco muerto) tiene un rendimiento de lectura horrible. Qué horrible depende de cómo se almacena la paridad y qué disco murió, pero la "buena" noticia es que el rendimiento lento con un disco perdido es un problema conocido y no causa pánico.


4

Primero, leería el manual del hardware / software que está utilizando, la sección de recuperación de fallas :)

Sin embargo, debería ser una simple cuestión de reemplazar el disco y reconstruir la matriz.

El punto más importante en estos casos es que el disco debe reemplazarse lo antes posible, ya que si falla otro disco, probablemente perderá datos. También debe abordar la causa de la falla: ¿fue porque el disco se estaba volviendo viejo? ¿Deberías reemplazar los otros también? ¿O fue por una sobrecarga de energía, calor o vibración?


1
probablemente perder datos? ¡Definitivamente pierden todos los datos en la matriz! Ir a la cárcel, no pasar Go. (copias de seguridad a un lado, por supuesto.)
Stu Thompson

1

Hasta donde entiendo RAID5, cuando reemplaza la unidad fallida, se reconstruye automáticamente, a partir de la información almacenada en las otras dos. Si puede 'intercambiar en caliente' la nueva unidad en su lugar depende de su sistema, es posible que primero deba apagarlo. De cualquier manera, teniendo en cuenta el costo relativamente bajo de las unidades y la importancia de sus datos (reflejado por su decisión de usar RAID5 en primer lugar), realmente debería tener una unidad de repuesto, sentada en un cajón, lista para tal eventualidad. .

Recientemente construí una nueva PC de desarrollo para mí y configuré las unidades de datos principales en RAID5. Pedí un disco más de lo necesario, para tener el repuesto listo para ese momento de emergencia (que espero no suceda)

Ahora que has hecho la pregunta, supongo que será mejor que leas más sobre el tema.


Para volúmenes de datos pequeños, un par duplicado es mejor ya que generalmente tiene una mejor velocidad de acceso secuencial que un RAID-5 pequeño. Si desea un intercambio en caliente, mire algunos de los sistemas de bahía de intercambio en caliente en algún lugar como scsi4me.com
ConcernedOfTunbridgeWells

0

Totalmente dependiente del sistema. ¿Qué dicen los manuales? ¿Su hardware es completamente compatible con las unidades nuevas conectadas en caliente desde el controlador al compartimento de unidades? ¿Tiene copias de seguridad recientes?


0

La publicación de NXC lo resume muy bien. En caso de que no reemplace la unidad defectuosa antes de que falle el segundo, todavía hay una buena posibilidad de que casi todo (a veces todo) se recupere mediante un servicio de recuperación especializado. Los datos todavía están allí en los discos, y los discos con fallas generalmente pueden volver a la vida en un laboratorio especializado con el equipo adecuado. Sin embargo, el precio de este servicio es bastante alto. Tener un disco de repuesto y copias de seguridad adecuadas (según la sugerencia de NXC) es definitivamente el camino a seguir en el futuro.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.