107 votos

¿Cómo puede un solo disco en el hardware SATA RAID-10 de la matriz de llevar a toda la matriz a un alto?

Preludio:

Soy un código-mono que cada vez más tomado en SysAdmin deberes para mi pequeña empresa. Mi código es nuestro producto, y cada vez más nos proporcionan la misma aplicación como SaaS.

Hace unos 18 meses me mudé de nuestros servidores premium hosting centrado en el proveedor de una escueta rack empujador en un tier IV del centro de datos. (Literalmente cruzando la calle.) Esta ción de hacer mucho más de nosotros mismos, cosas como la creación de redes, almacenamiento y control.

Como parte de la gran mudanza, para reemplazar nuestro arrendado almacenamiento adjunto directo de la empresa de hosting, he construido un 9 TB de dos nodos NAS basado en SuperMicro chassises, tarjetas RAID 3ware, Ubuntu 10.04, dos docenas de discos SATA, DRBD y . Todo amorosamente documentado en tres entradas de blog: Construcción y prueba de un nuevo 9 TB SATA RAID 10 NFSv4 NAS: Parte I, Parte II y Parte III.

También la instalación de un Cacit sistema de monitoreo. Recientemente hemos estado añadiendo más y más puntos de datos, como SMART valores.

Yo no podría haber hecho todo esto sin la impresionante colección en ServerFault. Ha sido un divertido y educativo de la experiencia. Mi jefe está contento (nos ahorramos cubo de carga de $$$), nuestros clientes están satisfechos (los costes de almacenamiento son hacia abajo), estoy feliz (fun, fun, fun).

Hasta el día de ayer.

Interrupción Y Recuperación:

Algún tiempo después del almuerzo comenzamos a recibir los informes de disminuir el rendimiento de nuestra aplicación, en demanda de streaming de medios de comunicación de la CMS. Casi al mismo tiempo nuestros Cactus sistema de monitoreo enviado una avalancha de correos electrónicos. Uno de los más revelador alertas era un gráfico de iostat esperan.

enter image description here

Su rendimiento era tan degradado que Pingdom, comenzó a enviar "server down" de las notificaciones. La carga total fue moderada, no hubo aumento de tráfico.

Después de iniciar sesión en los servidores de la aplicación, los clientes NFS de la NAS, me confirmó que casi todo lo que estaba experimentando muy intermitente y locamente IO largo de los tiempos de espera. Y una vez que me subí a la primaria NAS nodo en sí, el mismo de retrasos fueron evidentes cuando tratan de superar el problema de la matriz de sistema de archivos.

Tiempo para la conmutación por error, que fue bien. Dentro de los 20 minutos todo fue confirmada volver a estar en marcha y funcionando perfectamente.

Post-Mortem:

Después de cualquier y todo el sistema de fallas que realizar una autopsia para determinar la causa de la falla. Lo primero que hice fue ssh en la caja y empezar a revisar los registros. Estaba sin conexión, totalmente. Tiempo para un viaje al centro de datos. El restablecimiento de Hardware, copias de seguridad y funcionamiento.

En /var/syslog me encontré con este miedo en busca de la entrada:

Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_00], 6 Currently unreadable (pending) sectors
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_07], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 171 to 170
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 16 Currently unreadable (pending) sectors
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 4 Offline uncorrectable sectors
Nov 15 06:49:45 umbilo smartd[2827]: Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
Nov 15 06:49:45 umbilo smartd[2827]: # 1  Short offline       Completed: read failure       90%      6576         3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 2  Short offline       Completed: read failure       90%      6087         3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 3  Short offline       Completed: read failure       10%      5901         656821791
Nov 15 06:49:45 umbilo smartd[2827]: # 4  Short offline       Completed: read failure       90%      5818         651637856
Nov 15 06:49:45 umbilo smartd[2827]:

Así que fui a ver el Cactus gráficos para los discos de la matriz. Aquí podemos ver que, sí, el disco 7 se le está escapando como syslog dice que es. Pero también vemos que el disco de 8 INTELIGENTE de Leer Errores son fluctuantes.

