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


Preludio:

Soy un código-mono que cada vez más toma las tareas de SysAdmin para mi pequeña empresa. Mi código es nuestro producto, y cada vez proporcionamos la misma aplicación que SaaS.

Hace aproximadamente 18 meses, cambié nuestros servidores de un proveedor centrado en alojamiento premium a un empujador de rack barebones en un centro de datos de nivel IV. (Literalmente al otro lado de la calle). Esta acción hace mucho más que nosotros mismos, como redes, almacenamiento y monitoreo.

Como parte del gran movimiento, para reemplazar nuestro almacenamiento adjunto de la compañía de hosting, construí un NAS de dos nodos de 9TB basado en chasis de SuperMicro, tarjetas RAID de 3ware, Ubuntu 10.04, dos docenas de discos SATA, DRBD y. Todo está amorosamente documentado en tres publicaciones de blog: Construyendo y probando un nuevo NAS SATA RAID10 NFSv4 de 9TB: Parte I, Parte II y Parte III.

También configuramos un sistema de monitoreo Cacit. Recientemente hemos estado agregando más y más puntos de datos, como valores SMART.

No podría haber hecho todo esto sin el increíble  bins  a  ServerFault. Ha sido una experiencia divertida y educativa. Mi jefe es feliz (Nos ahorramos un montón de $$$), nuestros clientes estan felices (los costos de almacenamiento están bajos), Estoy feliz (diversión diversión diversión).

Hasta ayer.

Corte y recuperación:

Algún tiempo después del almuerzo comenzamos a recibir informes de rendimiento lento de nuestra aplicación, un CMS de medios de transmisión a pedido. Casi al mismo tiempo, nuestro sistema de monitoreo Cacti envió una tormenta de correos electrónicos. Una de las alertas más reveladoras fue una gráfica de iostat a la espera.

enter image description here

El rendimiento se degradó tanto que Pingdom comenzó a enviar notificaciones de "servidor inactivo". La carga total fue moderada, no hubo aumento de tráfico.

Después de iniciar sesión en los servidores de aplicaciones, clientes NFS del NAS, confirmé que casi todo estaba experimentando tiempos de espera IO altamente intermitentes y increíblemente largos. Y una vez que salté sobre el nodo NAS principal, los mismos retrasos fueron evidentes al intentar navegar por el sistema de archivos de la matriz de problemas.

Hora de fallar, que salió bien. En 20 minutos se confirmó que todo funcionaba perfectamente.

Post mortem:

Después de todas y cada una de las fallas del sistema, realizo una autopsia para determinar la causa de la falla. Lo primero que hice fue volver a ingresar a la caja y comenzar a revisar los registros. Estaba desconectado, completamente. Tiempo para un viaje al centro de datos. Reinicio de hardware, copia de seguridad y en ejecución.

En /var/syslog He encontrado esta entrada de aspecto aterrador:

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 revisar los gráficos de Cacti para los discos en la matriz. Aquí vemos que, sí, el disco 7 se está escapando, como dice syslog. Pero también vemos que el SMART Read Erros del disco 8 está fluctuando.

enter image description here

No hay mensajes sobre el disco 8 en syslog. Más interesante es que Los valores fluctuantes para el disco 8 se correlacionan directamente con los altos tiempos de espera de IO.  Mi interpretación es que:

  • El disco 8 está experimentando una falla de hardware impar que resulta en largos tiempos de operación intermitentes.
  • De alguna manera, esta condición de falla en el disco está bloqueando toda la matriz

Tal vez haya una descripción más precisa o correcta, pero el resultado neto ha sido que el único disco está afectando el rendimiento de toda la matriz.

Las preguntas)

  • ¿Cómo puede un solo disco en una matriz de hardware SATA RAID-10 llevar a toda la matriz a un frenazo?
  • ¿Estoy siendo ingenuo al pensar que la tarjeta RAID debería haber tratado con esto?
  • ¿Cómo puedo evitar que un solo disco que se comporta mal afecte a toda la matriz?
  • ¿Me estoy perdiendo de algo?

