❏ 站外平台:

Linux 4.0 不再需要重启

作者: Steven J. Vaughan-Nichols

| 2015-03-25 13:45   评论: 27 收藏: 2 分享: 43    

Linux 4.0 里,你可能再也不需要重启你的操作系统。

在大多数的服务器或者数据中心里,喜欢用linux的一个原因是你不需要频繁的进行重启操作。诚然,某些关键性的补丁必须要进行重启,但你也可以等到数月后再做此操作。现在,得益于 linux 内核的最新更新,你也许可以数年间都不用重启。

感谢 Ksplice 项目,使得这一特性在2009年就可以实现。此项目在对原始和打过补丁的内核进行比较后,使用一个定制的内核模块将新的代码加入到运行内核中。在支持Ksplice的内核中,每个将被修补的功能都携带有一套特殊标志用以进行区分。Ksplice进程会监视正在修补该函数的代码是不是当前不在使用,铛铛,打上补丁,你的服务器上继续运行。

Oracle 在 2011 年收购了 Ksplice 项目,并将其作为 RHEL 的一项可选服务,使其应用于它自己的 Oracle Linux 中(一个 RHEL 的克隆版本)。这将此项技术隔离于其他企业版和服务器版 Linux 之外。

后来 KemelCare 为大部分企业发行版 Linux 发布了一项提供非启动式补丁服务。此程序作为专利软件,只能通过按月支付来享有此服务。这从而很难满足大多数Linux系统管理员。

所以,Red Hat 和 SUSE 开始着手完全开源的为 Linux 安装严重补丁的非重启方案。Red Had 的项目命名为 kpatch, SUSE的项目命名为 kGraft.

两个公司采用了不同的途径。Kpatch 发布了一个 stop_machine() 命令。之后,它着眼于现有的栈处理去使用 ftrace,如果打补丁安全完成,它会重定向运行着的代码到补丁函数,而后就删除现在过时的代码。

比过去好的是,数据中心被运行在世界各处,但是它们中的许多都需要一个21世纪式的重启。今天的数据中心必须更有效率,更有鲁棒性和灵活性,这超过以往任何时候。我们检查怎样才能运行好你的数据中心,与之相对的是外包到一个云或者一个服务提供商,或是采取混合的方式。

Kgraft 一直使用 ftrace,尽管它是工作在线程级的。当一个老的函数被调用,它会定位到线程的一个点,然后将其切换到新的函数。

虽然最终结果相同,即操作系统在打补丁的时候保持运行,但还是有显著的性能差异的。当kGraft可能花费数分钟的时候,Kpatch可以只需要1到40毫秒,但他们从不会停机。

在2014年10月召开的linux 开发者大会上,两个小组合二为一并且开始致力于结合两者最好的部分使linux打补丁时不再重启。实际上,他们最终是把kpatch和kGraft都丢进了Linux内核。

Jiri Kosina,一位SUSE软件工程师和Linux内核开发者解释说,Linux内核的热补丁将会“为函数提供一个基本基础设施”  热补丁(例如:代码重定向),包括为了包含实际补丁的内核模块的API(应用程序接口),和为了在用户空间可以操作补丁的API/ABI(应用二进制接口),这是“相对简单和简约的,因为它尽可能多的利用了已有的内核基础(名为ftrace)。它也是自包含的,在某种意义上说,它不在任何其他的内核子系统中调用自身(它甚至不接触其他任何代码)”

Linux 4.0 RC 版现在已经放出,Kosina 声称:”现在实施的x86架构只是作为一个参考架构,对于powerpc, s390 和 arm 的支持工作已经在进行中了“。确实,对于这些架构的支持源代码已经在Live Patching Git code 上了。

简单的拥有这些代码仅仅只是开始,你的发行版将通过补丁来支持和使用它。随着 Red Hat 和 SUSE 的支持,live 补丁将很快默认在所有商业Linux发行版中。



最新评论

