Use KernelCare and stop rebooting sounds awesome, and it indeed is.
One of the things I used to hate the most by maintaining servers was kernel updates, not only because it requires rebooting the system which causes downtime. But also because rebooting a system is a nightmare, because you don’t know what will happen when you reboot.
Will the system come back online? Or will it be offline for hours due to the beloved fsck or some other shit going on. Sure if you’re lucky you have access to KVM and can actually see what’s going on, but still the downtime can be longer than expected, causing you to stay up late, and your customers sites being down. Something nobody wants!
That’s the reason why you should use KernelCare, it allows you to patch the kernel while the server is powered on. It’s similar to KSplice, the main difference is, that it’s often cheaper and best of all, it’s not owned by Oracle.
KernelCare works in that way, you install a little tool on your server, this allows you to use KernelCare and it even checks for kernel updates every 4 hours by default, and automatically applies the patches to the kernel. What it does is that it applies diff files of the original kernel source and patches the kernel running in memory. It only applies security patches, and it may from time to time apply critical bugs.
A lot of people say it’s good to reboot the server from time to time – that’s probably true, but if you use KernelCare you can keep the system online for at least 3 years without the need to reboot due to software changes. Your hard drive will probably die in the meantime 😉
When running uname -a you’ll still see the original kernel, since uname -a fetches this info from /proc/sys/kernel/{ostype, hostname, osrelease, version, domainname}, this is static so therefore you’ll see the wrong kernel using uname -a.
Because of this KernelCare made kcare-uname command line tool that shows info about the actual kernel running in memory. And it uses the same format as uname, which is great!
At any time I can recommend KernelCare, and you’ll be able to buy it for 2.95 USD per month per server or if you’re a CloudLinux parter you can get it even cheaper.
Currently KernelCare supports CloudLinux 5-6, RHEL 5-7, CentOS 5-7, Parallels Cloud + Virtuozzo + OpenCZ RHEL6, and Ubuntu will be supported in a later stage.
KernelCare is owned by the company who made CloudLinux, so it’s safe to use.