第三媒体软件中心软件网络资讯软件资讯 → UCloud: 修复服务器内核 UCloud内核热补丁技术揭秘 TTL

UCloud: 修复服务器内核 UCloud内核热补丁技术揭秘

上传:xuqin2009     来源:信息存储服务     日期:2014-07-24

[摘要]  
   7月18日,由InfoQ主办的ArchSummit全球架构师峰会在深圳拉开帷幕,此次会议重点选择了6个当前最受关注的领域,包括:游戏、电商、移动互联网等等。UCloud作为国内专注服务上述垂直领域的云服务商,受邀参加了本次大会。
 
[正文]    

   7月18日,由InfoQ主办的ArchSummit全球架构师峰会在深圳拉开帷幕,此次会议重点选择了6个当前最受关注的领域,包括:游戏、电商、移动互联网等等。UCloud作为国内专注服务上述垂直领域的云服务商,受邀参加了本次大会。会上,UCloud资深工程师邱模炯还以《UCloud云平台的内核实践》为主题,给大家揭开了UCloud云平台内核技术的神秘面纱。其中,“UCloud内核热补丁技术”更是引发了全场架构师们的极大关注。

  如何零代价修复海量服务器的Linux内核缺陷?

  对于一个拥有成千上万台服务器的公司,Linux内核缺陷导致的死机屡见不鲜。让工程师们纠结的是,到底要不要通过给服务器升级内核来修复缺陷?升级意味者服务器重启、业务中断以及繁重的准备工作;不升级则担心服务器死机,同样造成业务中断和繁重的善后工作。

  而在今天的云计算时代,一台宿主机往往运行多个云主机,每一次重启不管是主动升级还是被动死机,都意味着中断其上运行的所有云主机。因此,宿主机内核缺陷的修复更加棘手。

  而作为一个支撑着上万家企业用户IT基础架构的云服务商,UCloud云平台上的海量宿主机又是如何修复内核缺陷的呢?

  邱模炯透露,如果按照传统的重启方式来修复,那么无论是对于UCloud或是用户,都意味着繁重的运维和业务中断。但是,UCloud通过“内核热补丁技术”——即给运行中的内核打上二进制补丁,UCloud已经做到了零代价免重启修复海量服务器的内核缺陷!目前为止,UCloud对所发现的上游内核10+个缺陷全以热补丁方式修复,累计数万台次,无一例失败且无任何副作用;理论上避免了相应次数的宿主机重启及所隐含的云主机业务中断。这项技术在UCloud已经成熟。

  UCloud 内核热补丁技术揭秘

  UCloud的热补丁技术基于多年前的开源ksplice加以定制优化而来,通过加载一个特殊准备的热补丁模块来修复内核。其过程如下图所示:

UCloud: 修复服务器内核 UCloud内核热补丁技术揭秘

  热补丁模块由ksplice程序编译生成,包含有缺陷的二进制指令和修复后的二进制指令(这些二进制按函数级别组织);模块加载后,自动定位到内核的缺陷处并以修复指令动态替换缺陷指令。

  除了免重启修复,热补丁还用于内核开发过程的性能分析和故障定位。比如,加上性能统计代码生成热补丁,就可以在线分析感兴趣的性能问题;加入额外调试代码捕捉运行中内核的异常。这些非常有用,更是海量服务器里捕捉不可重现内核异常的不二法宝。由于热补丁不需要重启服务器,既可打入也可撤销,所以不会有副作用。

  UCloud对开源Ksplice的优化主要在以下三个方面:

  支持高版本内核

  热补丁技术与内核紧密耦合。不同版本的内核在指令结构体,符合表结构体和一些特性上(比如早期内核没有ftrace)有所不同,直接影响热补丁成败。UCloud研究了各版本内核的区别,使得同一份ksplice支持各个版本的Linux内核。值得一提的是,解决了ftrace与ksplice不兼容的问题。

  允许热修复频繁调用的函数

  不管什么样的热补丁技术,两种类型的内核函数难以热补丁:频繁使用的内核函数如schedule, hrtimer;经常处于线程栈内核部分顶部的函数,如sys_poll, sys_read。UCloud更改了ksplice相关内核代码和用户态工具,成功解除了这些限制,比如UCloud现网服务器已打入了三个hrtimer热补丁。

  减少业务中断时间

  ksplice是在stop_machine后替换二进制指令的。虽然单次stop_machine对业务造成的中断在一毫秒左右,但有些频繁使用的内核函数需要大量重试才能碰到合适的热补丁时机,于是会造成最长达上百毫秒的中断。UCloud在此做过一点优化,使得业务中断时间控制在十毫秒级别。

  海量服务器环境下热补丁技术可用来零代价且无副作用地修复内核缺陷,而且内核开发也因热补丁能走得更远更好。以前因为缺乏辅助分析手段和惧怕内核BUG,即使适合在内核实现的特性也被告诫移到用户态实现,然而有了热补丁,相关观念也可以适当调整,内核开发也可以更加大胆和跳脱。

   (新闻稿 2014-07-24)


