Linux服务器如何在不重启的情况下更新其内核


13

根据我的信息,升级Linux内核需要重新启动。重新启动家用计算机不是问题,但是我认为对于服务器来说这不是一回事。

升级内核后,使用Linux发行版的服务器也会重新启动,还是使用某种技巧来避免启动?

Answers:


8

内核更改应重新启动。您可以安装内核,在某些情况下可以插入和删除不同内核的模块,但是我不建议这样做。

如果服务器是群集的一部分,则可以重新启动服务器,并且服务不受影响。您也可以创建防火墙/路由器群集,这样就不会出现中心故障点(SPOF)。为此,您使用在多个系统之间共享的所谓虚拟IP(VIP)。

如果您想尝试这种想法,则可以使用QEMU或VirtualBox等来创建虚拟网络。


8
实时内核补丁呢?
jiggunjer

这个问题不是专门针对次要修补程序,而是提到“升级”,我将其表示主要版本升级。因此,要从2.6-> 3.0进行“升级”,我建议在开始升级工作之前将机器从负载中删除。发布内核更改后,我将重新启动。由于grub / lilo可能需要更改,因此无论如何我还是建议重新启动。
Ed Neville

15

是的,他们执行“重新引导”,但是可以执行kexec_load系统调用来预加载新内核。

也可以修补正在运行的内核,例如redhat kpatch。我知道的所有执行此操作的操作都无法更改数据结构。

当然,上个世纪,lisp机器曾经能够修补运行中的内核。


1
还有vanilla kexec,用于立即启动新内核。根据您对“重新引导”的定义,这可能相当于非重新引导内核升级。
帕特里克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.