我正在寻找一种无需重启即可更新内核的解决方案。我看到了 Ksplice。我有一个问题: 如果我们的服务器在使用 Ksplice 更新时断电,会发生什么情况?我们的服务器会没事吗?什么会恢复我们的服务器? 谢谢!
答案1
摘自《Ksplice 用户指南》(http://www.ksplice.com/uptrack/guide):
Ksplice 和内核版本返回顶部 Ksplice Uptrack 更新内存中正在运行的内核。我们建议,除了使用 Ksplice 之外,您还应继续使用包管理器在新内核可用时更新磁盘上的内核。这样,如果需要重新启动(例如断电或硬件升级),您可以选择启动到较新的内核。根据此计划,您将安装通过 Ksplice Uptrack 和包管理器提供的所有更新。
Ksplice Uptrack 在需要保留特定原始内核版本(例如,由于针对该内核编译的第三方模块)但又希望及时了解内核的所有重要安全性和可靠性更新的环境中也能很好地工作。
默认情况下,Ksplice Uptrack 将在启动过程中重新安装无需重启的更新,因此即使重启后您仍能保持安全。您可以通过更改
install_on_reboot
中的选项 来配置此行为/etc/uptrack/uptrack.conf
。[...]
install_on_reboot
将 Linux 内核恢复到重启前的版本。可能还有其他更新可以应用。如果您希望应用特定内核版本的所有可用更新,请设置upgrade_on_reboot
为yes
。
所以,不会发生任何不好的事情。如果发生断电,您的系统将以默认内核版本启动,并且 Ksplice 默认会在启动时使用安全更新重新修补您的系统,这样您就不会被发现。这将使您的启动时间更长,因此,如果您需要更快的启动,您也应该使用默认包管理器安装软件包的更新。
需要注意的是,如果您要更新服务器的内核,您应该尽可能只进行内核更新,并与其他系统更新隔离。