[1]
微博评论 发表于 2015-03-25 18:33 的评论:
我觉得所谓需要不需要重启是个毫无意义的特性//@Love4Taylor:我想想啊。。大概debian到10左右就会上4.0的内核了吧[doge][doge]//@Linux中国: →_→//@瘦古龙: 太好了,安装后门又简化了。
来自 - 四川成都 的 Chrome/Windows 用户 2015-03-29 21:56 2 回复
对windows来说是这样
arhool 2015-03-28 21:58 7 回复
过几个版本才能用到
Esteem 2015-03-28 18:45 4 回复
Ubuntu14.04 LTS用的还是3.13......
文剑一飞 2015-03-26 10:03 8 回复
专业名词,“栈处理”,“线程级”。
他们最终是把kpatch和kGraft都丢进了Linux内核。——这就是Linux会折腾死选择困难症的人(小白)的原因。
微博评论 2015-03-26 00:03 5 回复
→_→//@Linux中国:→_→//@瘦古龙: 太好了,安装后门又简化了。
微博评论 2015-03-25 19:33 3 回复
还是有意义了[挖鼻屎]downtime可以短点//@可可苏玛: 我觉得所谓需要不需要重启是个毫无意义的特性//@Love4Taylor:我想想啊。。大概debian到10左右就会上4.0的内核了吧[doge][doge]//@Linux中国: →_→//@瘦古龙: 太好了,安装后门又简化了。
微博评论 2015-03-25 19:33 2 回复
内核热补丁技术
微博评论 2015-03-25 18:33 3 回复
求教//@可可苏玛: 我觉得所谓需要不需要重启是个毫无意义的特性//@Love4Taylor:我想想啊。。大概debian到10左右就会上4.0的内核了吧[doge][doge]//@Linux中国: →_→//@瘦古龙: 太好了,安装后门又简化了。
微博评论 2015-03-25 18:33 2 回复
我想想啊。。大概debian到10左右就会上4.0的内核了吧[doge][doge]//@Linux中国: →_→//@瘦古龙: 太好了,安装后门又简化了。
微博评论 2015-03-25 17:03 4 回复
Repost
微博评论 2015-03-25 16:03 2 回复
→_→ //@Linux中国: →_→//@瘦古龙: 太好了,安装后门又简化了。
微博评论 2015-03-25 15:18 3 回复
打算安个linux玩玩 //@Linux中国:→_→ //@瘦古龙: 太好了,安装后门又简化了。
微博评论 2015-03-25 15:03 2 回复
现在大家都喜欢让版本号飞奔?//@Linux中国:→_→//@瘦古龙: 太好了,安装后门又简化了。
微博评论 2015-03-25 15:03 3 回复
[威武]
微博评论 2015-03-25 14:33 2 回复
lolllll//@Linux中国:→_→//@瘦古龙: 太好了,安装后门又简化了。
微博评论 2015-03-25 14:33 3 回复
[思考]debian8已经RC,RHEL才7.1。ubuntu的lts也要等16.04才能用上这个特性。
微博评论 2015-03-25 14:33 2 回复
→_→//@瘦古龙: 太好了,安装后门又简化了。
微博评论 2015-03-25 14:33 3 回复
gp //@瘦古龙:太好了,安装后门又简化了。
微博评论 2015-03-25 14:33 3 回复
//@3rddayFPA://@瘦古龙: 太好了,安装后门又简化了。
微博评论 2015-03-25 14:33 2 回复
口怕//@TC_Misaka:有点凶残!
微博评论 2015-03-25 14:03 2 回复
Repost
微博评论 2015-03-25 14:03 3 回复
等正式了//@TC_Misaka:有点凶残!
微博评论 2015-03-25 14:03 3 回复
hotfix, 已入upstream. 学习下
微博评论 2015-03-25 14:03 3 回复
太好了,安装后门又简化了。
微博评论 2015-03-25 14:03 2 回复
有点凶残!
微博评论 2015-03-25 14:03 2 回复
tmp挤爆了看你要不要重启[doge]

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。