支持内核在线更新的方法、服务器和相关设备技术

技术编号:35764605 阅读:15 留言:0更新日期:2022-12-01 14:00
本申请提供了支持内核在线更新的方法、服务器和相关设备,该服务器可包括处理器、内存以及多个PCI设备,内存记录有第一内核的代码,其中,处理器,用于执行第一内核的代码以启动第一内核,并在第一内核启动的情况下扫描多个PCI设备,将多个PCI设备的拓扑信息记录到内存的预设地址中,在执行第一内核的代码的过程中,处理器还可接收内核跳转命令,根据内核跳转命令停止执行第一内核的代码,并执行第二内核的代码以启动第二内核,在第二内核启动的情况下从内存的预设地址中获取拓扑信息。该服务器可以免于内核跳转过程中对多个PCI设备的重复扫描,减少内核跳转过程中的业务中断时长,提高用户的使用体验。提高用户的使用体验。提高用户的使用体验。

【技术实现步骤摘要】
支持内核在线更新的方法、服务器和相关设备


[0001]本申请涉及计算机领域,尤其涉及一种支持内核在线更新的方法、服务器和相关设备。

技术介绍

[0002]服务器的内核(kernel)是操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统。为了维持系统的稳定性,服务器每隔一段时间都需要对内核进行更新或修复,内核更新或修复需要服务器重启,造成运行在服务器中的业务中断,对用户产生很大影响。
[0003]为了避免内核更新和修复过程中服务器的重启,内核跳转技术应运而生。内核跳转指的是待更新的第一内核加载已更新的第二内核的启动参数和启动文件后,第一内核关闭,第二内核初始化,第二内核接替第一内核工作,实现对第一内核的更新,该方法可以免于服务器重启造成的业务中断。但是,内核跳转过程中,第二内核的加载和初始化也需要较长的时间,造成长达几十秒的业务中断,对业务运行产生影响,降低用户的使用体验。

技术实现思路

