LINUX

Ksplice: instale actualizaciones del kernel de Linux sin reiniciar

¿Alguna vez ha visto este mensaje después de instalar las actualizaciones del kernel?

Reiniciar

Para los administradores del sistema, el tiempo de actividad del servidor es importante. Servidores de producciones qué aplicación de misión crítica en ejecución, debe estar funcionando el mayor tiempo posible. Pero en el otro lado, el administrador del sistema tiene que aplicar parches a sus servidores para mantener la confiabilidad de sus servidores. Si los parches son para una aplicación, es posible que no necesite reiniciar sus servidores. Pero si los parches están destinados al kernel, es posible que deba reiniciar su servidor.

Esta situación es más complicada cuando está ejecutando máquinas virtuales en la parte superior de su servidor. Imagínese si el servidor host necesita reiniciarse porque el kernel debe ser parcheado. ¿Cuántas máquinas virtuales tendrán tiempo de inactividad? Sus clientes pueden enojarse si su aplicación comercial no funciona por algo que no les importa.

Entonces, ¿hay alguna forma de aplicar parches del kernel? sin reiniciar ¿el servidor? Empecemos a verlo.

Que es Ksplice

Ksplice es una tecnología en Linux que hace la actualización de las actualizaciones de seguridad, los parches de diagnóstico y las correcciones de errores críticos se realiza sin reiniciar tu Linux. Esta tecnología mantiene el tiempo de actividad de su servidor es intocable. Su servidor puede seguir ejecutándose mientras las actividades de actualización del kernel se ejecutan al mismo tiempo.

¿Por qué no reiniciar?

Desde Sitio web de Ksplice, las razones son:

  • Ahorre tiempo y dolor actualizándose en segundos, mientras su sistema está funcionando
  • Evite el tiempo de inactividad
  • Evite incidentes de seguridad desastrosos haciendo que sea fácil mantenerse actualizado

Instalación de Ksplice

Ksplice es una característica de Oracle Linux y es una aplicación de pago. Esta función está destinada al entorno del servidor. Pero puedes conseguir Ksplice para Ubuntu Desktop y Fedora gratis. Antes de probar Ksplice en nuestro servidor de producción, probémoslo en una máquina de escritorio para ver cómo funciona.

El primer paso es descargar Ksplice para su distribución. En este artículo, usamos Ubuntu 13.10 (Saucy Salamander)

$ wget https://www.ksplice.com/uptrack/dist/saucy/ksplice-uptrack.deb

Ksplice depende del rizo. Instálelo si no lo tiene.

$ sudo apt-get install curl

Luego puede instalar Ksplice escribiendo

$ sudo dpkg -i ksplice-uptrack.deb

Si encuentra errores como este:

(Reading database ... 172559 files and directories currently installed.)
Unpacking ksplice-uptrack (from ksplice-uptrack.deb) ...
dpkg: dependency problems prevent configuration of ksplice-uptrack:
 ksplice-uptrack depends on python-support (>= 0.90.0); however:
  Package python-support is not installed.
 ksplice-uptrack depends on python-yaml; however:
  Package python-yaml is not installed.
 ksplice-uptrack depends on python-glade2; however:
  Package python-glade2 is not installed.
dpkg: error processing ksplice-uptrack (--install):
 dependency problems - leaving unconfigured
Processing triggers for ureadahead ...
Processing triggers for hicolor-icon-theme ...
Processing triggers for desktop-file-utils ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for gnome-menus ...
Processing triggers for man-db ...
Errors were encountered while processing:
 ksplice-uptrack

Solo corre :

$ sudo apt-get -f install

para resolver el problema de las dependencias. Luego intente instalar Ksplice nuevamente. Debe aceptar los términos de servicio de Ksplice Uptrack para instalar Ksplice.

Acuerdo de Ksplice

Confirmación del acuerdo de Ksplice

Ejecutando Ksplice

Antes de ejecutar Ksplice, veamos la versión del kernel antes de la actualización. Ejecute este comando para ver la versión del kernel:

$ uname -a
Linux dev-machine 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:12:00 UTC 2013 i686 i686 i686 GNU/Linux

Dado que los servidores generalmente no tienen una pantalla GUI, lo ejecutaremos a través del modo de consola para que sea una experiencia cercana al servidor.

Mostrar las actualizaciones disponibles

Para mostrar las actualizaciones disponibles, use este comando:

$ sudo uptrack-show --available

