内核可加载模块的服务中升级制造技术

技术编号:17959484 阅读:29 留言:0更新日期:2018-05-16 05:17
在一个实施例中,一种方法包括针对网络设备处的操作系统的单个监督器创建活动容器和备用容器,将服务于活动容器的活动内核可加载模块(KLM)的实例进行实例化,将服务于备用容器的备用KLM的实例进行实例化,其中,一个或多个备用KLM包括活动KLM的升级版本,并且从活动容器切换到备用容器以针对操作系统执行KLM的服务中升级。本文还公开了一种装置和逻辑。

Upgrade the service of the kernel loadable module

In one embodiment, one method includes creating an active container and a standby container for a single monitor of the operating system at the network device, instantiating an instance of the active kernel loadable module (KLM) serving the active container, and instantiating an instance of the standby KLM serving the standby container, one or the other. Multiple standby KLM include upgraded version of activity KLM, and switch from active container to standby container to upgrade KLM in operation system. This article also discloses a kind of device and logic.

【技术实现步骤摘要】
【国外来华专利技术】内核可加载模块的服务中升级
本公开一般地涉及通信网络,并且更具体地涉及网络设备中软件的服务中升级。
技术介绍
通常需要用于实现由网络设备提供的特定特征或服务的软件升级,来捕获新特征、增强或修复程序错误。例如,当客户需要新的或附加功能时,或当特定程序错误的解决方案需要对软件进行升级时,软件升级可以被实现。然而,当升级软件时可能会对网络设备的可用性产生重大影响。因此,特定网络设备的停机时间可能影响相关联的网络的功能。附图说明图1描绘了可以实现本文描述的实施例的计算机系统的示例;图2示出了根据一个实施例的用于内核可加载模块的服务中升级的系统的示例;图3是示出根据一个实施例的用于内核可加载模块的服务中升级的过程的概述的流程图;图4是根据一个实施例的用于内核可加载模块的服务中升级的序列图;纵观附图的多个视图,相应的附图标记指示相应的部分。具体实施方式概述在一个实施例中,方法通常包括:针对网络设备处的操作系统的单个监督器创建活动容器和备用容器;将服务于活动容器的活动内核可加载模块(KLM)的实例进行实例化;将服务于备用容器的备用KLM的实例进行实例化,其中,一个或多个备用KLM包括活动KLM的升级版本;以及从活动容器切换到备用容器以针对操作系统执行KLM的服务中升级。在又一实施例中,装置通常包括:主机操作系统,包括与活动容器相关联的活动内核名称空间和与备用容器相关联的备用内核名称空间,所述活动容器和备用容器定义了针对主机操作系统的单个监督器;以及处理器,可操作用于:将服务于活动容器的活动内核可加载模块(KLM)的实例进行实例化;将服务于备用容器的备用KLM的实例进行实例化,其中一个或多个备用KLM包括活动KLM的升级版本;并且从活动容器切换到备用容器以针对主操作系统执行活动KLM的服务中升级。示例的实施例以下说明被呈现使得本领域普通技术人员能够进行和使用实施例。具体实施例和应用的说明仅作为示例提供,并且各种修改对于本领域技术人员而言将是显而易见的。本文描述的一般原理可以应用于其他应用而不背离实施例的范围。因此,实施例不限于所示出的那些,而是将被赋予与本文描述的原理和特征一致的最宽范围。为了清楚起见,没有详细描述涉及实施例的
中公知的技术材料的细节。当网络设备在通信网络内运行时,可能需要对软件进行升级。在大多数网络中,很大一部分停机是由于软件升级或维护造成的。例如,实现新的特征或功能的软件升级或应用维护,通常是导致系统无法访问的主要原因。当网络设备在网络中保持服务时,通过升级软件,执行服务中软件升级(ISSU)而不是设备重新加载,显着降低影响和停机时间。在一个示例中,可以使用模块化机箱上的冗余路由器处理器/监督器物理卡来执行网络设备(例如,路由器、交换器或其他网络元件)上的ISSU。例如,路由处理器(RP1)可以在插槽X中激活,而RP2在插槽Y上处于待机模式。在本例中,在服务中软件升级期间,作为备用角色的路由处理器物理卡(RP2)首先升级具有新的软件。然后,切换被触发,用于具有新的软件的当前备用卡(RP2)变为活动的。随后,路由处理器物理卡(RP1)可以升级具有新的软件,并用于备用的角色。RP1和RP2之间可能存在物理以太网连接,以供两个物理卡上运行的软件使用,以实现用于任何同步目的彼此通信。使用诸如Linux的基本操作系统的许多公司,使用内核可加载模块(KLM)以提供KLM的性能和其他益处,同时不违反GPL(通用公共许可证)并保护其知识产权。KLM(还称为可加载内核模块、内核扩展、内核模块、或内核模式驱动程序)是加载到内核中的代码片段,而不是单独的用户进程。随着Linux容器领域中的软件开发的进展,需要使用在单个物理卡上作为活动或备用角色而运行的双Linux容器的服务中软件升级。虽然容器提供了对用户进程的容纳(containment),其中对于两个Linux容器来说内核是相同的,但是需要一种机制来容纳KLM并且能够对KLM进行升级。本文描述的实施例提供了KLM的升级以实现基于容器的服务中软件升级。在某些实施例中,使用每个可升级KLM的双重实例,其中每个实例服务于容器。可以通过具有每个KLM的双重实例来实现容纳,使得在任何给定时间,KLM的实例仅服务于一个容器。在一个实施例中,通过自动地生成代码来创建KLM的双重实例,以防止当安装内核模块时的符号冲突。如以下详细描述,这些实施例辅助在基于单个监督器的网络设备上的服务中软件升级,并且提高基于单个监督器的网络设备的能力和可靠性。实施例允许在网络设备仍处于服务中时针对新功能对软件进行升级,其中数据流量很少中断或没有中断。一个或多个实施例可以允许使用单个物理监督器模型来减少控制平面停机时间,类似于使用双物理监督器模型的控制平面停机时间。现参考附图并先参考图1,示出了能够进行KLM服务中升级的网络设备10的示例。网络设备10可以包括例如路由器、交换器(例如ToR(机架顶部)交换器)、服务器、集线器、防火墙、网关、路由器/交换器、工作站、大型机、装备、主机等。网络设备10可以在包括经由任何数量的节点(例如,路由器、交换器、控制器、网关、接入层设备、汇聚层设备、边缘设备、核心设备或其他网络设备)的通信中的任何数量的网络设备的网络中进行操作,这辅助网络内的数据通过。网络设备10可以通过一个或多个网络(例如,局域网(LAN)、城域网(MAN)、广域网(WAN)、虚拟专用网络(VPN)、虚拟局域网(VLAN)、无线网络、企业网络、互联网、内联网、无线电接入网络、公共交换网络、或任何其他网络)。在一个实施例中,网络设备10是可以用硬件、软件或其任何组合来实现的可编程机器。网络设备10包括一个或多个处理器12、存储器14、网络接口16、和主机OS(操作系统)15。存储器14可以是易失性存储器或非易失性存储器,其存储供处理器12执行和使用的各种应用程序、操作系统、模块和数据。例如,主机操作系统15的组件(例如,代码、逻辑、软件、固件等)可以存储在存储器14中。逻辑可以被编码在一个或多个有形介质中以供处理器12执行。例如,处理器12可以执行存储在计算机可读介质(诸如存储器14)中的代码。计算机可读介质可以是例如,电子的(例如,RAM(随机存取存储器)、ROM(只读存储器)、EPROM(可擦除可编程只读存储器))、磁性的、光学的(例如CD、DVD)、电磁的、半导体技术或任何其他合适的介质。在某些实施例中,逻辑可以被编码在非暂态计算机可读介质中。网络接口16可以包括用于接收数据或将数据传输到其他设备的任何数量的接口(线卡、端口)。网络接口16可以包括例如用于连接到计算机或网络的以太网接口。网络接口16可以被配置为使用各种不同的通信协议来传输或接收数据。接口16可以包括用于通过耦接到网络的物理链路传送数据的机械、电气和信令电路。在图1所示的示例中,主机操作系统15包括与包括活动容器17A和备用容器17B的监督器进行通信的主机内核16,以及包括线卡容器17C的线卡。容器(软件容器)17A、17B、17C有效地将由单个操作系统管理的资源划分为隔离的组,以更好地平衡在隔离的组之间对资源使用的冲突需求。在一个示例中,容器17A、17B、17C是Linux容器(LXC),其是用于在单个本文档来自技高网
...
内核可加载模块的服务中升级

【技术保护点】
一种方法,包括:针对网络设备处的操作系统的单个监督器创建活动容器和备用容器;将服务于所述活动容器的活动内核可加载模块(KLM)的实例进行实例化;将服务于所述备用容器的备用KLMs的实例进行实例化,其中,所述备用KLM中的一个或多个备用KLM包括所述活动KLM的升级版本;以及从所述活动容器切换到所述备用容器,以针对所述网络设备处的操作系统执行所述活动KLM的服务中升级。

【技术特征摘要】
【国外来华专利技术】2015.09.26 US 14/866,9521.一种方法,包括:针对网络设备处的操作系统的单个监督器创建活动容器和备用容器;将服务于所述活动容器的活动内核可加载模块(KLM)的实例进行实例化;将服务于所述备用容器的备用KLMs的实例进行实例化,其中,所述备用KLM中的一个或多个备用KLM包括所述活动KLM的升级版本;以及从所述活动容器切换到所述备用容器,以针对所述网络设备处的操作系统执行所述活动KLM的服务中升级。2.如权利要求1所述的方法,其中,所述操作系统包括与所述活动KLM相关联的活动内核名称空间、和与所述备用KLM相关联的备用内核名称空间。3.如权利要求1所述的方法,还包括将前缀标识符插入到活动KLM名称和备用KLM名称中,以区分所述活动KLM和所述备用KLM。4.如权利要求3所述的方法,还包括自动地生成所述前缀标识符,以防止所述活动KLM与所述备用KLM之间的符号冲突。5.如权利要求1所述的方法,其中,所述备用容器通过虚拟以太网链路与所述活动容器进行通信,以获得所述活动容器的当前运行状态。6.如权利要求1所述的方法,还包括在从所述活动容器切换到备用容器之后,将所述活动容器改变为所述备用容器。7.如权利要求1所述的方法,还包括在切换到所述备用容器之后,利用新版本的线卡KLM重新启动线卡容器。8.一种装置,包括:主机操作系统,包括与活动容器相关联的活动内核名称空间、和与备用容器相关联的备用内核名称空间,所述活动容器和备用容器定义针对所述主机操作系统的单个监督器;以及处理器,可操作用于:将服务于所述活动容器的活动内核可加载模块(KLM)的实例进行实例化;将服务于所述备用容器的备用KLM的实例进行实例化,其中所述备用KLM中的一个或多个备用KLM包括所述活动KLM的升级版本;并且从所述活动容器切换到所述备用容器以针对所述主机操作系统执行所述主机KLM的服务中升级。9.如权利要求8所述的装置,其中,所述处理器将前缀标识符插入到活动KLM名称和备用KLM名称中,以区分所述活动K...

【专利技术属性】
技术研发人员:斯里尼瓦斯·维列什瓦拉塞蒂尔库马尔·潘迪安阿克什亚·库马尔·辛格拉文安丹·阿拉卡利
申请(专利权)人:思科技术公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1