99
2017-11-16 11:14


origen


Otra pregunta bien escrita de ti, +1. Siempre es un placer leer (pero desafortunadamente sobre mi tablero para tener una idea). - tombull89
@daff: comprando presupuesto en esta configuración, ahorramos un sólido 66% de un comparable de HP. Ponemos un año de vida útil en este cuadro, no es necesario que dure más tiempo. Recuerde que esto es una caja de almacenamiento, cuesta un año para otro. - Stu Thompson
3La seguridad no es mala, per se. He tenido un comportamiento extraño de una tarjeta PERC en un sistema Dell, que se supone que es un hardware de servidor decente. La tarjeta 3Ware debería tener batería integrada y demás, por lo que no me sentiría tan mal por la decisión. De acuerdo, podría ser criticado por la decisión de SAS vs. SATA, pero no está perdiendo datos y, por su pregunta, parece que tiene copias de respaldo y monitoreo en su lugar, por lo que está haciendo bastante bien :-) - Bart Silverstrim
@StuThompson: por supuesto, es más económico utilizar un presupuesto y utilizar hardware de consumo, y en la mayoría de los casos funcionará bien, especialmente cuando, como en su caso, hay un buen concepto de HA detrás. Pero hay casos, como ha demostrado, en los que el hardware del consumidor simplemente no lo corta cuando suceden cosas malas. Puedo garantizarle que un solo disco SAS defectuoso en un buen controlador PERC (Dell) o SmartArray (HP) no le habría causado ningún problema más que una llamada de soporte para obtener un disco de reemplazo. Hemos tenido un montón de discos SAS muertos a lo largo de los años en la producción, pero nunca los tuvimos con un servidor. - daff
La mayoría de los discos SATA no son compatibles con TLER (Time Limited Error Recovery). Cuando un disco SATA típico encuentra un problema físico, envía un "espera mientras trabajo en esto" al subsistema de disco (que generalmente hace lo que se le indica). Luego, el disco pasará de 10 a 30 segundos (generalmente) en cada error que encuentre hasta que alcance un umbral de "Estoy muerto". Los discos SAS y los discos SATA que admiten TLER están configurados por su HBA para indicar al subsistema de discos "Tengo un problema, ¿qué debo hacer?" para que el HBA pueda decidir la acción apropiada básicamente de inmediato. (Simplificado por brevedad) - Chris S


Respuestas:


Odio decir "no use SATA" en entornos de producción críticos, pero he visto esta situación muy a menudo. Las unidades SATA no son generalmente para el ciclo de trabajo que usted describe, aunque usted especificó Unidades específicamente clasificadas para funcionamiento 24x7. en su configuración Mi experiencia ha sido que las unidades SATA pueden fallar de manera impredecible, a menudo afectando a toda la matriz de almacenamiento, incluso cuando se usa RAID 1 + 0, como lo ha hecho. A veces, las unidades fallan de una manera que puede detener todo el bus. Una cosa a tener en cuenta es si está utilizando expansores SAS en su configuración. Eso puede hacer una diferencia en la forma en que los discos restantes se ven afectados por una falla de la unidad.

Pero puede haber tenido más sentido ir con unidades SAS de línea media / línea cercana (7200 RPM) versus SATA. Hay una pequeña prima de precio sobre SATA, pero las unidades funcionarán / fallarán de manera más predecible. La corrección de errores y los informes en la interfaz / protocolo SAS son más robustos que el conjunto SATA. Así que incluso con unidades cuya mecánica es la misma, la diferencia del protocolo SAS puede haber evitado el dolor que experimentó durante la falla de su unidad.


47
2017-11-16 11:48



