Linux 内核迎来新尝试:Google 提交“Live Update Orchestrator”补丁

最近,Linux 内核 领域出现了一项有趣的新动向——由 Google 工程师 Pasha Tatashin 提交的一组补丁,被称为 Live Update Orchestrator(LUO)。这一机制旨在实现 内核的实时更新,让某些设备在升级新内核的过程中仍能保持正常运行,避免传统升级方式带来的停机时间。

为何需要实时更新?

在现代计算环境,特别是云计算和数据中心,即便是几秒钟的停机时间都可能带来不便甚至经济损失。因此,实现无中断的内核升级 一直是 Linux 生态系统中的一个重要研究方向。LUO 正是在这一背景下诞生的,它在之前的 KHO v5 补丁系列基础上进一步改进,试图提供一个更灵活、通用的实时更新解决方案。

LUO 的工作原理

LUO 采用了一种 状态机机制 来协调整个更新流程,确保系统可以平稳过渡。它定义了多个关键状态:

  • Normal(正常):系统处于正常运行状态,不进行任何更新。

  • Prepared(已准备):当用户请求更新时,系统会进入这个状态,各个子系统开始为新内核做准备。

  • Updated(已更新):新内核正式接管,设备和子系统恢复工作。

更新流程:如何进行实时内核更新?

LUO 提供了一组 sysfs 接口,允许用户在命令行控制更新过程。路径为:
/sys/kernel/liveupdate/{state, prepare, finish}

整个过程如下:

  1. 初始状态(Normal):系统正常运行,不执行任何更新。

  2. 进入准备阶段(Prepared):执行

    echo 1 > /sys/kernel/liveupdate/prepare

    触发 LIVEUPDATE_PREPARE 回调,各个子系统开始为更新做准备。

  3. 新内核接管(Updated):内核升级完成,系统进入“已更新”状态,各子系统恢复工作。

  4. 完成更新(Finish):执行

    echo 1 > /sys/kernel/liveupdate/finish

    触发 LIVEUPDATE_FINISH 回调,系统正式回到正常运行状态。

整个过程由 回调 API 串联,确保 KVM、IOMMU、中断管理、dev_liveupdate 设备层、内存管理 等子系统能够顺利集成到实时更新流程中。

挑战与争议:内核维护者的顾虑

尽管 LUO 带来了新的可能性,但它要真正被合并到 Linux 内核主线 还面临着不少挑战。Linux 内核维护者 Greg Kroah-Hartman 对该提案表示了 谨慎态度,并提出了以下几点质疑:

  1. 缺乏足够的技术验证:他要求开发者提供至少 三个总线子系统的真实可运行补丁 作为验证,而不仅仅是理论上的方案。

  2. 用户空间工具的开发:LUO 需要配套的用户空间工具,确保设备的更新过程不会出现管理上的漏洞。

  3. 影响范围广泛:实时更新涉及到大量设备,从服务器到嵌入式系统,如何确保它在各种场景下的稳定性仍是个难题。

LUO 的未来:能否进入 Linux 内核?

目前,LUO 仍处于早期阶段,距离真正合并进 Linux 内核可能还有很长的路要走。它需要进一步完善设计,并通过更多的技术验证,才能获得社区的认可。如果该机制能成功落地,将极大提升 Linux 内核的可用性和升级体验,特别是在 云计算企业级服务器 领域。

我们将持续关注 LUO 的进展,并在有新消息时第一时间带来更新。如果你对 LUO 感兴趣,可以查看 官方公告 获取更详细的信息。

The post Linux 内核迎来新尝试:Google 提交“Live Update Orchestrator”补丁 first appeared on Linux迷.

版权声明:
作者:Mr李
链接:https://www.techfm.club/p/200139.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>