domingo, 21 de octubre de 2012

Caramba, que coincidencia


El viernes pasado tuve uno de los mayores problemas a los que me he enfrentado en los ultimos tiempos: toda la infraestructura de servidores de mi empresa se vino abajo por culpa de un fallo de conectividad entre los servidores y el NAS. Los de produccion, los de desarrollo y los de uso interno.

Contado así el origen del fallo parece que no deberia haber sido para tanto, pero déjame contarte que hace alrededor de año y medio cambié todos (en su momento unos 14) los servidores físicos que tenia por sólo 3, utilizando la virtualización de VMWare ESXi. La forma en que lo instalé tal vez no sea muy convencional, pero lo hice montando los servidores sin discos duros ahorrandome una pasta en discos, controladoras RAID y demas, e invirtiendo ese dinero en meter mas memoria (tampoco una pasada: 32 GB de RAM, nada comparable a los 29 Tb de RAM que Larry Ellison dice que hacen falta para que Oracle vaya fino fino) y arrancando los servidores con un pincho USB.

¿Sin discos?. ¿Donde están los ficheros de las maquinas virtuales, los datos y todo lo demás?: En un único NAS, un Thecus 7700 con 7 discos en RAID6 (para ser exactos, 6 discos + 1 en espera) al que acceden los 3 servidores por iSCSI.

El sistema me ha estado funcionando mejor que fantástico durante este año y pico. Ni un solo fallo, mejora de velocidad en todos los procesos, flexibilidad infinita a la hora de 'ampliar el hardware' de las maquinas virtuales (« venga, un par de Gb mas de RAM para este servidor que ahora le hace falta », o « como vamos a hacer procesos de calculo intensivo, le meto 4 cores mas a este servidor »).  Tambien, en lugar de apretar los programas en los servidores existentes me puedo permitir el lujazo de meter un solo servidor para nuevos servicios (y algun dia contaré lo mucho que estamos cambiando en mi empresa en este sentido) y tener todo mucho mas controlado y separados por funcionalidades.

¡Que bonito todo!, ¿verdad?.  Si: hasta que, como comentaba al principio, un error de conectividad en uno de los switches hace que los servidores físicos pierdan la conexión con el NAS... y todo se venga abajo.  Para mas coña (aún estoy investigando el porqué) despues de la pérdida de conexion el Thecus decidió que ya que habia dejado de trabajar, se echaba una siestecita, y se quedo frito. Resultado: unas 7 horas de reconstruccion de RAID.

Asi que ahí andaba yo, el viernes por la noche levantando los sistemas. ¿Y que me encontré?:



¡Si!. ¡Oh casualidad!.  29 servidores Linux (Ubuntus v8, v10, v12. Fedoras 6, CentOS), dos de ellos con cosas tan delicadas a priori como puede ser Oracle. Incluso un Windows 2003 Server.  Y 3 malditos Windows 2008.  Cuando intentaba arrancarlos me aparecia la pantalla de aviso de que algo iba mal y que entrara en modo a prueba de fallos. En uno de ellos directamente pantallazo azul y reboot.

Entrando en modo de recuperación me pedia el DVD de instalación y al dárselo me decia que no encontraba disco de sistema y que le dijera donde estaban los drivers (pues hombre, si no los encuentras tu... ).  Resultado: tuve que restaurar la copia de seguridad de las maquinas virtuales de la semana pasada. Afortunadamente no he sufrido perdida de datos importantes en estos servidores pero el tema ha llamado mucho mi atención.

¿Como puede ser que de 33 servidores, repartidos por distintos volúmenes iSCSI, en un mismo NAS sólo haya problemas graves con 3 que corren el mismo sistema operativo?. ¿Alguien de ciencias me puede decir las probabilidades de que suceda esto?

En los Linux, que cuando sucedió el problema estaban echando humo de gente trabajando con ellos, sólo en 5 de ellos hubo que ejecutar el comando fsck para comprobar el disco. En 2 ni siquiera fué a causa del problema sino porque llevaban mas de 400 dias sin apagarse, y cuando en el arranque de un Linux se detecta que un sistema de ficheros lleva mas de X dias sin verificarse, se fuerza el chequeo.

Tengo algunos clientes que usan SQLServer en sus servidores de producción asi que me veo obligado a tener acceso a esta base de datos (que, dicho sea de paso, funciona bastante bien). Afortunadamente estoy migrando esta infraestructura a Amazon AWS para no tener que mantenerla, y despues de los problemas de este fin de semana, mas aún.

Desde luego, si mi falta de confianza en Windows andaba por los suelos, esta experiencia ha sido la puntilla que me faltaba.