Mientras escribía la pregunta acabo de sabía Mi elección de SAS iba a aparecer. : / El IOPS y el rendimiento están bien dentro de las capacidades de mi configuración. Pero no asimilé por completo algunas de las diferencias más sutiles. Ponemos una vida útil de 3 años en esta caja. Estaré seguro de usar SAS la próxima vez. - Stu Thompson
Sí, es algo a considerar la próxima vez. Las unidades SAS de línea cercana que mencioné no necesariamente funcionan mejor que SATA, pero son cosas como la recuperación de errores y las fallas de las unidades donde el SAS es más manejable. Tengo un sistema de almacenamiento SATA Sun Fire x4540 de 48 unidades con 6 controladores, y las fallas de las unidades individuales tienden a bloquear el servidor. Dura lección - ewwhite
Un buen amigo mío está en el mundo del almacenamiento empresarial. Leyó todo esto y dice "Este tipo tiene razón. Lo que sucede es que SATA está diseñado para denotar una falla completa y una intermitente requerirá que el bus no active la conmutación por error. Normalmente esto nunca se ve, ya que la mayoría de las configuraciones SATA son una unidad" - Stu Thompson
@StuThompson ¿Ha construido una nueva caja con SAS cerca de la línea? Me encantaría leer sobre sus experiencias. Su pregunta ya me ha ayudado mucho, probablemente construiré una caja similar en el futuro cercano. - chrishiestand
@chrishiestand No, no lo he hecho. Dejé la compañía el 13 de enero; Si me hubiera quedado, habríamos construido la caja de reemplazo cerca de la línea. Por desgracia, la existencia del NAS estaba demasiado vinculada a la mía y los datos se transfirieron a la SAN de un proveedor de servicios. - Stu Thompson


¿Cómo puede un solo disco derribar la matriz? La respuesta es que no debería, pero depende de la causa de la interrupción. Si el disco muriera de una manera que se comportara, no debería derribarlo. Pero es posible que esté fallando en un "caso extremo" que el controlador no puede manejar.

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

¿Cómo prevenirlo? No puedes anticipar casos extraños como este. Esto es parte de ser un administrador de sistemas ... pero puede trabajar en los procedimientos de recuperación para evitar que afecte a su negocio. La única manera de intentar solucionar este problema ahora mismo es probar otra tarjeta de hardware (lo que probablemente no querría hacer) o cambiar sus unidades a unidades SAS en lugar de SATA para ver si SAS es más robusta. También puede ponerse en contacto con su proveedor de la tarjeta RAID y contarles lo que ha sucedido y ver qué dicen; Después de todo, son una compañía que se supone que se especializa en conocer los entresijos de los componentes electrónicos de wokky drive. Es posible que tengan más consejos técnicos sobre cómo funcionan las unidades, así como la confiabilidad ... si puede comunicarse con las personas adecuadas.

¿Te has perdido algo? Si desea verificar que la unidad tiene un fallo de caso extremo, sáquelo de la matriz. La matriz se degradará, pero no debería tener más ralentizaciones y errores extraños (aparte del estado de la matriz degradada). Está diciendo que en este momento parece estar funcionando bien, pero si tiene errores de lectura del disco, debe reemplazar la unidad mientras pueda. Las unidades con alta capacidad a veces pueden tener errores de URE (la mejor razón para no ejecutar RAID 5, nota al margen) que no aparecen hasta que otra unidad falla. Y si está experimentando un comportamiento extremo de esa unidad, no desea que los datos corruptos se migren a las otras unidades de la matriz.


17
2017-11-16 11:58



Sí ... ya hemos puesto en una nueva política de reemplazo como "Si los errores de lectura fluctúan, tirar de él". Ahora que lo pienso, hemos tenido una tasa bastante alta de fallas en estas unidades. 4 de 22 en 18 meses. Hmmm ... - Stu Thompson
4 unidades en 18 meses? esa es una tasa bastante alta ... mientras que podría ser que las unidades no estén dentro de las especificaciones, también podría haber un problema de enfriamiento / flujo de aire. O posiblemente algo extraño con el controlador. Solo algunos pensamientos ... vigila los troncos. Si puede comunicarse con cualquier persona en 3Ware con un trabajo real en las tarjetas y no solo con un script, es posible que desee que lo ejecuten y vean lo que dicen. - Bart Silverstrim
Dependiendo del conjunto en el que esté viendo los errores, también puede verificar que no haya algo extraño o marginal con los cables también. Si los errores parecen estar concentrados en el mismo puerto, es posible que tenga menos de un conjunto de fallas coincidentes. - Bart Silverstrim
Acabo de ver que los valores SMART para este bum drive funcionaban a ~ 31 ° C, o un buen 4 ° C más alto que todos los otros discos. Cosas que te hacen decir "hmmmm.... - Stu Thompson
@DanNeely: de las 14 unidades (11 datos, 3 sistemas) fue la única con una temperatura más alta. Estoy bastante seguro de que el flujo de aire era bueno, pero lo verificaré explícitamente mañana. - Stu Thompson


No soy un experto, pero voy a tomar un tiro salvaje en la oscuridad sobre la base de mi experiencia con los controladores RAID y las matrices de almacenamiento.

Los discos fallan de muchas maneras diferentes. Desafortunadamente, los discos pueden fallar, o ser defectuosos, en formas en que su rendimiento se ve seriamente afectado, pero el controlador RAID no lo considera como un fallo.

Si un disco falla de forma obvia, cualquier software de controlador RAID debería ser bastante bueno para detectar la falta de respuesta del disco, eliminarlo del grupo y disparar cualquier notificación. Sin embargo, mi conjetura sobre lo que está sucediendo aquí es que el disco está sufriendo una falla inusual que, por alguna razón, no está provocando una falla en el lado del controlador. Por lo tanto, cuando el controlador está realizando una descarga de escritura o una lectura desde el disco afectado, está tardando mucho tiempo en volver y, a su vez, se bloquea toda la operación de E / S y, por lo tanto, la matriz. Por el motivo que sea, esto no es suficiente para que el controlador RAID diga "ah, disco fallido", probablemente porque los datos finalmente regresarán.

Mi consejo sería reemplazar inmediatamente el disco fallido. Después de eso, echaría un vistazo a la configuración de su tarjeta RAID (es 3ware, pensé que era bastante buena) y descubrí lo que se considera un disco fallido.

PD Buena idea importando SMART en cactus.


10
2017-11-16 11:57



Una vez que conecté los puntos, lo primero que hice fue quitar el disco de la matriz; El repuesto caliente se llenó. Eso fue anoche. Hoy saqué el disco y lo tiré. La unidad ofensiva: geekomatic.ch/images/wd-re4-flux-read-error.jpg - Stu Thompson
Una de las razones por las que creo que todo sistema de misión crítica necesita tener una tarjeta que haga el lavado de datos. He visto esto demasiadas veces para contar, especialmente en arreglos SATA, sin embargo, se sabe que fallan los discos SAS de más alto nivel sin activar el controlador. - Jens Ehrich


Necesita las características de los dispositivos de almacenamiento de clase empresarial. Específicamente, las unidades empresariales WD RE 4 tienen dos características necesarias para evitar este comportamiento en matrices RAID. La primera tecnología que se enumera a continuación evita que la vibración armónica rotacional provoque un desgaste innecesario en los componentes mecánicos del disco duro. La segunda tecnología es la que causó su problema, el protocolo SATA no tiene esta característica. Para obtener estas funciones, necesita SAS, y si insiste en las unidades SATA, puede comprar tarjetas SAS a SATA Interposer, como la LSISS9252.

Tecnología RAFF mejorada La electrónica sofisticada supervisa la unidad y corrige la vibración tanto lineal como rotatoria en tiempo real. El resultado es una mejora significativa del rendimiento en entornos de alta vibración con respecto a la generación anterior de unidades.

Recuperación de errores por tiempo limitado (TLER) específica de RAID Evita la caída de la unidad causada por los procesos de recuperación de errores del disco duro extendidos comunes a las unidades de escritorio.

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

También por favor vea el enlace de abajo:

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

Consulte también: Documento de Western Digital TLER que explica en profundidad el proceso de recuperación de errores. Prevención de fallos en la recuperación de errores en las unidades de disco duro WD Caviar RAID Edition Serial ATA:

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


7
2018-02-25 19:34





Solo una conjetura: los discos duros están configurados para reintentar los errores de lectura en lugar de informar un error. Si bien este es un comportamiento deseable en una configuración de escritorio, es contraproducente en un RAID (donde el controlador debe reescribir cualquier sector que falle en la lectura de los otros discos, de modo que la unidad pueda reasignarlo).


6
2017-11-16 13:30



Muy posible. Si es así, definitivamente no es bueno, ya que se especifican como unidades de "edición RAID". : | - Stu Thompson
Absolutamente no está bien, porque esa configuración es la definición misma de "edición RAID" :) - Simon Richter


mi tiro en la oscuridad

  • la unidad 7 está fallando. Tiene algunas ventanas de falla donde no está disponible.

  • la unidad 8 también tiene algunos errores 'más ligeros'; corregido por reintento.

  • RAID10 suele ser "un RAID0 de varios pares RAID1", ¿son los discos 7 y 8 miembros del mismo par?

si es así, entonces parece que golpeaste el caso de "no debería ocurrir" de falla de dos discos en el mismo par. Casi lo único que puede matar a un RAID10. desafortunadamente, puede suceder si todas sus unidades son del mismo lote de envío, por lo que son un poco más propensas a morir simultáneamente.

Supongo que durante una falla de la unidad 7, el controlador redirigió todas las lecturas a la unidad 8, por lo que cualquier reintento de error causó grandes retrasos que causaron una avalancha de tareas congeladas, matando el rendimiento por un tiempo.

tienes suerte de que el drive 8 no parezca estar muerto aún, así que deberías poder arreglarlo sin Dataloss.

Comenzaría cambiando ambas unidades, y no olvide revisar el cableado. una conexión floja podría causar esto, y si no se enruta firmemente, es más probable que ocurra en unidades adyacentes. Además, algunas tarjetas multipuerto tienen varios conectores de dos puertos, si la unidad 7 y la unidad 8 están en el mismo, podría ser la fuente de su problema.


6
2017-11-16 14:11



La unidad 8 es la causa de la interrupción del servicio, ya lo he tirado. Conduzca 7, mientras que ha perdido algunos sektors, como ha estado en este estado por un tiempo y en general sigue funcionando bien. No, las unidades están en diferentes pares. (Fue algo que consideré, junto con una posible desalineación de mis consultas de Cacti / SNMP).  La tarjeta tiene 16 puertos, 4 cables, 4 puertos por cable en un panel posterior. Si el problema es la tarjeta, el cable o el panel posterior, lo sabré lo suficientemente pronto cuando inserte el reemplazo de la unidad 8. - Stu Thompson


Las tarjetas de interposición de SATA son otra solución.

Recientemente experimenté exactamente el mismo destino y encontré este hilo. El tenor general es que SAS protocolo es más adecuado para RAID que SATA, porque SATA carece de características. Esta es la razón por la que las mismas unidades físicas están equipadas con controladores SAS, que luego se venden como Nearline SAS.

Buscando más, encontré:

http://www.lsi.com/products/storagecomponents/Pages/LSISS9252.aspx

Estoy investigando la actualización de uno de mis almacenes con un lote de estos. En este momento, la diferencia de precio entre 3 TB SATA vs SAS es del 400% (precio de vainilla, misma marca, especificaciones y tienda, Alemania). Obviamente no puedo decir si esta estrategia funciona bien, pero vale la pena intentarlo.

Comentarios muy bienvenidos :-)


3
2018-02-22 19:12



Bueno, bonita teoría. Después de recopilar cierta información, solo los fabricantes de bandejas de almacenamiento pueden integrar estas placas y agregarlas no significa necesariamente un mejor manejo de errores. - korkman


He visto un disco SATA con componentes electrónicos rotos que bloquea el inicio del firmware de un Areca 12 algo sólido, no había manera de acceder a la BIOS y mucho menos arrancar la máquina desde cualquier medio hasta que se encontró el disco duro ofensivo extrayendo los discos en un binario busca la moda.


2
2018-05-06 18:57