Linux 4.0 不再需要重启
linux  /  管理员 发布于 7年前   167
Linux 4.0 里,你可能再也不需要重启你的操作系统。
在大多数的服务器或者数据中心里,喜欢用linux的一个原因是你不需要频繁的进行重启操作。诚然,某些关键性的补丁必须要进行重启,但你也可以等到数月后再做此操作。现在,得益于 linux 内核的最新更新 你也许可以数年间都不用重启。
感谢 Ksplice 项目,使得这一特性在2009年就可以实现。此项目在对原始和打过补丁的内核进行比较后,使用一个定制的内核模块将新的代码加入到运行内核中。在支持Ksplice的内核中,每个将被修补的功能都携带有一套特殊标志用以进行区分。Ksplice进程会监视正在修补该函数的代码是不是当前不在使用,当当,打上补丁,你的服务器上继续运行。
Oracle 在 2011 年收购了 Ksplice 项目,并将其作为 RHEL 的一项可选服务,使其应用于它自己的Oracle Linux 中(一个 RHEL(Red Hat Enterprise Linux ) 的克隆版本)。这将此项技术隔离于其他企业版和服务器版 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发行版中。
以上所述就是本文的全部内容了,希望大家能够喜欢。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号