Available updates:
[aonnvekn] Clear garbage data on the kernel stack when handling signals.
[uthtg8fp] Provide an interface to freeze tasks
[a1f7xpa8] Memory corruption in filesystem buffer management.
[knhhoik2] Data loss in block device writeback flushing.
[11v1gntr] Use-after-free in kernel device management.
[6ag5g3st] Kernel crash in Bluetooth HID reporting.
[sqzxuzvv] NULL pointer dereference in IPv6 FIB rule addition failure.
[gyyef88t] NULL pointer dereference in netpoll driver cleanup.
[l2lqtufh] CVE-2013-4343: Use-after-free in tun driver.
[7nw7dl7g] CVE-2013-4350: SCTP over IPv6 disables encryption.
[lbs1aaxp] Kernel crash in Xen netback frontend slot packing.
[gf0b12o7] NULL pointer dereference in bridge link handling.
[evsg76kv] NULL pointer dereference in bridge port removal.
[iu8hccoe] CVE-2013-4387: Memory corruption in IPv6 UDP fragmentation offload.
[4v9jcdr0] Predictable sequence numbers in network packets.
[yemzfg9j] Use-after-free in IP tunnel transmission.
[d9s6clxr] Memory corruption in IP tunnel packet transmission.
[la85ojyp] Kernel panic in ELF coredumping with large number of mmapped files.
[x05l09af] Kernel crash in 88pm860x audio codec driver.
[7f571s8o] Kernel crash and information leak in ab8500 audio codec driver.
[jfknh36y] Use-after-free in Linux Security Modules.
[6k88fw2e] NULL pointer dereference with invalid /proc/sys/kernel/core_pattern.
[fgf4iwve] NULL pointer dereference in NFSv4.1 data server connection failure.
[j1l1y0zg] Incorrect permission checks on networking sysctls.
[jjq12vek] NULL pointer dereference in MMC card removal.
[hmjxigtu] Kernel crash in btrfs backref checking.
[nkeohosj] Use-after-free in btrfs reference handling.
[yt3wi9st] NULL pointer dereference in bcache write requests.
[hm9c6cgx] Denial-of-service in ext4 extended attribute error handling.
[u768c456] Data loss in ecryptfs on 32-bit systems.
[ndab5788] Kernel crash in TCP stack with cloned socket buffers.
[9y33q2oz] Use-after-free in IP TIME_WAIT sockets.
[03oynojm] Information leak in netlink connector.
[bydozs03] Soft lockup in L2TP during packet transmission.
[eg0x7f56] Memory leak in Network Emulator scheduler during queue reset.
[t0ry8mgk] Information leak in FarSync network driver ioctl.
[p3s7uvjd] Information leak in Unix socket monitoring interface.
[1lk6cuv9] Kernel panic in netlink kernel/userspace connector.
[t6bbl2ss] Information leak in wanXL IF_GET_IFACE ioctl.
[w626eeyh] Memory corruption in socket buffer.
[2xnumbhk] Use-after-free in temporary files on ext3 and ext4 filesystems.
[ugrb1edv] CVE-2013-4299: Information leak in device mapper persistent snapshots.
[8uy3ixcg] Denial-of-service in transparent huge pages with MADV_DONTNEED madvise().
[90drovzx] Denial-of-service in 802.11 radiotap packet parsing.

Effective kernel version is 3.11.0-12.19
pungki@dev-machine:~$

Como puede ver, hay muchas actualizaciones del kernel allí.

Instalando las actualizaciones

Una vez que conozca las actualizaciones, la decisión será suya. Para instalar las actualizaciones, ejecute este comando:

$ sudo uptrack-upgrade

