server_farm2

Hace unos minutos hemos hablado del leap second, es decir, un ajuste que de vez en cuando se realiza a la hora oficial para compensar desfases debidos a la no regularidad de la rotación de la Tierra (debido a factores externos como la gravedad de la Luna, por ejemplo). Este ajuste horario implica la adición de 1 segundo extra (al menos así ha sido desde que se introdujo este parámetro) a un día del año (o bien el 30 de junio o bien el 31 de diciembre) según fija el Servicio Internacional de Rotación de la Tierra y Sistemas de Referencia. Si bien podría pensarse que el cambio es algo trivial y que, simplemente, la hora oficial tiene un segundo extra; al trasladar el ajuste a los servidores NTP, hay veces que el cambio puede provocar efectos no deseados. Concretamente, el pasado 30 de junio, los ajustes del leap second provocaron que algunos servicios se viesen afectados y provocasen indisponibilidades en su infraestructura.

Es habitual que la gran mayoría de servidores que usamos en las empresas utilicen algún servidor horario (vía NTP), por ejemplo, para evitar que tengamos que estar pendientes de cambios horarios o tener que andar sincronizando los relojes (usando una referencia gubernamental o de algún organismo privado). Que la hora oficial de nuestro país varíe es algo que nuestro servidor NTP debería asumir y transmitir, sin embargo, este último leap second ha pillado por sorpresa a algún que otro servicio que ha visto cómo un bug del kernel 2.6 de Linux hacía que el servidor "se volviese algo loco" al comprobar que un día duraba 24 horas y 1 segundo (que era la información que enviaban los servidores horarios).

Desde el año 2008 no se realizaba el ajuste horario pero éste y los anteriores se habían realizado en diciembre y había que remontarse hasta 1997 para asistir a un ajuste realizado el 30 de junio. La foto de Internet de 1997 poco o nada tiene que ver con la actual y, por tanto, a muchas empresas este ajuste horario les pilló algo de imprevisto por una serie de "catastróficas desdichas". ¿Y fue para tanto? El resultado habla por sí solo: algunos servicios estuvieron el viernes fuera de línea al provocarse un kernel panic en los sistemas Linux con kernel 2.6. Los que tenían controlado el bug pusieron medidas para mitigarlo y, por ejemplo, Google decidió "prorratear" este segundo extra en varias horas, haciendo que se repartiese el segundo y su servidor NTP realizase un ajuste gradual del horario.

El 31 de diciembre de 1999 muchos medios hablaban del famoso efecto 2.000 "que iba a paralizar el mundo tecnológico" si las empresas no estaban preparadas, sin embargo, algo tan simple como un segundo de diferencia también puede causar algún que otro dolor de cabeza si no se tienen en cuenta estos pequeños detalles y no estamos atentos a las pautas que marcan los servidores NTP que usamos o a los bugs del sistema operativo que tenemos desplegado.

Actualización: Como bien señalaba Mafb en los comentarios y Juanje Ojeda vía Twitter, el Leap Second causó algún que otro dolor de cabeza pero no en Amazon puesto que su caída se debió a una tormenta y a este bug.