Incidente con los servidores
La semana pasada, concretamente el viernes 21 por la noche, sufrimos un grave problema con los servidores que hizo que los servicios de Festhome no estuviesen disponibles durante varias horas. Aunque ya hemos conseguido tener todos los servicios de nuevo en funcionamiento, queremos explicar lo que pasó y las medidas que estamos tomando para evitar en la medida de lo posible otro incidente igual, el primero que hemos tenido de esta envergadura en 13 años.
¿Qué paso?
Alrededor de las 2 AM, todos los servicios de Festhome dejaron de ser accesibles. Tras una rápida evaluación, vimos que el problema venía del servidor de bases de datos principal, sobre el cual se apoyan el resto de servicios para guardar y obtener los datos de todo lo que se hace en Festhome. Una vez los operarios del centro de datos pueden acceder físicamente al servidor en cuestión, nos informan que el disco duro no está funcionando, con lo que nos ponemos en movimiento para recuperar los datos de otro disco duro y reemplazar el que falla para volver a poner el servicio en línea. Esto en sí no es un problema muy grande, y aparte del tiempo perdido sin conexión, que en este momento era de un poco más de una hora, no habría más incidencia. El grave problema surge cuando al acceder al segundo disco que contiene los backups instantáneos, este tampoco responde. A partir de este momento, empezamos a trabajar en intentar recuperar los datos de los discos duros para poder restablecer el servicio con todos los datos, pero las horas pasan sin grandes progresos y encontrando más y más problemas con los discos duros. Creemos que algún tipo de corte eléctrico o algo parecido ha quemado los dos discos duros a la vez, ya que es extremadamente raro que dos discos duros mueran a la vez. En estos 13 años no habíamos perdido nunca un sólo dato ni inscripción y estamos muy avergonzados por este episodio.
¿Qué hicimos?
Una vez conocida la envergadura del problema, decidimos trabajar en paralelo en usar uno de los backups externos al servidor para restablecer el servicio si no fuésemos capaces de recuperarlo con los datos del servidor con fallos. Unas 7 horas después del inicio del incidente, tenemos el servicio preparado para restablecerse, pero con los datos del último backup que se hizo externo al servidor, que son del jueves 20 por la mañana.
En este momento, debemos tomar la decisión de esperar a recuperar los datos de los discos duros corruptos para que no haya ningún envío o transacción perdida, o restablecer el servicio sin los datos del jueves. Tras valorarlo detenidamente, decidimos que ya han pasado demasiadas horas sin servicio, y es importante que los usuarios puedan seguir realizando envíos y viendo las películas, y cuando tengamos los datos del jueves, los volveremos a introducir en el nuevo servidor de manera manual.
Esta ha parecido ser la decisión correcta, ya que varios días después, todavía estamos intentando recuperar el otro servidor y cada vez tenemos menos esperanzas en poder hacerlo y recuperar los datos que no teníamos guardados en otros servidores.
¿Qué soluciones hemos encontrado para ahora y el futuro?
En lo inmediato, nuestros compañeros de soporte técnico han estado reconstruyendo manualmente las transacciones que los usuarios nos han dicho que habían perdido, pero es una solución imperfecta. Contamos con nuestros usuarios en avisarnos de los problemas que hayan tenido, para manualmente solucionar esos problemas y que tengan todos los datos tal y cómo deberían aparecer en sus cuentas. Es un proceso lento, pero en este momento parece ser el único posible.
En cuanto al futuro, vamos a aumentar la redundancia de las bases de datos en el servicio en vivo con mejores protecciones en puntos de fallo, para que si falla un servidor repentinamente, el servicio continúe funcionando. 13 años es mucho tiempo sin perder datos, pero si podemos ser mejores, debemos serlo, con lo que también vamos a aumentar la frecuencia de back-ups externos a los servidores de datos, por si hubiese algún problema similar en el futuro, podamos recuperar los datos con una menor pérdida.
Queremos disculparnos ante todos nuestros usuarios y agradecer su enorme paciencia estos últimos días. Han sido muchas horas sin dormir y con grandes nervios por desconocimiento de lo que estaba pasando. Cuando un ordenador lo tienes delante de ti, ya es difícil a veces pero por lo menos lo puedes tocar. Con servidores alojados en búnkers a miles de kilómetros de distancia y con los que sólo puedes trabajar con una línea de comandos a lo Matrix, las incertidumbres y nervios aumentan exponencialmente.
Compartir en Redes Sociales