[0004]本申请提供了一种支持内核在线更新的方法、服务器和相关设备,用于解决内核更新和修复过程中,由于内核跳转所需的业务中断时间过长导致用户使用体验差的问题。
[0005]第一方面,提供了一种支持内核在线更新的服务器,该服务器可包括处理器、内存以及多个PCI设备,内存记录有第一内核的代码,其中,处理器,用于执行第一内核的代码以启动第一内核,并在第一内核启动的情况下扫描多个外设部件互连标准(peripheral component interconnect,PCI)设备,将多个PCI设备的拓扑信息记录到内存的预设地址中,在执行第一内核的代码的过程中,处理器还可接收内核跳转命令,根据内核跳转命令停止执行第一内核的代码,并执行第二内核的代码以启动第二内核,在第二内核启动的情况下从内存的预设地址中获取拓扑信息。
[0006]具体实现中,上述处理器可以由至少一个通用处理器构成,例如中央处理器(central processing unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application

specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field

programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
[0007]上述内存可以是易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)、动态随机存储器(dynamic RAM,DRAM)、静态随机存储器(static RAM,SRAM)、同步动态随机存储器(synchronous dynamic RAM,SDRAM)、双倍速率同步动态随机存储器(double data rate RAM,DDR)、高速缓存(cache)等等,内存还可以包括上述种
类的组合。
[0008]上述多个PCI设备可以是与PCI总线的扩展插槽相连的PCI设备,比如声卡、网卡(nic)、通用串行总线(universal serial bus,USB)卡、集成开发环境(interated development environment,IDE)接口卡、磁盘阵列(redundant arrays of independent disks,RAID)卡、视频采集卡等等,本申请不作具体限定。多个PCI设备的拓扑信息是多个PCI设备在设备初始化时建立的总线拓扑结构,用于描述多个PCI设备组成的设备系统的拓扑结构,具体可以是一个数据结构链表,处理器执行第一内核的代码扫描多个PCI设备时,可以从PCI总线上搜索所有PCI设备,并依次为每个PCI设备编号、定位后获得该拓扑信息。
[0009]值得注意的是,PCI设备还可以包括PCIe(peripheral component interconnect express,高速串行计算机扩展总线)设备。
[0010]可选地,上述用于存储拓扑结构的内存的预设地址,可以是在处理器执行第一内核的代码之前已向内存中申请的一段存储空间的地址,也可以是处理器接收到内核跳转命令,停止执行第一内核的代码之前,向内存申请的一段存储空间的地址,本申请不作具体限定。内核跳转命令具体可以是Kexec命令,该命令用于指示当前正在运行内核跳转到新内核,当然,也可以是其他内核跳转命令,本申请不对此进行限定。
[0011]实施第一方面描述的服务器,该服务器中的处理器可以执行内存中的第一内核的代码,将多个PCI设备的拓扑信息存储在内存的预设地址中,当处理器停止执行第一内核的代码,执行第二内核的代码后,可以从上述内存的预设地址中获取该拓扑信息,从而免于内核跳转过程中对多个PCI设备的重复扫描,减少内核跳转过程中的业务中断时长,提高用户的使用体验。
[0012]在第一方面的一种可能的实现方式中,第二内核的代码是对第一内核的代码进行漏洞修复或功能升级后获得的代码,处理器,还用于根据内核跳转命令获取第二内核的代码,将第二内核的代码加载至内存。
[0013]可选地,处理器可从预定位置获取第二内核的代码,系统管理员可将第二内核的代码预先设置在预定位置,其中预定位置例如为内存的某个地址,或某个网络文件服务器。
[0014]具体地,处理器可以将第二内核的代码加载至内存之后,将第二内核的代码在内存中的起止地址存储于页表中,处理器根据该页表获取第二内核的代码的起止地址,然后根据该起止地址从内存中获取第二内核的代码并执行,启动第二内核。
[0015]可选地,处理器停止执行第一内核的代码,并执行第二内核的代码以启动第二内核后,可以将第一内核的代码所在的内存空间进行回收,减少内存的占用空间,提高内存利用率。若第二内核运行过程中也需要进行内核更新,那么可以接收新的内核跳转命令,根据新的内核跳转命令接收更新后的第三内核的代码,并将第三内核的代码加载至上述回收后的内存空间,当然,也可以将其加载至其他内存空间,本申请不作具体限定。
[0016]上述实现方式,处理器接收内核跳转命令后,将更新好的第二内核的代码加载至内存中,处理器执行第二内核的代码,不仅可以实现内核的在线更新,避免由于服务器中断为用户带来的不便,而且处理器执行第二内核的代码后,可以从内存的预设地址中获取拓扑信息,免于内核跳转过程中对多个PCI设备的重复扫描,减少内核跳转过程中的业务中断时长,提高用户的使用体验。
[0017]在第一方面的一种可能的实现方式中,处理器,还用于在根据内核跳转命令停止
执行第一内核的代码之前,指示多个PCI设备自身保留各自的设备状态信息,处理器,还用于执行第二内核的代码从内存的预设地本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持内核在线更新的服务器,其特征在于,包括处理器、内存以及多个外设部件互连标准PCI设备,所述内存记录有第一内核的代码,其中,所述处理器,用于执行所述第一内核的代码以启动第一内核,并在所述第一内核启动的情况下扫描所述多个PCI设备,将所述多个PCI设备的拓扑信息记录到所述内存的预设地址中;所述处理器,还用于在执行所述第一内核的代码的过程中接收内核跳转命令,根据所述内核跳转命令停止执行所述第一内核的代码,并执行第二内核的代码以启动第二内核,在所述第二内核启动的情况下从所述内存的预设地址中获取所述拓扑信息。2.根据权利要求1所述的服务器,其特征在于,所述第二内核的代码是对所述第一内核的代码进行漏洞修复或功能升级后获得的代码。3.根据权利要求1或2所述的服务器,其特征在于,所述处理器,还用于根据所述内核跳转命令获取所述第二内核的代码,将所述第二内核的代码加载至所述内存。4.根据权利要求1至3任一权利要求所述的服务器,其特征在于,所述处理器,还用于在根据所述内核跳转命令停止执行所述第一内核的代码之前,指示所述多个PCI设备保留各自的设备状态信息。5.根据权利要求4所述的服务器,其特征在于,所述处理器,还用于执行所述第二内核的代码从所述内存的预设地址中获取所述拓扑信息之后,从所述多个PCI设备读取所述设备状态信息。6.根据权利要求1至5任一权利要求所述的服务器,其特征在于,所述第一内核中设置有虚拟实例,所述多个PCI设备中的一者或任意组合直通至所述虚拟实例。7.根据权利要求6所述的服务器,其特征在于,所述虚拟实例为虚拟机或容器。8.一种支持内核在线更新的设备,其特征在于,包括:第一内核,用于在启动的情况下扫描多个外设部件互连标准PCI设备,将所述多个PCI设备的拓扑信息记录到内存的预设地址中;所述第一内核,还用于接收内核跳转命令,根据所述内核跳转命令启动第二内核;所述第二内核,在启动的情况下从所述内存的预设地址中获取所述拓扑信息。9.根据权利要求8所述的设备,其特征在于,所述第二...

【专利技术属性】
技术研发人员:周健
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1