有时安装更新后,服务器会说
*** System restart required ***
。
我们当然会遵守。
这真的是这样吗?我无法想象这已经是最佳实践。因为你不想重新启动服务器。你的服务器上有实时流量在运行。
运行 Ubuntu 14.04。我们使用sudo apt-get upgrade
和安装更新sudo apt-get dist-upgrade
。
需要指导。
谢谢!
答案1
解决方案:不要只是这样做apt-get upgrade
。相反,请仔细检查您需要哪些更新,并仅安装对您有影响的更新,尤其是内核更新。然后,仅在计划停机时间内进行更新。
此外:如果您无法承受系统维护的停机时间,则说明您的系统结构设计得不够周全。使您的环境冗余,以便您可以将其中的一部分纳入计划维护。
最后,存在实时修补内核的技术,例如 kpatch 和 ksplice。
答案2
该消息可能仅在内核升级后才会出现,而用新内核替换旧内核的唯一方法是重新启动。
通常情况下,您不需要立即重启机器,但在此之前,新内核中修复的任何安全问题都可能对您造成影响,因此,在决定推迟重启之前,您应该了解发生了哪些变化,考虑对系统的影响,然后决定在没有修复的情况下您能忍受多久。如果您的服务器有非常重要的流量,也许可以研究一些高可用性解决方案,让您处理来自两台(或更多)服务器的流量,这样您就可以重启一台服务器,同时让其他服务器处理工作。
答案3
我知道这篇文章有点旧了,但是 Canonical 刚刚在 16.04 上专门为 Ubuntu 发布了这项服务。
- http://blog.dustinkirkland.com/2016/10/canonical-livepatch.html
- https://www.ubuntu.com/server/livepatch
它使用了自 4.0 发布以来上游 Linux 内核中的实时修补技术。