[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cambio de kernel "en caliente"



El 08/01/14 08:20, C. L. Martinez escribió:
2014/1/8 Debian GMail <javier.debian.bb.ar@gmail.com>:
Estimados:

Esta pregunta, si bien no es retórica, se le parece.
Es una simple duda que me surgió, no porque esté haciendo algo, si no que es
simplemente esas preguntas que surgen de un "¿Por qué no?", de las cuales un
termina aprendiendo cosas que ni siquiera se imaginaba

¿Se puede iniciar un kernel distinto al que se está corriendo, y que éste
lo reemplace, sin apagar la máquina?

Situación hipotética:
Tengo un servidor corriendo un kernel, digamos 3.10.
Se ha actualizado el kernel a 3.12.
Quiero cambiarlo, sin detener los servicios que está presentando dicho
servidor, en la misma máquina.

He imaginado una posibilidad, que es crear una jaula en la cual iniciar el
nuevo kernel, y una vez corriendo, de alguna manera copiar esta imagen en la
máquina en sí, de manera de no perder los servicios ene ejecución.
O sea, algo similar a lo que se hace en los servidores de respaldo, cuando
el principal debe ser apagado y se transfieren los servicios, por ejemplo de
una base de datos, a un servidor de respaldo.
Es muy común que los servidores de bases de datos corran en máquinas
virtuales. Estas máquinas invitadas se "congelan" y se transfiere su imagen
a otro anfitrión que toma la posta, de manera que los usuarios conectados
apenas sufran una pequeña laguna.

He buscado por ahí en la red, y si bien no encontré nada que diga que se
puede, tampoco encontré algo con suficiente fundamento que diga que no.

Como hubiese dicho Sir Arthur Charles Clarke, "La única forma de descubrir
los límites de lo posible, es traspasarlo en dirección a lo imposible."

Gracias.


Antes, existía un proyecto que inicialmente fue open que era ksplice,
pero ahora es de pago y lo compró Oracle que ahce exactamente lo que
pides, dando igual si el entorno es fisico y virtual.


¡Lo encontré!
Gracias a tu referencia a ksplice, encontré
kexec()

https://en.wikipedia.org/wiki/Kexec

Gracias.

JAP


Reply to: