用于执行操作系统的实时更新的方法和系统的制作方法

文档序号:8395743阅读:706来源:国知局
用于执行操作系统的实时更新的方法和系统的制作方法
【技术领域】
[0001] 本发明的实施例涉及用于执行操作系统的实时更新的方法和系统。
【背景技术】
[0002] 本申请总地涉及改进的数据处理装置和方法,并且更具体地涉及用于执行实时的 操作系统更新的机制。
[0003] 操作系统的内核的更新或打补丁一般需要重新引导计算系统。即,内核的更新或 补丁被安装,随后计算系统必须重新引导,以使内核的更新或补丁被加载到计算系统上并 在计算系统上被运行。这意味着内核的修复或更新在没有经历一段停机时间以完成重新引 导操作之后重新开始应用的情况下不能被应用于系统。
[0004] 尽管一些"热补丁"的能力已经成为可能,这些"热补丁"能力被极大地限制在仅 仅几个特定的内核扩展。此外,包含在补丁中的改变必须只能针对程序代码和/或本地堆 栈变量。这意味着,在具有"热补丁"能力的情况下,不能有对数据定义的任何增加、删除、 重排、或其他修改,例如字符串定义等。此外,这意味着不能有任何对数据结构的布局的修 改,包括那些由类型改变造成的修改。进一步地,这意味着不能有编译器为之创建静态入口 的任何新的长常量生成。还有很多更详细和复杂的对于这种"热补丁"能力限制,上述仅仅 是对操作系统的当前"热补丁"能力的严格限制的说明。
[0005] 除上述之外,大部分操作系统的更新不仅包括内核的改变,也包括对共享库的更 新,这是另一类不重新引导计算系统就无法完成的更新。这留给用户如下现实,即几乎所有 的问题修复、以及内核或操作系统的更新,不在它们利用的相应应用上重新引导和重新开 始它们的工作负载就无法完成。

【发明内容】

[0006] 在说明性实施例中,在包含处理器和存储器的数据处理系统中,一种用于对操作 系统执行实时更新方法。该方法包括接收对操作系统的更新,以及克隆与在数据处理系统 的第一逻辑分区中执行的操作系统实例相关联的根卷组来生成克隆的根卷组。该方法进一 步包括对克隆的根卷组应用更新以生成更新的克隆的根卷组,以及使用该更新的克隆的根 卷组来引导数据处理系统的第二逻辑分区。此外,该方法包括将应用实例和应用数据迁移 到该第二逻辑分区。
[0007] 在其他说明性实施例中,提供了一种计算机程序产品,包括计算机可用或可读的 介质,该介质具有有计算机可读程序。计算机可读程序,当在计算设备上被执行时,使得计 算设备执行上面参照方法的说明性实施例概述的操作中各操作、及组合。
[0008] 在另一个说明性实施例中,提供了一种系统/设备。系统/设备可以包括一个或 多个处理器和耦合到该一个或多个处理器中的存储器。存储器可以包含指令,该指令当被 一个或多个处理器执行时,使得一个或多个处理器执行上面参照方法的说明性实施例概述 的操作中的各操作、及组合。
[0009] 本发明的这些及其他特性和优势将被描述在以下本发明示例实施例的详细描述 中,或基于这些描述将对本领域的技术人员显而易见。
【附图说明】
[0010] 本发明、以及优选的使用模式及其进一步的目标和优点,将通过参考以下说明性 实施例的详细描述并结合附图被最好地理解,其中:
[0011] 图1是分布式数据处理系统的示例图,说明性实施例的方面可以在该分布式数据 处理系统中实现;
[0012] 图2是计算设备的示例框图,说明性实施例的方面可以在该计算设备中实现;
[0013] 图3是图示了依据说明性实施例的用于执行操作系统的实时更新的更新/打补丁 操作的示例图;
[0014] 图4是概括了依据说明性实施例的用于执行操作系统的实时更新的示例操作的 流程图;以及
[0015] 图5是概括了依据说明性实施例的作为实时更新操作的一部分的用于执行进程 从第一逻辑分区到第二逻辑分区的迁移的示例操作的流程图。
【具体实施方式】
[0016] 如上面提及的,为了执行操作系统或内核的更新或打补丁,执行操作系统或内核 的计算系统需要被重新引导,这导致用户应用在对应于重新引导计算系统所需时间量的一 段延迟之后重新开始。这对于该计算系统的用户可能是不便和令人沮丧的,因为用户的工 作负载可能需要在计算系统重新引导后重新开始。
[0017] 对这个问题的一种解决方案在可从纽约阿芒克的国际商业机器公司获得的高级 交互执行体(AIX)6. 1操作系统中提供,该解决方案是在逻辑分区(LPAR)上使用工作负载 分区(WPAR)。LRAR是计算系统的硬件和软件资源的子集,被虚拟化为硬件/软件的单独实 例,这样运行在LPAR上的应用认为他们可以访问计算系统的所有硬件/软件。计算系统可 以有多个LPAR运行,每一个具有与LPAR相关的独立操作系统或内核。
[0018] WPAR是允许LPAR内的操作系统或内核虚拟化的机制。WPAR允许通过操作系统虚 拟化来虚拟化应用工作负载。因此,WPAR是在单个AIX镜像内被创建的虚拟化的操作系统 环境,例如,WPAR可以在LPAR内被创建。基本上有两种类型的WPAR :系统WPAR,它与有自 己专用文件系统和操作系统守护进程的操作系统的完整版本类似;以及应用WPAR,它是具 有有限能力并且只能运行应用进程而不能运行操作系统守护进程的虚拟化的操作系统环 境的更轻量级版本。
[0019] 对于使用WPAR的操作系统或内核更新/打补丁的潜在解决方案,可以采用运行在 LPAR上的所有应用,并将它们放在该LPAR上的WPAR中。随后,当需要内核或操作系统更新 时,该LPAR可以被克隆成新的LPAR。可以随后与更新相结合对新的LPAR打补丁。该WPAR 可以随后被移动到新的LPAR。然而,此方法有若干限制。
[0020] 首先,有一些项无法被放置在WPAR内,包括PowerHA (高可用性)应用资源、可靠 的可伸缩集群技术(RSCI)应用资源、网络文件系统(NFS)服务器资源、受Kerberos保护的 NFS加载、工作负载管理器(WLM)控制等。此外,为了使WPAR的移动发生,例如,WPAR移动 到新的LPAR,WPAR必须有它自己的根卷组(rootvg),例如,它自己的卷组(vg)(也被称为 逻辑磁盘),该卷组包含了包含操作系统实例的根卷以及安装期间被创建的其他逻辑卷或 资源。此外,安装了1?八1?管理器后,^^1?必须有181101代(^〇1'。另外,运行1?41?会带来性 能损失,特别在可设置检查点的WPAR中(例如,可以被移动的WPAR)。这是因为内核在可迁 移的WPAR内部跟踪每个进程和线程的活动,从而当移动完成时,内核知道哪些进程及哪些 相关联的数据需要被移动。
[0021] 因此,用以解决执行操作系统或内核的实时更新或打补丁的问题的基于"热补丁" 和WPAR的方法具有限制和弊端,以致它们在很多情况下不适用或不可接受。
[0022] 说明性实施例提供了用于执行实时操作系统更新/打补丁的机制,这些机制避免 了上述方法的限制和弊端。在说明性实施例的机制下,提供了对操作系统或内核和/或任 何内核扩展应用任何更新/打补丁、更新/打补丁的集合、和/或增强的能力,而不需要重 新引导当前正在运行的应用或计算系统。此外,对操作系统所做的更新/打补丁还可以包 括对用户空间二进制文件包括共享库等的更新。说明性实施例的机制可以在利用虚拟设备 和存储的任何计算系统上被实现。说明性实施例的机制消除了上述内核"热补丁"设施的 限制,除了必须具有虚拟设备和存储的限制,说明性实施例对于运行在将被更新的操作系 统上的应用类型没有任何限制。
[0023] 在说明性实施例的机制下,操作系统/内核的实时更新(之后为简单起见,被称为 "操作系统"或0S)通过利用其操作系统/内核意图被更新/打补丁的原LPAR之外的第二 逻辑分区(LPAR)来完成。如果没有第二LPAR可用来执行更新,第二LPAR可以在更新时被 创建。在这种情况下,原LPAR的根卷组被克隆并且更新被应用于克隆的根卷组。被克隆和 更新的根卷组被用来引导第二LPAR。一旦第二LPAR被引导,并且开始以及运行,运行在原 LPAR上的应用被迁移到新的(第二)LPAR中。在此迁移期间可能会有一个短暂的"暂停" 时间段,以使得应用将没有响应,因为进程在新的LPAR上被设置检查点、被移动、以及被恢 复。然而,这个暂停时间段远远小于重新引导计算系统和重新引导应用及工作负载需要的 时间段。一旦应用被迁移,应用将从它们之前的状态继续。存储器将被异步传输从而不延 长暂停时间。
[0024] 当所有应用和相关联的资源已经被传输到新的LPAR之后,原LPAR可以被解激活 并且它的资源被释放。第二LPAR采用原LPAR的身份,这样从外部看,没有进行了从原LPAR 到新LPAR的切换的指示。结果是应用及所有用户进程继续运行在仿佛是同一 LPAR上。所 有网络连接在应用及其存储器中的数据从原LPAR迁移到新LPAR之后被重建。从用户角度 看,除了应用没有响应的短暂的暂停期,计算系统除了内核/操作系统打补丁 /更新已被应 用并正在被使用之外似乎没有任何改变。这保留了运行在LPAR上的工作负载。活动的应 用使用它们之前在原LPAR上使用的相同共享库继续运行。任何被执行的新的二进制文件 将使用新的更新的共享库。
[0025] 从上述可见,没有工作负载分区(WPAR)被需要或创建来实现应用、用户进程和数 据从原LPAR到新LPAR的移动。如上所注,在移动的WPAR的情况下,WPAR的所有进程/线 程被跟踪,从而如果WPAR被移动,则所有需要被移动的进程/线程及他们相关联的文件句 柄、IPC等是已知的。移动基本上基于进程在一个进程上被完成。
[0026] 尽管在之前在上面描述的WPAR方法中移动进程和它的关键数据的一些相同的基 础技术在说明性实施例的实时的操作系统或内核更新机制中也被利用,但是说明性实施例 的机制和WPAR方法之间存在很多不同。一个显著的不同是进程如何被标识为将要从原 LPAR被移动到新LPAR。不是所有的用户进程可以被移动,因为原LPAR必须在暂停期之后 继续运行,并且应用在新LPAR上重新开始。这个限制是因为存储在与被移动的进程
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1