ITPub博客

首页 > IT基础架构 > 安全管理 > 天翼云为欧拉社区贡献首个C++热补丁 加速推进联创技术落地应用

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

原创 安全管理 作者:天翼云开发者社区 时间:2022-06-13 18:41:24 0 删除 编辑


天翼云与欧拉社区开展关键技术联合创新   热补丁实现主机崩溃在线修复

天翼云与欧拉社区共研支持 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修复。

而且在合 作 研 发 过程中,天翼云基础架构技术团队还针对全局变量、局部静态变量等热补丁功能缺失的痛点进行深度研发。 以前增加全局变量补丁会导致目标进程崩溃,只能采用分配内存等方式规避,经优化后增强了补丁代码的易修改和易维护性。这些功能成功适配多个主流 Q emu版本,大大提高了libcareplus热补丁工具的适用性,为大规模批量应用奠定了坚实的基础。

同时 在实际业务应用场景中,天翼云发现 libcareplus在处理g++高版本生成的汇编文件时,在汇编文件比对和生成过程中,代码块结构划分异常,进而导致生成的汇编文件无法被as汇编器正确解析。天翼云联合欧拉社区针对该场景进行优化创新,基于欧拉社区libcareplus 扩展增加支持g++8特性,实现libcareplus支持C++软件热补丁制作及管理能力 。

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

 

新研热补丁工具普适性增强,应用场景更加广泛

经过 天翼云基础架构技术团队与openEuler社区共同优化后,libcareplus热补丁工具的应用场景得到了极大的扩展。

1.为单函数修改制作单个补丁

 

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

 

3.新增函数

 

4.新增全局变量

 

5.TLS变量

6.冷热块重排

 

 

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

对很多用户来说,最怕在业务办理过程中突然中断、等待修机,但这种现象却不时发生。当欧拉系统下的云主机出现 Qemu崩溃时, 通常情况下该问题可以通过重启云主机冷补丁方式进行修复 ,但会带来客户业务出现短暂的中断。

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

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

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70014251/viewspace-2900354/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 安心+10000
请登录后发表评论 登录
全部评论
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

注册时间:2022-02-22

  • 博文量
    1102
  • 访问量
    767480