enter image description here

No hay mensajes acerca de disco de 8 en syslog. Más interesante es que la fluctuación de los valores de disco de 8 correlacionan directamente a la alta IO de los tiempos de espera! Mi interpretación es que:

  • Disco 8 está experimentando una extraña falla de hardware que los resultados en intermitente largos tiempos de operación.
  • De alguna manera esta condición de falla en el disco es el bloqueo de seguridad de toda la matriz

Tal vez hay una forma más precisa o correcta descripción, pero el resultado ha sido que el disco está repercutiendo en el rendimiento de toda la matriz.

La Pregunta(s)

  • ¿Cómo puede un solo disco en el hardware SATA RAID-10 de la matriz de llevar a toda la matriz a un alto?
  • Estoy siendo ingenuo pensar que la tarjeta RAID debería haber lidiado con esto?
  • ¿Cómo puedo evitar que un solo desmanes disco afecten a la totalidad de la matriz?
  • Me estoy perdiendo algo?

50voto

Tina Puntos 21

No me gusta decir "no usar SATA" en entornos de producción críticos, pero he visto esta situación con bastante frecuencia. Las unidades SATA no son por lo general significaba para el ciclo de trabajo puede describir, aunque se spec unidades específicamente nominal de operación 24x7 en su configuración. Mi experiencia ha sido que las unidades SATA puede fallar de manera impredecible, muchas veces afectan a la totalidad de la matriz de almacenamiento, incluso cuando se utiliza RAID 1+0, como has hecho tú. A veces las unidades de un error en una manera que puede detener el bus entero. Una cosa a tener en cuenta es si usted está usando SAS expansores en su configuración. Que puede hacer una diferencia en cómo el resto de los discos se ven afectados por un fallo de la unidad.

Pero puede tener más sentido para ir con la línea media/nearline (7200 RPM) unidades SAS frente a SATA. Hay una pequeña precio de la prima de más de SATA, pero las unidades funcionar/no más predecible. La corrección de errores y presentación de informes en la interfaz SAS/protocolo es más robusto que el SATA conjunto. Así que incluso con las unidades cuya mecánica es la misma, el protocolo SAS diferencia puede haber impedido el dolor que experimentó durante su fallo en la unidad.

16voto

Bart Silverstrim Puntos 28092

¿Cómo puede un solo disco traer abajo a la matriz? La respuesta es que no, pero depende de lo que esté causando la interrupción. Si el disco fuera a morir en una forma en que se comportaba, no se debe tomar hacia abajo. Pero es posible que esté fallando en un "caso extremo" de manera que el controlador no puede manejar.

Eres ingenuo pensar que esto no debería suceder? No, no lo creo. Un RAID de hardware de la tarjeta como que debe haber manejado la mayoría de los problemas.

¿Cómo prevenirlo? Usted no puede anticipar extraño borde casos como este. Esto es parte de ser un sysadmin...pero usted puede trabajar en los procedimientos de recuperación para evitar que se afecte a su negocio. La única manera de intentar solucionar este derecho ahora es probar con otro hardware de la tarjeta (que no sea lo que quieras hacer) o cambiar las unidades a unidades SAS en lugar de SATA a ver si la SAS es más robusto. También puede ponerse en contacto con su proveedor de la tarjeta RAID y decirles lo que ha pasado y ver lo que dicen; son, después de todo, una empresa que se supone que se especializan en el conocimiento de los entresijos de wonky de la unidad electrónica. Ellos pueden tener más asesoramiento técnico sobre cómo las unidades de trabajo, así como la fiabilidad...si usted puede conseguir a la gente adecuada para hablar.

