可信云2014-2015年度云技术创新奖提名--UCloud


申请单位

上海优刻得信息科技有限公司

申报云奖类型

以下可多选
容器类
□容器虚拟化
□容器管理
□其他
计算类
■内核
□内存
□资源管理
□虚拟化
□其他
存储类
□块设备
□数据库
□缓存
□对象存储
□其他
网络类
□基础网络
□VPC
□外网接入
□CDN
□其他
安全类
□网络安全
□业务安全
□其他

申报技术

技术一

技术名称

 

计算 类 内核 子类 免重启热补丁 技术

创新点
(15分)

 

免重启修复所有内核代码,特别是解决了频繁函数(如hrtimer, schedule)难以热修复的问题
热修复过程业务中断时间控制在10ms内,适应任何业务
通过热补丁在线定位生产环境内核和底层程序的疑难杂症,事后无副作用撤销
支持各版本Linux内核、支持用户态底层程序

技术介绍
(15分)

对于一个拥有成千上万台服务器的公司,Linux内核缺陷导致的死机屡见不鲜。每次内核升级意味者服务器重启、业务中断以及繁重的运维工作。在云平台里一台宿主机往往运行多个云主机,每一次重启都意味着中断其上运行的所有云主机。

UCloud云平台运行着大量的宿主机,如何应对呢?在UCloud,所有内核缺陷都是借助热补丁免重启修复的。热补丁是指动态修改运行中内核相应的指令区域以修复缺陷,即给运行中内核打上二进制补丁。UCloud的热补丁技术基于多年前的开源ksplice加以定制优化而来,现已累计进行过5万台次免重启修复。

热补丁技术基本流程如下图:


二进制形式的热补丁模块由ksplice程序从源码补丁编译生成,其结果包括带缺陷的二进制指令和正确的二进制指令(这些二进制按函数级别组织);模块加载后,自动定位到内核的缺陷处并以正确的二进制指令替换缺陷指令,从而完成免重启修复。

上面是简要描述,实际整个过程相当复杂,有两点比较重要:
热补丁生成:要结合运行中内核对应的源码树和源码补丁编译出二进制形式的缺陷指令和修复指令,这里要按函数级别组织。我们修改了GCC编译器以达到目的;
热补丁打入前检查:热补丁中带有的缺陷指令用于和运行中内核的缺陷处进行二进制比较,根据差异确定能否热修复;不仅如此,整个内核被stop_machine并检测各个线程栈不含待修复的函数,之后才能安全地进行二进制替换。
这里,频繁调用的内核函数(如hrtimer, schedule)就几乎每次出现在某个线程栈。而整个内核stop_machine期间也是业务中断期间。为了能对频繁函数热补丁和为了避免中断,我们对热补丁工具做了相当多的优化。实际上为了支持回滚、支持模块、支持二次热补丁、支持数据结构改动,背后需要解决的问题多得多。

除了对Linux内核进行热补丁,还扩展这项技术,对用户态进程也进行过热补丁修复。基本原理类似,也是对二进制指令动态替换达到免重启修复,并支持对进程运行中内存的数据结构进行修改。

技术特点
(10分)

Linux热补丁技术同时支持内核和用户态进程,动态修改二进制指令达到热修复的目的,有如下特点:
免重启。运行中通过复杂技术确保“安全”地修改内核和底层程序的二进制指令实现修复,无需重启内核和程序;
无中断。业务中断时间极短,绝大多数情况下小于10ms,即通常意义上的一个调度时间片,因此业务应用感知不到;
可回滚。打入的热补丁可随时回滚,还原对二进制指令的修改,这样避免万一补丁本身有误的副作用;
支持广。目前支持包括内核、模块、用户态库、用户态程序等在内的任意C语言程序;
自动化。80%的情况下可根据源码补丁自动生成所需的二进制形式热补丁,剩下20%情况按规范仅需少量辅助代码。

技术应用
(10分)

在UCloud云平台这项技术已经运营超过一年,通过热补丁修复了近20个内核故障,累计进行了约5万台次左右的热补丁修复,理论上避免了相应次数的服务器重启。举几个例子:
2015年5月14日报出QEMU“毒液”漏洞,影响国内所有基于Xen/KVM的云平台。UCloud通过热补丁技术静默修复全网所有宿主机的正在运行的QEMU进程,用户全程无感知;
2014年5月20日出现普通用户可提权为root的内核漏洞,影响常见较低版本的Linux发行版用户。UCloud不但热补丁修复自身物理机和虚拟机,而且向客户提供了热补丁一键修复包;

除了用于免重启修复内核和底层程序的缺陷外,热补丁还用于内核性能分析和故障定位。比如,加上性能统计代码生成热补丁,就可以在线分析感兴趣的性能问题;加入额外调试代码捕捉运行中内核的异常。

其它

热补丁技术在生产环境里大规模运营在国内尚属首次,UCloud也积极分享过经验和细节,帮助国内同行利用这项技术。

 

申报总结

一段话自我推荐总结,最多300字

热补丁是公有云追求极致的单机稳定性的关键手段。UCloud率先研究完善了业界成果,把这项技术投入大规模生产环境并稳定运营,也因此在重大安全漏洞上UCloud能做到业务无中断、用户无感知。一年多来内核和底层程序的隐患均免重启修复。在享受热补丁收益的同时,UCloud总结实践经验并积极分享给业界同行,一起提升云服务单机稳定性。

距离大会开幕还有:

00天 00时 00分

服务热线

010-53318472
13910069174 赵旭

商务合作

010-68094572
13683646409 杨京京
13810759176 刘小瑞

媒体合作

010-82056610
18610809062 美丽

指导单位

工业和信息化部

主办单位

中国信息通信研究院
中国通信标准化协会

承办单位

数据中心联盟
云计算发展与政策论坛

协办单位

埃普威 中国IDC圈

合作伙伴(补充中)