4 ms·
I'm pretty sure I've updated the kernel on the fly when trying to update the kernel on Digital Ocean-- the stock kernel loads (let's call it the bootstrap kerne
by lstamour 11y ago
I'm pretty sure I've updated the kernel on the fly when trying to update the kernel on Digital Ocean-- the stock kernel loads (let's call it the bootstrap kernel) and then it eventually calls some code that replaces the running kernel with a newer more modern version. I've forgotten the details, as it sounded kludgy, but I'm pretty use like anything else Linux, a reboot isn't always required.
In fact, with Nano server, Microsoft is trying to go that direction too -- the less you have running, the easier to avoid reboots.
But the real solution is trying to be reboot-tolerant by having a slight bit of redundancy, I would think. Uptime matters more for pet/snowflake servers than for cattle....
- pritambaral 11y ago> I'm pretty sure I've updated the kernel on the fly when trying to update the kernel on Digital Ocean What you go on to describe sounds a lot like kexec, and a kexec is the same thing as a reboot for everything on a computer except the hardware. The new kernel during a kexec starts with a freshly-booted state. What I meant was – and perhaps I wasn't clear enough – updating the kernel in-memory, while it runs so that even your userspace apps notice nothing - except perhaps a few fractions of seconds of time slipping by - and continue running while the kernel they're running on top of is patched with new code. This has been possible for a while on Linux. It began with, IIRC, Ksplice as a college-project, then a startup, then bought-out by Oracle for Oracle Linux, then independent efforts at similar implementations by both Red Hat and Suse, which eventually got merged together and mainlined into Linus's tree.