systemadmin.es > Storage > Cable de fibra roto – qla2400 0000:0a:00.0: LOOP DOWN detected

Cable de fibra roto – qla2400 0000:0a:00.0: LOOP DOWN detected

Cualquiera que ha trabajado con fibra conoce lo delicada que es, a continuación veremos una historia de miedo basada en hechos reales.

Conector de fibra SC roto

Conector de fibra SC roto

Podemos apreciar el conector de la izquierda como tiene un angulo más pronunciado cuando lo mantenemos recto para que la gravedad haga su trabajo. Esto indica claramente que este conector se ha roto.

A raíz de la instalación de un patch panel de fibra entre dos armarios el técnico instalador decide que da igual si al cerrar la puerta la fibra forma un angulo recto respecto al conector. En ese momento lo que pasa con la fibra es equivalente a lo que le ocurre a una cucharilla de plástico:

Si doblamos una cucharilla de plástico hasta el punto antes de romperse podremos ver como poco a poco el plástico va a ir cediendo hasta llegar a romperse. Esto es lo mismo que le ocurrió a la fibra. Podemos ver los logs del /var/log/messages:

Mar 11 21:47:41 helfer kernel: qla2400 0000:0a:00.0: LOOP DOWN detected (4).
Mar 11 21:48:29 helfer kernel: qla2x00: FAILOVER device 0 from 50060160302313d9 -> 50060168302313d9 - LUN 00, reason=0x2
Mar 11 21:48:29 helfer kernel: qla2x00: FROM HBA 0 to HBA 0
Mar 11 21:48:31 helfer kernel: sd 3:0:0:0: SCSI error: return code = 0x00010000
Mar 11 21:48:31 helfer kernel: end_request: I/O error, dev sdb, sector 1536164327
Mar 11 21:48:31 helfer kernel: sd 3:0:0:0: SCSI error: return code = 0x00010000
Mar 11 21:48:31 helfer kernel: end_request: I/O error, dev sdb, sector 447
Mar 11 21:48:31 helfer kernel: Buffer I/O error on device dm-0, logical block 0
Mar 11 21:48:31 helfer kernel: lost page write due to I/O error on dm-0

En el dmesg podemos apreciar lo mismo:

qla2400 0000:0a:00.0: LOOP DOWN detected (2).
qla2400 0000:0a:00.0: LIP reset occured (f8f7).
qla2400 0000:0a:00.0: LIP occured (f8f7).
qla2400 0000:0a:00.0: LIP reset occured (f7f7).
qla2400 0000:0a:00.0: LOOP UP detected (4 Gbps).

Por las horas no había nadie toqueteando la fibra, sino que es la hora en la que la fibra cede y ya no deja pasar la luz.

En el caso que el servidor tenga un disco en la SAN con los datafiles del MySQL, el problema cantaría enseguida ya que el MySQL no podría escribir a disco y tendría errores de escritura. ¿Pero que pasa si no es una cosa tan delicada como es una base de datos?

En el caso de tener un servidor con memoria de sobras para hacer de cache y se trate de un servidor de imágenes la cosa cambia. En el caso que se quiera escribir una imagen nueva no va a dejar porque no puede escribir en el disco por el cable roto pero no ocurre lo mismo con las lecturas.

En el caso de leer una imagen que se encuentre en cache la va a servir sin problemas, ya que no va a acceder a disco para eso. En el caso de querer acceder a una imagen que no se encuentre en cache, entonces ahí tenemos el problema de lectura por lo que el servidor web lo que devuelve es un 404 (Not Found).

Es evidente que cada servidor debe tener su sistema de motorización que comprueba que este funcionando pidiendo acceder a un determinado contenido periódicamente. ¿Dónde creéis que residirá un contenido accedido cada 5 minutos? Evidentemente en cache, por lo que el fallo no se detectará. Incluso visitando las páginas web veremos la mayoría de imágenes (dependiendo de la memoria disponible en el servidor) y será solo cuando entramos en páginas menos visitadas que empezaremos a ver los 404 en las imagenes.

Para evitar este problema podemos usar un check de Nagios para comprobar el estado del loop de la HBA (si tiene link)

6 comments to “Cable de fibra roto – qla2400 0000:0a:00.0: LOOP DOWN detected”

  1. Això és un cas real o t’ho has inventat? No em crec que puguin passar aquestes coses 😉

  2. xD real como la vida misma

  3. Para estas cosas está el multipathing…

  4. Se trata del cable que conecta una HBA con un switch. No es muy común gastar dinero en 2 HBAs o en una HBA dual ya que cada puerto en el switch tiene un coste y cada HBA también.

    saludos!

  5. ¿Qué no es muy común gastar dinero en tener multipathing? Pues entonces explícame como te puedes permitir no tener redundancia en algo que “supuestamente” es crítico/importante. Y digo que es supuestamente, porque “ese algo” está enganchada a una SAN de fibra muy cara .

    Al menos yo para las cosas de importancia pequeña / media accedo por multipath IP a una SAN iSCSI y para las cosas muy importantes/críticas uso multipathing en fibra.

    A lo peor soy un paranoico 😛

    Gufete

  6. Lo que quiero decir es que, en mi caso, siempre he visto que en lo primero que se escatima es en fibra por su elevado coste: Un ejemplo es este caso que solo tiene una HBA conectada al único switch (ni me preguntes, últimamente esta la gente muy rancia)

    Evidentemente también hay entornos (sobretodo lo he visto en bases de datos Oracle) donde ya puestos a gastar se compran las 2 HBAs y sus 2 switch para que en cualquier momento puedas cargarte una fibra o un switch sin que ocurra nada.

    Por mi tener 2 HBAs encantado, sino, las consecuencias son estas. Lo que hay que valorar es: dinero a invertir vs caída del servicio (dinero a perder)

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>