Pregunta

Al trabajar en varios equipos, me reuní con varios administradores de infraestructura que establecieron una política de reinicios semanales del servidor. Como desarrollador, siempre estuve en contra de la política. Parece que esto es un truco para solucionar los errores de software e inestabilidades de hardware, en lugar de corregirlos.

¿Cuáles son las opiniones de la gente, los puntos positivos y negativos con respecto a la política?

¿Fue útil?

Solución

Si reinicia sus servidores ocasionalmente, puede estar seguro de que volverán a activarse. Aunque cada semana suena como una seria exageración, he visto este problema en máquinas Linux con largos tiempos de actividad.

Alguien no se molestó en configurar un servicio crítico para que se inicie automáticamente en el arranque. O el orden de los servicios que viene es incorrecto. O alguien actualizó las bibliotecas, agregó / eliminó software, etc., y el ejecutable ya no funciona (se inició con las bibliotecas antiguas y continuó usándolas; ahora aparece un error de enlace dinámico). O resulta que el servicio A depende del servicio B y el servicio B depende del servicio A (oops).

En algún momento, cuando al menos quiera hacerlo, reiniciará. El colo dejará caer el poder sobre ti; las fuentes de alimentación del servidor fallarán; alguien tirará del cable / pulsará el botón de reinicio en el servidor incorrecto; Ahora, cuando menos puede permitirse el tiempo de inactividad, su servidor no volverá a funcionar.

Al igual que el software, las configuraciones del sistema necesitan pruebas. La frecuencia con la que necesita realizar estas pruebas depende de cómo se administren sus cajas.

Otros consejos

Esta es una política tonta.

He aquí por qué:

  • Si necesita reiniciar un servidor semanalmente (y de alguna manera aumenta la estabilidad de su infraestructura), está ocultando el problema real con un servidor o su software. ¿Una pérdida de memoria? ¿Un mal conductor? La solución a estos problemas es arreglarlos , no cubrirlos con una política perezosa.

  • Los servidores a menudo se reinician para recibir actualizaciones, al menos en el mundo de Windows. El reinicio de las actualizaciones críticas del kernel ocurre de todos modos.

  • Los servidores de bases de datos almacenan en caché mucha información en la RAM. Cuando reinicia su servidor, este caché se queda vacío y muy frío. Suponiendo que tenga un patrón de uso típico, un caché frío y vacío resultará en un rendimiento lento para los usuarios cuando intentan realizar sus consultas después de un reinicio. puede también aumenta el tiempo necesario para realizar algunos tipos de mantenimiento, como copias de seguridad, ya que puede ser necesario acceder al disco más.

  • ¡Tus servidores se caen! Sus ventanas de mantenimiento para copias de seguridad y otras cosas se acortan porque su servidor está apagado por un período de tiempo distinto de cero. También puede terminar teniendo que decirle a sus usuarios que tendrá tiempo de inactividad, dependiendo de la arquitectura de sus sistemas.

  • Suponiendo que tiene algún tipo de sistema de notificación para alertar, tendrá que configurarlo para ignorar su ventana de tiempo de inactividad. Esto puede enmascarar los problemas que ocurren alrededor del momento en que su servidor se reinicia, y aumenta la cantidad de configuración que tendrá que hacer en sus servidores.

Dicho esto, los reinicios a veces son beneficiosos como último recurso para recursos sobre los que no necesariamente tiene control total (software escrito por el proveedor antiguo, "caja negra" en dispositivos donde el proveedor lo prescribe explícitamente, etc.) .). Pero esto debe manejarse caso por caso, y no con una política general ingenua.

Disculpas por desempolvar un hilo viejo.

Creo que todo el mundo está perdiendo el punto, ¿especialmente el reinicio a tope? ¡Prefiero vender mi comodoro! Administradores de Nix.

El punto es que una ventana semanal debe estar programada. No significa que deba usarse, de hecho, la preferencia es que no se use, ya que es inevitable en una hora abandonada de la mañana.

Pero si está allí, puedes usarlo.

Personalmente, creo que un reinicio trimestral es una muy buena idea, ya que puede proporcionarle información sobre los problemas (hardware y software), y, como señala el póster más progresista, le avisa de los cambios que impiden que se produzcan problemas. Inicio que solo se hace evidente después de un reinicio. En lugar de hacer que surja la situación después de un corte de energía de 4 horas cuando toma otras 2 horas para subir su caja, se vuelve muy embarazoso ...

Hay otras ventajas ...

  • Obtiene la administración que se usa para reiniciar, y usted tiene su confianza cuando realmente necesita un reinicio (por ejemplo, moverlo físicamente). Si nunca reinicia una caja, su gerente estará bastante nervioso cuando diga que necesita reiniciarse después de 4 años y no hay tiempo de inactividad.

  • Usted mismo se acostumbra a los reinicios y sabe qué puede salir mal cuando está desconectado.

  • SABES cuánto tardan los reinicios, de modo que cuando vuelve a funcionar y tarda 10 minutos más de lo habitual, entras directamente en los registros.

  • Si mañana te atropella un autobús, hay documentación ACTUAL (no de 4 años) sobre lo que sucede cuando se produce un reinicio (suponiendo que seas un buen administrador y escribas las cosas)

  • Un reinicio de 30 minutos por trimestre se ajusta bien dentro del 99,9% de tiempo de servicio de SLA.

  • Finalmente borra las telarañas proverbiales.

Para responder a algunos puntos EN CONTRA del reinicio regular ..

  • El que trata de cubrir un mal controlador \ pérdida de memoria, etc. es muy gracioso. ¿Cómo sabe que es un controlador de pérdida de memoria \ mal a menos que reinicie el servidor? No solo eso, sino ¿qué sucede si no logra solucionarlo en su tiempo de inactividad planificado? ¡Si tienes una ventana programada semanalmente no hay problema! Simplemente inténtalo de nuevo la próxima semana ....

  • Sistema de notificación: si tiene una ventana planificada, puede establecer una excepción planificada. Si su software \ script no hace esto, sugiero software moderno \ mejor escritura de script.

  • En cuanto a la ventana de excepción planificada, los problemas de ocultación que "ocurren durante la ventana de excepción planificada" son simplemente ridículos. Las demás estadísticas de su servidor mostrarán este problema muy rápidamente si las revisa en absoluto.

Por supuesto, no se recomienda una política general, y debe tener criterios para excepciones (por ejemplo, espacio en disco sobre un tamaño determinado, etc.)

Habiendo dicho eso, la conclusión es que su servidor no debería tener que reiniciarse, es increíblemente ingenuo pensar que no debería reiniciarlo ...

Editar:

No estoy seguro de haber dejado esto suficientemente claro, pero el reinicio NO debe usarse para enlucir un problema. La ventana debe ser semanal para que tenga intentos repetidos de RESOLVER el problema, no "viviendo con él".

Reiniciar como un método para tratar un problema en un servidor es un administrador de sistemas deficiente. No se aprende nada, desperdicia el tiempo valioso de las personas y (con razón) reduce la opinión de la gerencia sobre usted.

Mi punto es

  • Es difícil garantizar que resuelva un problema sin una ventana de mantenimiento semanal aceptada y programada.
  • Con una ventana semanal, tiene la oportunidad de ordenar las cosas correctamente y evitar la situación en la que tiene media docena de soluciones alternativas en tantos servidores diferentes.

Respondiendo a mi propia pregunta: uno de los beneficios que veo en la política es cuando se aplica a un clúster de servidores, y los procesos pasan de un nodo a otro. De esa manera, todos los nodos se prueban constantemente para la instalación correcta del software.

Todos nuestros servidores son servidores de Linux en funcionamiento, y nunca reiniciamos y no hemos tenido ningún problema. Estoy de acuerdo en que es un hack en el mejor de los casos, y también creo que probablemente tenga algo que ver con la primera respuesta que la gente solía dar siempre cuando se soportan problemas de Windows: "¿Has reiniciado tu computadora?"

Ahora, por qué puede ser beneficioso, es posible que tengas aplicaciones que se encuentren en un estado extraño o que tengan pérdidas de memoria que un reinicio resolvería.

Un gran inconveniente para mí es que debe programar el tiempo de inactividad semanal de los servidores. Para algunos eso no es un problema, y ??para otros es un problema enorme.

Obviamente, si la fuente de un problema no puede solucionarse de manera oportuna, debe resolverse. Programar un reinicio para arreglarlo es una manera fácil de salvar el negocio si eso funciona.

Claro, duele mentalmente y no debería ser necesario, y sería mejor trabajar contra esa solución, especialmente si uno tiene el control del software problemático o está en posición de abofetear a los productores por una solución o simplemente reemplázalo. Pero si no ...?

Recuerdo que lo hice para los servidores en una granja de Citrix, al final se reiniciaron todas las noches con un script medio complicado que esperaba a los usuarios que se desconectaran, bloqueando los inicios de sesión en servidores específicos y luego reiniciando los gratuitos. El motivo fue una antigua aplicación cliente de 16bit 4GL por la que simplemente no podíamos deshacernos de la que tendía a cortar la capacidad de respuesta general del usuario después de unos días de actividad.

Sin embargo, estoy de acuerdo en que, en general, parece estar basado en no ser lo suficientemente inteligente para descubrir la causa y solucionarlo, no todos están tan versados ??en mantenimiento o motivados como nos gustaría.

Es realmente un hack, pero podría ser el hack más eficiente. Es un problema de tipo 80:20 en el que puede resolver el 80% del problema con el 20% del esfuerzo. Si puede sobrevivir al tiempo de inactividad o el tiempo de inactividad le cuesta menos que arreglar la causa raíz, entonces esta es una buena solución. Personalmente no me gusta, pero eso es solo porque no es una solución limpia.

Otra posibilidad a considerar es que en algunos entornos, como las tiendas minoristas que abren las 24 horas del día, una " tienda cerrada " evento para que los servidores puedan actualizarse, respaldarse, etc.

A pesar de que los servidores necesitan ejecutar " 24x7 " ;, realmente están fuera de línea durante al menos unos minutos todos los días.

Eso hace que un servidor se reinicie todos los días, a pesar de que la tienda todavía está operando cuando sucede.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top