频道首页 】【 评论 】 【 打印 】 【 字体:
   上一篇:安卓系统: 苦等Android L系统 不如更新安卓4.4.4系统
   下一篇:百度浏览器: 6.5版大占先机 抢小米功能市场独一家
导航:报价 | 大全 | 排行榜 | 产品大全 | 参量 | 订阅 
 Advertisement
 十大最受关注的新闻
1  完美世界游戏携手英伟达 持续探索AI在游戏场景中的应用
2  只以单机游戏的视角论,《来自星辰》是不是一个好游戏
3  松下数码相机: 轻装出发,一“镜”看世界
4  小鸡潮玩堂和启明星NS手柄正式官宣,想与你交个朋友!
5  经典金属款 金士顿DTSE9G3及热门闪存盘体验
6  松下数码相机: 所有的创作者都需要一颗“一镜走天下”
7  LUMIX S5M2超优越的色彩科学!
8  松下数码相机: 如果你想要轻便的万能套机,它来了!
9  国内首款微软授权分体式手柄「X4幻蝶」正式官宣
10  《博德之门3》获GDC大奖 华硕吹雪主板助玩家畅享
 十大热门驱动/软件下载
1  [手机驱动]手机usb万能
2  [热门常用软件]QQ2008正式版下载【腾讯QQ2008官方版Beta1】
3  [热门常用软件]E话通下载【E话通4.5 正式版】
4  [手机驱动]Samsung三星 手机USB驱动1.0版For Win98SE/ME/...
5  [手机驱动]Microsoft微软 ActiveSync同步软件4.5中文版Fo...
6  [摄像头驱动]万能摄像头 FOR Windows
7  [热门常用软件]皮皮播放器下载【PPFilm皮皮播放器 2.1.0....
8  [手机驱动]诺基亚 PC套件下载
9  [热门常用软件]面对面游戏下载【面对面视频游戏大厅】
10  [手机驱动]Microsoft微软 Windows Mobile Device Center ...
 十大最受关注的品牌
1  三星手机(SAMSUNG)
2  诺基亚手机(NOKIA)
3  华硕笔记本(ASUS)
4  摩托罗拉手机(MOTOROLA)
5  英特尔CPU(Intel)
6  华硕主板(ASUS)
7  LG手机(LG)
8  索爱手机(Sony Ericsson)
9  联想笔记本(lenovo)
10  宏碁笔记本(acer)
 十大热门常用软件下载
1  QQ2008正式版下载【腾讯QQ2008官方版Beta1】
2  E话通下载【E话通4.5 正式版】
3  皮皮播放器下载【PPFilm皮皮播放器 2.1.0.2版】
4  面对面游戏下载【面对面视频游戏大厅】
5  DVD解码器下载【NVIDIA DVD Decoder 1.02】
6  迅雷5下载【迅雷5.8.1.507官方版】
7  QQ2007 II正式版下载【腾讯QQ2007官方版本】
8  QQ2006正式版下载【腾讯QQ2006官方版本】
9  联众世界游戏大厅下载【联众世界2.7.0.8官方版】
10  MTV下载器【MTV下载精灵 8.31版】
11  pplive最新版下载【PPLive网络电视V1.9.35版】
12  迅雷(Thunder)下载【迅雷v5.7.12.493官方版】
13  腾讯QQ2008下载【腾讯QQ官方版2008极速贺岁版KB1】
14  Total Video Converter下载【Total Video Converter v3.1...
15  QQ拼音输入法下载【腾讯QQQQ拼音输入法V1.4.1版】
16  皮皮高清影视播放器下载【PIPIPlayer 2.7.0.3版】
17  eMule下载【电驴eMule官方v0.49a正式版】
18  极点五笔输入法下载【极点五笔6.1标准版】
19  QQ2009正式版下载【腾讯QQ2009 SP4官方版】
20  Vagaa哇嘎画时代版下载【哇嘎 2.6.5.10】
   >> 查看评论   
 
   >> 查看更多评论   [共有0条评论]
发表评论
        
        
   点评:
   姓名:  
            字数: 0
     
新闻精选
·赋能产业互联网,高通量计算让世界更高效!
·喜报 极光推送荣获中国信通院隐私配置能力认
·宇视张鹏国:大模型只是技术升级不是革命
·Samsung One UI 6.1升级, Galaxy AI从Galaxy
·户外玩家福音!性能拉满、颜值开挂,新日赛博
·AI「搅动」云计算,阿里云推动算力底层变革
  ·#书联世界 让AI生花# 联萌ESG再出发
·云天励飞与上海交大签署战略协议:AI学院成立
·人工智能深度造假 需谨慎审视其潜在的副作用
·中国在线反欺诈市场代表性厂商,瑞数信息再获
·智能的进化与理性的失衡
·极光推送鸿蒙版SDK正式上线,全面适配Harmony