¿Has perdido algo? Si desea verificar que la unidad tiene un borde de falla en el caso, tire de la matriz. La matriz será degradado, pero no deberías tener más de lo extraño retrasos y errores (aparte de la degradación de la matriz de estado). Estás diciendo que ahora parece estar funcionando bien, pero en caso de tener errores de lectura de disco, usted debe reemplazar la unidad mientras usted puede. Las unidades de alta capacidad, puede tener a veces los errores refractivos no corregidos errores (mejor razón para no ejecutar RAID 5, nota al margen) que no se muestran hasta que otra unidad que ha fallado. Y si usted está experimentando el borde de caso de comportamiento a partir de esa unidad, usted no desea que los datos dañados emigraron a las otras unidades de la matriz.

10voto

growse Puntos 4738

Yo no soy un experto, pero me voy a tomar un salvaje disparo en la oscuridad, sobre la base de mi experiencia con los controladores RAID y matrices de almacenamiento.

Los discos fallan en muchas maneras diferentes. Por desgracia, los discos pueden fallar o ser defectuoso, en caminos donde su desempeño se ve seriamente afectada, pero la controladora RAID no lo ve como un fracaso.

Si un disco falla de una manera obvia, cualquier controlador RAID de software debe ser bastante bueno en la detección de la falta de respuesta de la disco, la eliminación de la piscina y el despido de notificaciones. Sin embargo, mi conjetura en cuanto a lo que sucede aquí es que el disco está sufriendo una inusual fracaso que, por alguna razón no están desencadenando un error en el controlador de lado. Por lo tanto, cuando el controlador está llevando a cabo una escritura de color o una lectura desde el disco afectado, se trata de tomar un largo tiempo para volver y, a su vez cuelga todo IO operativo y por lo tanto la matriz. Por la razón que sea, esto no es suficiente para el controlador RAID para ir "ah, el disco que ha fallado", probablemente debido a que los datos que acaba de regresar el tiempo.

Mi consejo sería para reemplazar inmediatamente el disco que ha fallado. Después de eso, me gustaría echar un vistazo a la configuración de tu tarjeta RAID (Es 3ware, pensé que eran bastante buena) y averiguar lo que considera un error de disco.

P. S. buena idea importar INTELIGENTE en cactus.

6voto

Loose Cannon Puntos 106

Necesita las características de empresa a la clase de dispositivos de almacenamiento. Específicamente, el WD RE 4 unidades para empresas que tienen dos características necesarias para evitar este comportamiento en arreglos RAID. La primera tecnología enumerados a continuación evita la rotación vibración armónica de causar desgaste innecesario en el disco duro mecánico de los componentes. La segunda tecnología es lo que causó el problema, SATA protocolo no tiene esta característica. Para conseguir estas características que usted necesita SAS, y si usted insiste en unidades SATA usted puede comprar SAS SATA de la Interposición de tarjetas, tales como la LSISS9252.

Mejorada RAFF tecnología Sofisticada electrónica monitor de la unidad y corregir lineales y de rotación de la vibración en tiempo real. El resultado es una mejora significativa del rendimiento en entornos con altas vibraciones con respecto a la anterior generación de las unidades.

RAID-específica, limitada en el tiempo de recuperación de errores (TLER) Impide la unidad de la precipitación radiactiva causada por el extendido error de disco duro de recuperación de los procesos comunes a las unidades de sobremesa.

http://en.wikipedia.org/wiki/Error_recovery_control#Overview

También, por favor, consulte el enlace de abajo:

http://en.wikipedia.org/wiki/Error_recovery_control#Raid_Controllers

Véase también: Western Digital TLER Documento que explica el error en el proceso de recuperación en profundidad. Error de Recuperación de la Precipitación radiactiva de la Prevención en la WD Caviar RAID Edition Discos Duros Serial ATA de:

http://www.3dfxzone.it/public/files/2579-001098.pdf

6voto

Simon Richter Puntos 637

Sólo una conjetura: los discos duros están configurados para reintentar en errores de lectura en lugar de informar de un error. Mientras que esta es la conducta deseable en una configuración de escritorio, es contraproducente en un RAID (en el que el controlador debe volver a escribir cualquier sector que se produce un error de lectura de los otros discos, por lo que la unidad puede volver a asignar).

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: