La matriz 3Ware RAID6 a veces se cuelga. ¿Disco roto no detectado?

13

Tenemos un servidor Debian con controlador RAID 3Ware 9650SE de 8 unidades, con matriz RAID6 de 5 discos, que actúa como host de máquina virtual, todo Linux. Siguen ocurriendo problemas y sospecho que hay un disco roto no detectado.

Hemos tenido varios accidentes ahora donde el anfitrión y todos los invitados dicen que el sistema IO se bloqueó durante 120 segundos o más. Sospechábamos un controlador RAID defectuoso, pero lo reemplazamos por uno idéntico con firmware idéntico, que no lo solucionó. No pensé que lo haría, porque una segunda matriz RAID1 seguía funcionando correctamente.

Hace casi una semana (domingo), cuando esto estaba actuando, la verificación automática era del 66%. Anoche (viernes por la mañana) fue del 67%. Tanto antes como después del arranque, y ambos mientras se experimentan problemas. Cuando apagué la verificación con tw_cli /c0/u0 stop verify, las cosas volvieron a responder.

Sospecho que se atascó en una falla de disco en alrededor del 66%. Una verificación automática comienza el sábado:

# tw_cli /c0 show verify
/c0 basic verify weekly preferred start: Saturday, 12:00AM

y normalmente estaría terminado por mucho tiempo para el viernes. Dado que el domingo fue del 66% y el viernes del 67%, es poco probable que sea una coincidencia.

'smartctl -a -d 3ware, 0 / dev / twa0' y 'smartctl -t long' (autoprueba SMART larga) en todas las unidades no revelaron ningún error. Tampoco lo hace tw_cli /c0 show alarms.

Sospeché que un disco está roto de una manera que es difícil de detectar, pero saqué cada unidad de la matriz una por una, creé una matriz 'única' y la llené de ceros. Ningún disco mostró errores.

¿O algún otro consejo?

Editar:

Este es el diseño:

# tw_cli /c0 show

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-6    OK             -       -       256K    5587.9    RiW    OFF    
u1    SPARE     OK             -       -       -       1863.01   -      OFF    
u2    RAID-1    OK             -       -       -       1862.63   RiW    ON     

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   1.82 TB   SATA  0   -            ST32000542AS        
p1    OK             u0   1.82 TB   SATA  1   -            ST32000542AS        
p2    OK             u0   1.82 TB   SATA  2   -            ST32000542AS        
p3    OK             u0   1.82 TB   SATA  3   -            ST32000542AS        
p4    OK             u0   1.82 TB   SATA  4   -            ST32000542AS        
p5    OK             u1   1.82 TB   SATA  5   -            WDC WD2002FYPS-02W3 
p6    OK             u2   1.82 TB   SATA  6   -            WDC WD2002FYPS-02W3 
p7    OK             u2   1.82 TB   SATA  7   -            WDC WD2002FYPS-02W3 

Name  OnlineState  BBUReady  Status    Volt     Temp     Hours  LastCapTest
---------------------------------------------------------------------------
bbu   On           Yes       OK        OK       OK       0      xx-xxx-xxxx

La unidad en cuestión es u0.

edit2:

tw_cli / c0 show diag muestra algo interesante (edit3: esto es inofensivo, descubrí que es causado al llamar a smartctl -a -d 3ware,X /dev/twa0donde X es un puerto no válido):

QueueAtaPassthrough() called with invalid TargetHandle: 0x17, portHandle: 0xFF

Legacy opcode=0xB1 error=0x10E

E=010E T=14:15:51     : Invalid operation for specified port
E=010E T=14:15:51 U=0 : Return error status to host
Error, Unit 23: Invalid operation for specified port
(EC:0x10e, SK=0x05, ASC=0x24, ASCQ=0x00, SEV=01, Type=0x70)
No additional sense data
Error, Unit 23: 0x10E OVERRIDDEN due to invalid sense buffer descriptor
sense buffer: len=0, address=0x414ca2c7c
Send AEN (code, time): 0031h, 06/21/2013 14:26:16
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

Tengo toneladas de estos. Sin embargo, no tengo idea de lo que significa. Ni siquiera puedo distinguir qué unidad o puerto es. (edit3: Lo sé ahora, es inofensivo).

Dado mi edit3, estoy de vuelta al punto de partida. Nada indica que un disco está roto, excepto que la verificación se bloquea al 66% y hace que la matriz se cuelgue, lo que a veces también ocurre al azar. Desearía que la verificación encontrara la falla ...

