Reloading a kernel "live" in CentOS / RHEL 6

No.

kexec will allow you to skip the firmware (BIOS/EFI) and bootloader steps of a standard restart, but this is not the same thing (though useful if you have a slow loading RAID card).

The closest you can get is loading and unloading kernel modules.


Oracle Enterprise Linux can do that with KSplice, but you have to have an oracle ULN (support) contract for it. I believe they are about $120. http://www.ksplice.com/pricing


Yes for RHEL. (Since Feb 22, 2012)

Oracle Offers Free Trial of Innovative Ksplice Zero-Downtime Updates to Red Hat Customers

To continue after the 30 day trial, you need to purchase the Oracle Linux Premier Support package.

Pricing starts at $1,400 for systems with two physical CPUs and $2,300 for systems with more than two physical CPUs. You can configure your systems to automatically install updates as they become available.

It had been offered for both RHEL and CentOS (as well as other operating systems) prior to July, 2011 when Oracle acquired Ksplice. Prior customers are still supported.
Oracle buys Ksplice

The Ksplice code was created and distributed under the GPL v2 and other open source licenses. After Oracle acquired Ksplice and limited availability to Oracle Linux, Ubuntu Desktop, and Fedora, there was discussion about maintaining a CentOS fork of Ksplice:
Ksplice and CentOS

It was also argued that Ksplice was violating the GPL:
Ksplice currently violates the GPL


Nobody pointed to kpatch. It not live kernel reload, but targeted same problem.

kpatch Red Hat technology to apply patches to live kernel.

With respect to granularity, kpatch works at the function level; put simply, old functions are replaced with new ones. It has four main components:

  • kpatch-build: a collection of tools which convert a source diff patch to a hot patch module. They work by compiling the kernel both with and without the source patch, comparing the binaries, and generating a hot patch module which includes new binary versions of the functions to be replaced.
  • hot patch module: a kernel module (.ko file) which includes the replacement functions and metadata about the original functions.
  • kpatch core module: a kernel module (.ko file) which provides an interface for the hot patch modules to register new functions for replacement. It uses the kernel ftrace subsystem to hook into the original function’s mcount call instruction, so that a call to the original function is redirected to the replacement function.
  • kpatch utility: a command-line tool which allows a user to manage a collection of hot patch modules. One or more hot patch modules may be configured to load at boot time, so that a system can remain patched even after a reboot into the same version of the kernel.

Supported from RHEL 7