Una solución es usar ksplice.
Si usa kernels de Ubuntu o CentOS, puede suscribirse al servicio ksplice.com, donde por una pequeña tarifa le proporcionarán imágenes especiales del kernel que se pueden usar para parchear un kernel en ejecución. No es necesario reiniciar para la mayoría de las actualizaciones. Bastante fácil de usar y configurar.
Si es particularmente hábil, puede usar los parches de ksplice para crear sus propios núcleos habilitados sin suscribirse al servicio, o para núcleos no estándar.
He tenido servidores con más de 1 año de tiempo de actividad. No es la mejor práctica porque, desde una perspectiva de seguridad, el servidor... algunos de estos servidores eran maestros de bases de datos y no podíamos permitirnos el tiempo de inactividad.
Creo que la seguridad debería ser la principal preocupación, pero luego existen algunas limitaciones del mundo real. Si tiene el lujo de parchearlo y reiniciarlo si es necesario. No se preocupe por el tiempo de actividad, más vale prevenir que curar.
Sugeriría siempre reiniciar un servidor después de una actualización importante para asegurarse de que vuelva a funcionar, no quiere verse atrapado en una situación después de un reinicio inesperado.
Nuestra tienda tiene una política bastante buena sobre parchear/reiniciar. La importancia de mantenerse seguro supera la estadística de tiempo de actividad. Tenemos una rutina regular de parches que funciona para garantizar que no nos atrapen en una situación de cosas malas.
Nuestro cambio a la computación en clúster ha ayudado a garantizar que las cosas importantes se mantengan y el trabajo de configuración definitivamente valió la pena.
Si el tiempo de actividad es importante para mantener el servicio a los clientes, entonces debería considerar el equilibrio de carga y la agrupación en clústeres. Puede mantener un entorno seguro y redundante, así como el tiempo de actividad del servicio.
Si está sacrificando la seguridad por el derecho a fanfarronear, es probable que esté perjudicando a sus clientes.