Halfgaar
fuente
¿Qué discos duros? ¿Están oficialmente respaldados?
grs
Agregué el diseño. Los discos son ST32000542AS. Son compatibles, pero más aún, el servidor funcionó bien durante 3 años.
Halfgaar
Tuve problemas con algunas unidades WD que se volvieron muy lentas en algún momento. solo un hdparm (no se puede hacer aquí tristemente) me mostró un rendimiento total de ~ 300 KB / s (¡sí K!) en lugar de los habituales 80 ~ 100 MB / s.
Benjamin Sonntag
1
La diferencia entre la empresa y los discos de las unidades de escritorio es que resuelven los errores. Si las unidades Enterprise encuentran algún error, el disco se cae de la incursión. (como en las empresas sensibles a los riesgos de almacenar datos y están dispuestos a pagar por ellos) Si una unidad de escritorio encuentra la falla, intentará durar hasta que finalicen todos los tiempos de espera. (A medida que los usuarios manejan una unidad, y para los datos que necesitan alcanzar, y si se caen los discos a la vez, el fabricante será muy doloroso) aparentemente ST32000542AS es una versión de escritorio silenciosa y económica. por ejemplo goo.gl/rWb5lj
Rainbow-
En realidad, recientemente, este servidor se colgó repentinamente, de manera diferente y más severa que el problema original, y los registros mostraron un tiempo de espera en un puerto RAID. El tiempo de espera estaba en una de las unidades de la empresa (de las cuales este servidor tiene más ahora).
Halfgaar

Respuestas:

1

2 cosas que no se mencionaron hasta ahora:

  1. ¿Es este un controlador RAID SATA? Si es así, los cables SATA son propensos al envejecimiento y reemplazarlos podría resolver estos problemas fácilmente. La mayoría de las veces esto se puede intentar cuando ocurren errores de disco, retrasos, tiempos de espera, pero los valores SMART están bien y la unidad pasa todas las autocomprobaciones. Desafortunadamente, encontrar un buen vendedor de cable SATA es difícil.
  2. Los controladores RAID 3Ware son antiguos y no son compatibles en estos días. No obtendrá actualizaciones de firmware ni repuestos. En caso de que su controlador falle, el RAID podría ser irrecuperable sin el controlador y el firmware correspondientes. Entonces se necesita una costosa recuperación de datos.
flohack
fuente
0

Este problema puede deberse a que uno de los discos encuentra un error de lectura y bloquea toda la matriz hasta que logra reasignar el sector o el controlador RAID asume que la unidad está muerta y la arranca de la matriz, marcándola como "Degradada" (esto depende completamente del controlador en cuestión). Esto puede suceder a menudo si un disco comienza a morir pero aún pasa SMART. La mayoría de los discos de consumo continuarán intentando la lectura para siempre.

Este problema se resuelve en algunas unidades destinadas a RAID usando algo llamado Control de recuperación de errores . WD llama a esto TLER. Desde el sitio:

RAID-specific time-limited error recovery (TLER) - Pioneered by WD, this feature prevents drive fallout caused by the extended hard drive error-recovery processes common to desktop drives.

Básicamente, le dice a un disco que si no puede leer un sector, que se rinda después de x segundos. Esto es excelente en un RAID ya que los datos pueden recuperarse de otro disco.

Por lo que he leído, el ST32000542AS no implementa ninguna forma de ERC, por lo que ninguno de ellos puede bloquear toda la matriz. De hecho, el WD2002FYPS implementa el TLER de WD para que no causen este problema.

succulent_headcrab
fuente
0

Solo para asegurarme, ¿cuál es su versión de firmware?

Experimenté un problema, que se parece mucho a lo que estás describiendo, cuando se cumplen los siguientes requisitos:

  • Controlador 3ware serie 96xx
  • RAID 6
  • Tamaño de banda de 256k
  • Versión de firmware <v4.10.00.021 *

En ese momento no había una corrección de firmware disponible, así que migré de 256k a 64k tamaño de banda, lo que también resolvió el problema. Puede intentarlo como solución alternativa, aunque ciertamente llevará días completarlo.

Más tarde probé el nuevo firmware (* 4.10.00.021 creo que tenía la solución) con 256k y funcionó de maravilla. 4.10.00.027 es la última versión.

Acrklor
fuente
Ya no tenemos el problema. La verificación siempre tuvo éxito. Sin embargo, tuvimos un servidor completo colgado hace unos meses (después de mucho tiempo sin problemas). Dmesg dijo que el disco x expiró. No sé por qué el controlador no lo pateó, pero a pesar de que no estaba marcado explícitamente como degradado, lo reemplacé. Y, desde entonces, también se han reemplazado otros discos. Entonces es probable que haya sido un problema de disco.
Medio juego
0

Solía ​​tener problemas con un controlador 3ware y unidades Seagate. Hay una incompatibilidad de firmware sutil. Cambié a las unidades de Samsung, problema resuelto.

Zdenek
fuente