The following steps will be taken:
Install [aonnvekn] Clear garbage data on the kernel stack when handling signals.
Install [uthtg8fp] Provide an interface to freeze tasks
Install [a1f7xpa8] Memory corruption in filesystem buffer management.
Install [knhhoik2] Data loss in block device writeback flushing.
Install [11v1gntr] Use-after-free in kernel device management.
Install [6ag5g3st] Kernel crash in Bluetooth HID reporting.
Install [sqzxuzvv] NULL pointer dereference in IPv6 FIB rule addition failure.
Install [gyyef88t] NULL pointer dereference in netpoll driver cleanup.
Install [l2lqtufh] CVE-2013-4343: Use-after-free in tun driver.
Install [7nw7dl7g] CVE-2013-4350: SCTP over IPv6 disables encryption.
Install [lbs1aaxp] Kernel crash in Xen netback frontend slot packing.
Install [gf0b12o7] NULL pointer dereference in bridge link handling.
Install [evsg76kv] NULL pointer dereference in bridge port removal.
Install [iu8hccoe] CVE-2013-4387: Memory corruption in IPv6 UDP fragmentation offload.
Install [4v9jcdr0] Predictable sequence numbers in network packets.
Install [yemzfg9j] Use-after-free in IP tunnel transmission.
Install [d9s6clxr] Memory corruption in IP tunnel packet transmission.
Install [la85ojyp] Kernel panic in ELF coredumping with large number of mmapped files.
Install [x05l09af] Kernel crash in 88pm860x audio codec driver.
Install [7f571s8o] Kernel crash and information leak in ab8500 audio codec driver.
Install [jfknh36y] Use-after-free in Linux Security Modules.
Install [6k88fw2e] NULL pointer dereference with invalid /proc/sys/kernel/core_pattern.
Install [fgf4iwve] NULL pointer dereference in NFSv4.1 data server connection failure.
Install [j1l1y0zg] Incorrect permission checks on networking sysctls.
Install [jjq12vek] NULL pointer dereference in MMC card removal.
Install [hmjxigtu] Kernel crash in btrfs backref checking.
Install [nkeohosj] Use-after-free in btrfs reference handling.
Install [yt3wi9st] NULL pointer dereference in bcache write requests.
Install [hm9c6cgx] Denial-of-service in ext4 extended attribute error handling.
Install [u768c456] Data loss in ecryptfs on 32-bit systems.
Install [ndab5788] Kernel crash in TCP stack with cloned socket buffers.
Install [9y33q2oz] Use-after-free in IP TIME_WAIT sockets.
Install [03oynojm] Information leak in netlink connector.
Install [bydozs03] Soft lockup in L2TP during packet transmission.
Install [eg0x7f56] Memory leak in Network Emulator scheduler during queue reset.
Install [t0ry8mgk] Information leak in FarSync network driver ioctl.
Install [p3s7uvjd] Information leak in Unix socket monitoring interface.
Install [1lk6cuv9] Kernel panic in netlink kernel/userspace connector.
Install [t6bbl2ss] Information leak in wanXL IF_GET_IFACE ioctl.
Install [w626eeyh] Memory corruption in socket buffer.
Install [2xnumbhk] Use-after-free in temporary files on ext3 and ext4 filesystems.
Install [ugrb1edv] CVE-2013-4299: Information leak in device mapper persistent snapshots.
Install [8uy3ixcg] Denial-of-service in transparent huge pages with MADV_DONTNEED madvise().
Install [90drovzx] Denial-of-service in 802.11 radiotap packet parsing.

Go ahead [y/N]? Y

Presione “y” para confirmar los pasos de instalación. Una vez que haya terminado, verá un mensaje como este:

Installing [90drovzx] Denial-of-service in 802.11 radiotap packet parsing.
Your kernel is fully up to date.
Effective kernel version is 3.11.0-14.21
pungki@dev-machine:~$ 

Verifique si el kernel está actualizado

Previamente hemos capturado la versión del kernel antes de la instalación. Estaba ejecutando la versión del kernel 3.11.0-12-genérico (véase más arriba). Para ver que su kernel está parcheado, ejecute este comando:

$ uptrack-uname -a

Linux dev-machine 3.11.0-14-generic #21-Ubuntu SMP Tue Nov 12 17:07:40 UTC 2013 i686 i686 i686 GNU/Linux

Ahora se está ejecutando en la versión del kernel 3.11.0.14-genérico. Y todas estas actualizaciones se aplican sin reiniciar.

Capturas de pantalla en GUI

También puede ejecutar Ksplice en GUI. Aquí hay algunas capturas de pantalla al respecto en Ubuntu 13.10 (Saucy Salamander)

Ejecute Ksplice

Gerente de Uptrack de Ksplice

Actualizaciones del kernel

Nuevas actualizaciones

Haga clic en Instalar todas las actualizaciones para iniciar la instalación.

Ingrese la contraseña de root

Ingrese la contraseña de root

Aplicar nuevas actualizaciones

Aplicar actualizaciones

Completando actualizaciones

¡Kernel actualizado!

Kernel actualizado

Conclusión

Dado que la virtualización y la tecnología en la nube se están volviendo cada vez más populares, el tiempo de inactividad cero se está volviendo más crítico. Ksplice puede ayudarlo a aplicar todas las actualizaciones del kernel, parches y correcciones de errores críticos sin reiniciar su sistema Linux. Para obtener más detalles sobre Ksplice, puede ver su página de manual escribiendo hombre uptrack en tu consola. O visitar Sitio web de Ksplice para obtener información más detallada al respecto.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar