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/twa0
donde 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 ...