关于系统:天翼云为欧拉社区贡献首个C热补丁-加速推进联创技术落地应用

57次阅读

共计 2024 个字符,预计需要花费 6 分钟才能阅读完成。

天翼云与欧拉社区发展关键技术联结翻新 热补丁实现主机解体在线修复
天翼云与欧拉社区共研反对 aarch64 及 x86 平台 libcareplus 热补丁性能

近日,中国电信天翼云基础架构技术团队与 openEuler 社区单干共研了全面反对 aarch64 及 x86 平台的 libcareplus 热补丁性能,并为欧拉社区奉献首个 C ++ 热补丁,实现主机解体在线修复。这是天翼云与欧拉社区联结发展要害技术创新获得的又一成绩。

之前单方已胜利研发了基于 Libcareplus 工具的 Qemu 热补丁性能。据天翼云科技有限公司副总经理兼首席技术官广小明在往年 4 月欧拉大会上介绍,Qemu 热补丁性能使主机分批串行降级转变为并行同步降级,撑持现网补丁施行周期由月缩减到周,极大缩短了补丁的施行周期。

目前,新研热补丁工具普适性已失去极大晋升,利用场景更宽泛。而作为落地利用之一,天翼云为欧拉社区奉献的首个 C ++ 热补丁实现了云主机不必重启修复 bug 的能力,保障客户业务不中断,真正做到“为航行中的飞机更换发动机”。

热补丁技术可能在不影响现网业务的状况下实现程序修复、实用于须要疾速响应的场景,堪称是短小精悍。其中 libcareplus 热补丁技术更是集万千钟爱于一身。

据理解,ibcareplus 热补丁技术是基于上游社区 libcare 独立倒退的分支,由 openEuler 社区进行自主孵化,次要包含热补丁制作、补丁治理和补丁加 / 卸载等。相比于上游社区的 libcare,libcareplus 作为一个用户态过程热补丁框架,能够在不重启过程的状况下,反对对 x86 和 aarch64 架构中 Linux 零碎上运行的指标过程进行热补丁操作。同时,libcareplus 全面反对 openEuler Qemu 组件,反对函数级过滤、增量补丁、以及补丁文件解析等。

此次天翼云联结欧拉社区打造的 libcareplus 热补丁性能,能够利用于 CVE 破绽修复,也可利用于不中断应用服务的紧急 bug 修复。

而且在单干研发过程中,天翼云基础架构技术团队还针对全局变量、部分动态变量等热补丁性能缺失的痛点进行深度研发。以前减少全局变量补丁会导致指标过程解体,只能采纳分配内存等形式躲避,经优化后加强了补丁代码的易批改和易维护性。这些性能胜利适配多个支流 Qemu 版本,大大提高了 libcareplus 热补丁工具的适用性,为大规模批量利用奠定了松软的根底。

同时在理论业务利用场景中,天翼云发现 libcareplus 在解决 g ++ 高版本生成的汇编文件时,在汇编文件比对和生成过程中,代码块构造划分异样,进而导致生成的汇编文件无奈被 as 汇编器正确解析。天翼云联结欧拉社区针对该场景进行优化翻新,基于欧拉社区 libcareplus 扩大减少反对 g ++ 8 个性,实现 libcareplus 反对 C ++ 软件热补丁制作及治理能力。

目前,该个性源码及单元测试用例已奉献到欧拉社区,并在欧拉社区虚拟化 SIG 组进行技术分享,相干个性已被欧拉社区收录至 22.03 LTS 发行版。

新研热补丁工具普适性加强,利用场景更加宽泛
通过天翼云基础架构技术团队与 openEuler 社区独特优化后,libcareplus 热补丁工具的利用场景失去了极大的扩大。
1. 为单函数批改制作单个补丁

2. 为多个函数批改制作多个补丁

3. 新增函数

4. 新增全局变量

5.TLS 变量

6. 冷热块重排

减速联创技术落地 天翼云为欧拉社区奉献首个 C ++ 热补丁

对很多用户来说,最怕在业务办理过程中忽然中断、期待修机,但这种景象却不断产生。当欧拉零碎下的云主机呈现 Qemu 解体时,通常状况下该问题能够通过重启云主机冷补丁形式进行修复,但会带来客户业务呈现短暂的中断。

为了解决线上局部 Qemu crash 导致云主机重启问题,中国电信天翼云弹性存储技术团队深刻代码剖析,发现原生 librbd 存在重大的代码 bug。为了保障客户云上业务间断不中断,提供更高的云存储可用性,中国电信天翼云弹性存储技术团队通过一直重复验证和试验,利用 libcareplus C++ 热补丁技术,librbd 热补丁代码在不进行换行、不新增接口的状况下,通过代码数据结构,计算变量在内存中的地址偏移的形式对代码进行修复,最终在内存中更新 librbd 补丁,实现不需重启虚拟机打 librbd 热补丁能力,即云主机不必重启也能修复 bug 的能力,既保障客户云上业务连续性又大大缩短运维工夫,真正做到了“为航行中的飞机更换发动机”。

目前,该项热补丁技术成为了欧拉社区第一个 C ++ 热补丁,已在南宁、昌吉、兰州等资源池正式上线,部署超过 10 万台云主机,笼罩金融、医疗、政企等泛滥行业客户。

将来,天翼云将与欧拉开源社区继续单干,发展更多联结翻新,包含在晋升云主机资源利用效率方面,发展虚拟机高低优先级混部、容器在线离线混部翻新;在可信云主机方面,发展秘密计算翻新;在 DPU 卸载上,发展分布式存储卸载、容器网络卸载翻新;在云原生全栈方面,发展平安容器、KubeEdge 边云协同翻新等。

正文完
 0