CN116360865A - 集群管理方法、设备及计算系统 - Google Patents

集群管理方法、设备及计算系统 Download PDF

Info

Publication number
CN116360865A
CN116360865A CN202210326025.5A CN202210326025A CN116360865A CN 116360865 A CN116360865 A CN 116360865A CN 202210326025 A CN202210326025 A CN 202210326025A CN 116360865 A CN116360865 A CN 116360865A
Authority
CN
China
Prior art keywords
starting
operating system
mode
storage area
dpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210326025.5A
Other languages
English (en)
Inventor
吴倚龙
杜敏
谢红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2022/142188 priority Critical patent/WO2023125482A1/zh
Publication of CN116360865A publication Critical patent/CN116360865A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

公开了集群管理方法、设备及计算系统,涉及计算机领域。集群中计算设备上的网络设备根据集群管理系统的第一启动指示启动计算设备,包括启动网络设备的操作系统,并反馈操作系统的启动结果。由此,集群管理系统通过向计算设备发送启动指示,控制计算设备以及计算设备包含的网络设备的操作系统进行启动,并且计算设备反馈启动结果,从而解决了如何使集群管理系统与计算设备中网络设备进行通信的问题,使集群管理系统与网络设备之间能够相互感知,实现了集群管理系统对集群中网络设备的启动管理。

Description

集群管理方法、设备及计算系统
本申请要求于2021年12月27日提交国家知识产权局、申请号为202111611749.6、申请名称为“一种集群管理方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机领域,尤其涉及一种集群管理方法、设备及计算系统。
背景技术
数据处理单元(data process unit,DPU)是一种具备高性能计算能力的多核处理器。DPU卸载计算设备中其他芯片(如:中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU))运行的与人工智能,存储等相关应用,提升计算设备的数据处理性能,降低计算设备负载。目前,将DPU应用于集群中的计算设备,集群管理系统对DPU中操作系统(operating system,OS)和业务不能直接通信,导致集群管理系统与DPU之间无法相互感知。
发明内容
本申请提供了集群管理方法、设备及计算系统,由此解决了如何使集群管理系统与计算设备中DPU进行通信的问题。
第一方面,提供了一种集群管理方法,集群中计算设备上的网络设备根据集群管理系统的第一启动指示启动计算设备,包括启动网络设备的操作系统,并反馈操作系统的启动结果。由此,集群管理系统通过向计算设备的网络设备发送启动指示,由网络设备控制计算设备以及网络设备的操作系统进行启动,并且向集群管理系统反馈启动结果,从而解决了集群管理系统与计算设备中网络设备无法直接通信的问题,使集群管理系统与网络设备之间能够相互感知,实现了集群管理系统对集群中网络设备的启动管理。
在一种可能的实现方式中,网络设备包含了两个存储区域。网络设备根据获取的第一启动指示确定网络设备的启动模式,当启动模式为双区启动模式时,启动两个存储区域中的第一存储区域存储的网络设备的操作系统。双区启动模式用于指示基于存储操作系统的两个存储区域启动操作系统的启动方式。从而,网络设备基于两个存储区域的操作系统进行启动,可以提高启动操作系统的可靠性。
在一种可能的实现方式中,启动模式还可以包括单区启动模式。单区启动模式用于指示基于存储操作系统的一个存储区域启动操作系统的启动方式。
网络设备可以采用以下可能的两种方式确定启动模式。
在一种可能的示例中,根据获取的第一启动指示确定网络设备的启动模式,包括:网络设备获取到第一启动指示,根据第一启动指示包括的启动标识确定启动模式,即网络设备根据启动标识可以确定启动模式为双区启动模式和单区启动模式。从而,通过启动指示直接指示网络设备的启动模式,实现网络设备根据集群管理系统的指示进行启动,提升集群管理系统与网络设备之间感知程度。
在另一种可能的示例中,根据获取的第一启动指示确定网络设备的启动模式,包括:网络设备获取到第一启动指示,根据预设规则确定网络设备的启动模式。预设规则用于指示优先以双区启动模式启动网络设备所在计算设备。由于网络设备基于双区启动模式进行启动,可以提高启动操作系统的可靠性。使网络设备优先以双区启动模式启动网络设备所在计算设备,可以确保启动操作系统的可靠性,以及增强网络设备的启动灵活性。
在另一种可能的实现方式中,当启动模式为双区启动模式时,启动第一存储区域的操作系统,包括:网络设备根据轮询方式在两个存储区域中确定第一存储区域,启动第一存储区域的操作系统。轮询方式用于指示依据集群管理系统发送的多个启动指示分别交替启动不同存储区域的操作系统。
例如,在网络设备根据第一启动指示启动第一存储区域的操作系统后,网络设备还可以获取的第二启动指示。第二启动指示与第一启动指示是集群管理系统发送的时序相邻的启动指示。第二启动指示用于指示网络设备启动网络设备所在的计算设备。网络设备根据第二启动指示确定网络设备的启动模式,当启动模式为双区启动模式时,启动网络设备的第二存储区域存储的网络设备的操作系统。
如此,通过轮询方式交替启动每个存储区域的操作系统,可以提升存储设备的使用寿命。
在另一种可能的实现方式中,当启动结果为启动失败时,网络设备启动两个存储区域中除第一存储区域以外的第二存储区域的操作系统。从而确保操作系统尽可能快地恢复,提升整个网络设备的可靠性以及用户体验,降低网络设备中断的时长对业务的影响。
在另一种可能的实现方式中,反馈启动响应,包括:通过网络设备与集群管理系统直连的通信网络向集群管理系统反馈启动响应。
在另一种可能的实现方式中,反馈启动响应,包括:通过网络设备所在的计算设备的通信接口与集群管理系统连接的通信网络向集群管理系统反馈启动响应。例如,网络设备通过PCIe总线向计算设备发送反馈启动响应,计算设备通过通信网络向集群管理系统反馈启动响应。
相对通过网络设备与集群管理系统直连的通信网络向集群管理系统反馈启动响应,通过计算设备内部的总线接口传输启动响应,可以提高启动响应的传输速度。
在另一种可能的实现方式中,网络设备启动操作系统后,还可以对操作系统进行升级。方法还包括:网络设备根据集群管理系统的升级指示对网络设备执行升级操作,并反馈操作系统的升级结果。由此,集群管理系统通过向计算设备发送升级指示,控制计算设备以及计算设备包含的网络设备的操作系统进行升级,并且计算设备反馈升级结果,从而解决了如何使集群管理系统与计算设备中网络设备进行关于升级操作的通信的问题,使集群管理系统与网络设备之间能够相互感知,实现了集群管理系统对集群中网络设备的升级管理。
在另一种可能的实现方式中,网络设备根据获取的升级指示确定网络设备的启动模式,当启动模式为双区启动模式时,升级两个存储区域中除第一存储区域以外的第二存储区域存储的网络设备的操作系统。第二存储区域为备用存储区域,用于同步或镜像存储第一存储区域存储的操作系统的数据。从而,网络设备基于两个存储区域的操作系统进行升级,可以提高升级操作系统的可靠性。
进而,当第二存储区域的操作系统升级成功时,对第一存储区域的操作系统执行升级操作。当第二存储区域的操作系统升级失败时,对第二存储区域的操作系统执行回滚操作。从而使两个存储区域存储的操作系统一致,确保操作系统数据同步,避免由于操作系统的数据误差导致发生应用程序的运行故障。
在另一种可能的实现方式中,网络设备包括微处理单元(Microprocessor Unit,MPU)、基本输入输出系统(Basic Input Output System,BIOS)和中央处理器(CentralProcessing unit,CPU)。微处理器,用于管理双区使能开关的状态,双区使能开关的状态指示了启动模式;基本输入输出系统,用于根据双区使能开关的状态确定网络设备的启动模式;中央处理器,用于以双区启动模式或单区启动模式启动网络设备的操作系统。从而,基于类服务器硬件(MCU、CPU、BIOS和MPU)实现以双区启动模式启动操作系统,除了能在EMMC介质上使用,还能在SSD,HDD等其它通用存储介质上使用,提升了方案的通用性。
需要说明的是,启动计算设备还包括启动计算设备的操作系统,及启动网络设备上运行的应用程序和计算设备上运行的应用程序。
另外,网络设备可以是DPU或智能网卡等用于实现设备间通信的设备。网络设备的操作系统可以以容器镜像方式存储于集群管理系统。从而,减少操作系统对集群管理系统的存储空间的占用率。
第二方面,提供了一种集群管理方法,集群中计算设备上的网络设备根据集群管理系统的升级指示对网络设备执行升级操作,并反馈操作系统的升级结果。由此,集群管理系统通过向计算设备发送升级指示,控制计算设备以及计算设备包含的网络设备的操作系统进行升级,并且计算设备反馈升级结果,从而解决了如何使集群管理系统与计算设备中网络设备进行关于升级操作的通信的问题,使集群管理系统与网络设备之间能够相互感知,实现了集群管理系统对集群中网络设备的升级管理。
在另一种可能的实现方式中,网络设备根据获取的升级指示确定网络设备的启动模式,当启动模式为双区启动模式时,升级两个存储区域中除第一存储区域以外的第二存储区域存储的网络设备的操作系统。第二存储区域为备用存储区域,用于同步或镜像存储第一存储区域存储的操作系统的数据。从而,网络设备基于两个存储区域的操作系统进行升级,可以提高升级操作系统的可靠性。
启动模式还可以包括单区启动模式。单区启动模式用于指示基于存储操作系统的一个存储区域启动操作系统的启动方式。
网络设备可以采用以下可能的两种方式确定启动模式。
在一种可能的示例中,根据获取的升级指示确定网络设备的启动模式,包括:网络设备获取到升级指示,根据升级指示包括的启动标识确定启动模式,即网络设备根据启动标识可以确定启动模式为双区启动模式和单区启动模式。从而,通过升级指示直接指示网络设备的启动模式,实现网络设备根据集群管理系统的指示进行升级,提升集群管理系统与网络设备之间感知程度。
在另一种可能的示例中,根据获取的升级指示确定网络设备的启动模式,包括:网络设备获取到升级指示,根据预设规则确定网络设备的启动模式。预设规则用于指示优先以双区启动模式升级网络设备所在计算设备。由于网络设备基于双区启动模式进行升级,可以提高升级操作系统的可靠性。使网络设备优先以双区启动模式升级网络设备所在计算设备,可以确保升级操作系统的可靠性,以及增强网络设备的升级灵活性。
在另一种可能的实现方式中,当启动模式为双区启动模式时,升级第二存储区域的操作系统,包括:当网络设备运行第一存储区域的操作系统时,网络设备根据轮询方式在两个存储区域中确定第二存储区域,升级第二存储区域的操作系统。轮询方式用于指示依据集群管理系统发送的多个启动指示分别交替启动不同存储区域的操作系统。
例如,网络设备根据获取的启动指示确定网络设备的启动模式,当启动模式为双区启动模式时,启动网络设备的第一存储区域存储的网络设备的操作系统。启动指示用于指示网络设备启动网络设备所在的计算设备。在网络设备根据启动指示启动第一存储区域的操作系统后,网络设备根据获取的升级指示确定网络设备的启动模式,当启动模式为双区启动模式时,升级网络设备的两个存储区域中除第一存储区域以外的第二存储区域存储的网络设备的操作系统。启动指示与升级指示是集群管理系统发送的时序相邻的启动指示。
如此,通过轮询方式交替启动每个存储区域的操作系统,可以提升存储设备的使用寿命。
进而,当第二存储区域的操作系统升级成功时,对第一存储区域的操作系统执行升级操作。当第二存储区域的操作系统升级失败时,对第二存储区域的操作系统执行回滚操作。从而使两个存储区域存储的操作系统一致,确保操作系统数据同步,避免由于操作系统的数据误差导致发生应用程序的运行故障。
在另一种可能的实现方式中,反馈升级响应,包括:通过网络设备与集群管理系统直连的通信网络向集群管理系统反馈升级响应。
在另一种可能的实现方式中,反馈升级响应,包括:通过网络设备所在的计算设备的通信接口与集群管理系统连接的通信网络向集群管理系统反馈升级响应。例如,网络设备通过PCIe总线向计算设备发送反馈升级响应,计算设备通过通信网络向集群管理系统反馈升级响应。
相对通过网络设备与集群管理系统直连的通信网络向集群管理系统反馈启动响应,通过计算设备内部的总线接口传输启动响应,可以提高启动响应的传输速度。
第三方面,提供了一种集群管理装置,包括通信模块和启动模块。启动模块用于根据集群管理系统的第一启动指示启动计算设备,包括启动网络设备的操作系统,通信模块用于反馈操作系统的启动结果。由此,集群管理系统通过向计算设备发送启动指示,控制计算设备以及计算设备包含的网络设备的操作系统进行启动,并且计算设备反馈启动结果,从而解决了如何使集群管理系统与计算设备中网络设备进行通信的问题,使集群管理系统与网络设备之间能够相互感知,实现了集群管理系统对集群中网络设备的启动管理。
在一种可能的实现方式中,网络设备包含了两个存储区域。集群管理装置还包括决策模块。决策模块用于根据获取的第一启动指示确定网络设备的启动模式,当启动模式为双区启动模式时,启动模块用于启动两个存储区域中的第一存储区域存储的网络设备的操作系统。双区启动模式用于指示基于存储操作系统的两个存储区域启动操作系统的启动方式。从而,网络设备基于两个存储区域的操作系统进行启动,可以提高启动操作系统的可靠性。
启动模式还可以包括单区启动模式。单区启动模式用于指示基于存储操作系统的一个存储区域启动操作系统的启动方式。
网络设备可以采用以下可能的两种方式确定启动模式。
在一种可能的示例中,决策模块根据获取的第一启动指示确定网络设备的启动模式时,具体用于获取到第一启动指示,根据第一启动指示包括的启动标识确定启动模式,即根据启动标识可以确定启动模式为双区启动模式和单区启动模式。从而,通过启动指示直接指示网络设备的启动模式,实现网络设备根据集群管理系统的指示进行启动,提升集群管理系统与网络设备之间感知程度。
在另一种可能的示例中,决策模块根据获取的第一启动指示确定网络设备的启动模式时,具体用于获取到第一启动指示,根据预设规则确定网络设备的启动模式。预设规则用于指示优先以双区启动模式启动网络设备所在计算设备。由于网络设备基于双区启动模式进行启动,可以提高启动操作系统的可靠性。使网络设备优先以双区启动模式启动网络设备所在计算设备,可以确保启动操作系统的可靠性,以及增强网络设备的启动灵活性。
在另一种可能的实现方式中,当启动模式为双区启动模式时,启动模块启动第一存储区域的操作系统时,具体用于根据轮询方式在两个存储区域中确定第一存储区域,启动第一存储区域的操作系统。轮询方式用于指示依据集群管理系统发送的多个启动指示分别交替启动不同存储区域的操作系统。
例如,根据第一启动指示启动第一存储区域的操作系统后,还可以获取的第二启动指示。第二启动指示与第一启动指示是集群管理系统发送的时序相邻的启动指示。第二启动指示用于指示网络设备启动网络设备所在的计算设备。决策模块还用于根据第二启动指示确定网络设备的启动模式,启动模块还用于当启动模式为双区启动模式时,启动网络设备的第二存储区域存储的网络设备的操作系统。
如此,通过轮询方式交替启动每个存储区域的操作系统,可以提升存储设备的使用寿命。
在另一种可能的实现方式中,当启动结果为启动失败时,启动模块还用于启动两个存储区域中除第一存储区域以外的第二存储区域的操作系统。从而确保操作系统尽可能快地恢复,提升整个网络设备的可靠性以及用户体验,降低网络设备中断的时长对业务的影响。
在另一种可能的实现方式中,通信模块反馈启动响应时,具体用于通过网络设备与集群管理系统直连的通信网络向集群管理系统反馈启动响应。
在另一种可能的实现方式中,通信模块反馈启动响应时,具体用于通过网络设备所在的计算设备的通信接口与集群管理系统连接的通信网络向集群管理系统反馈启动响应。例如,网络设备通过PCIe总线向计算设备发送反馈启动响应,计算设备通过通信网络向集群管理系统反馈启动响应。
相对通过网络设备与集群管理系统直连的通信网络向集群管理系统反馈启动响应,通过计算设备内部的总线接口传输启动响应,可以提高启动响应的传输速度。
在另一种可能的实现方式中,启动操作系统后,还可以对操作系统进行升级。装置还包括升级模块。升级模块用于根据集群管理系统的升级指示对网络设备执行升级操作,通信模块还用于反馈操作系统的升级结果。由此,集群管理系统通过向计算设备发送升级指示,控制计算设备以及计算设备包含的网络设备的操作系统进行升级,并且计算设备反馈升级结果,从而解决了如何使集群管理系统与计算设备中网络设备进行关于升级操作的通信的问题,使集群管理系统与网络设备之间能够相互感知,实现了集群管理系统对集群中网络设备的升级管理。
在另一种可能的实现方式中,决策模块还用于根据获取的升级指示确定网络设备的启动模式,升级模块用于当启动模式为双区启动模式时,升级两个存储区域中除第一存储区域以外的第二存储区域存储的网络设备的操作系统。第二存储区域为备用存储区域,用于同步或镜像存储第一存储区域存储的操作系统的数据。从而,网络设备基于两个存储区域的操作系统进行升级,可以提高升级操作系统的可靠性。
进而,当第二存储区域的操作系统升级成功时,升级模块还用于对第一存储区域的操作系统执行升级操作。当第二存储区域的操作系统升级失败时,升级模块还用于对第二存储区域的操作系统执行回滚操作。从而使两个存储区域存储的操作系统一致,确保操作系统数据同步,避免由于操作系统的数据误差导致发生应用程序的运行故障。
第四方面,提供了一种集群管理装置,包括通信模块和升级模块。升级模块用于根据集群管理系统的升级指示对网络设备执行升级操作,通信模块用于反馈操作系统的升级结果。由此,集群管理系统通过向计算设备发送升级指示,控制计算设备以及计算设备包含的网络设备的操作系统进行升级,并且计算设备反馈升级结果,从而解决了如何使集群管理系统与计算设备中网络设备进行关于升级操作的通信的问题,使集群管理系统与网络设备之间能够相互感知,实现了集群管理系统对集群中网络设备的升级管理。
在另一种可能的实现方式中,集群管理装置还包括决策模块。决策模块用于根据获取的升级指示确定网络设备的启动模式,当启动模式为双区启动模式时,升级模块用于升级两个存储区域中除第一存储区域以外的第二存储区域存储的网络设备的操作系统。第二存储区域为备用存储区域,用于同步或镜像存储第一存储区域存储的操作系统的数据。从而,网络设备基于两个存储区域的操作系统进行升级,可以提高升级操作系统的可靠性。
启动模式还可以包括单区启动模式。单区启动模式用于指示基于存储操作系统的一个存储区域启动操作系统的启动方式。
网络设备可以采用以下可能的两种方式确定启动模式。
在一种可能的示例中,决策模块根据获取的升级指示确定网络设备的启动模式时,具体用于获取到升级指示,根据升级指示包括的启动标识确定启动模式,即网络设备根据启动标识可以确定启动模式为双区启动模式和单区启动模式。从而,通过升级指示直接指示网络设备的启动模式,实现网络设备根据集群管理系统的指示进行升级,提升集群管理系统与网络设备之间感知程度。
在另一种可能的示例中,决策模块根据获取的升级指示确定网络设备的启动模式时,具体用于获取到升级指示,根据预设规则确定网络设备的启动模式。预设规则用于指示优先以双区启动模式升级网络设备所在计算设备。由于网络设备基于双区启动模式进行升级,可以提高升级操作系统的可靠性。使网络设备优先以双区启动模式升级网络设备所在计算设备,可以确保升级操作系统的可靠性,以及增强网络设备的升级灵活性。
在另一种可能的实现方式中,当启动模式为双区启动模式时,升级模块升级第二存储区域的操作系统时,具体用于当网络设备运行第一存储区域的操作系统时,根据轮询方式在两个存储区域中确定第二存储区域,升级第二存储区域的操作系统。轮询方式用于指示依据集群管理系统发送的多个启动指示分别交替启动不同存储区域的操作系统。
例如,根据获取的启动指示确定网络设备的启动模式,当启动模式为双区启动模式时,启动网络设备的第一存储区域存储的网络设备的操作系统。启动指示用于指示网络设备启动网络设备所在的计算设备。根据启动指示启动第一存储区域的操作系统后,根据获取的升级指示确定网络设备的启动模式,当启动模式为双区启动模式时,升级网络设备的两个存储区域中除第一存储区域以外的第二存储区域存储的网络设备的操作系统。启动指示与升级指示是集群管理系统发送的时序相邻的启动指示。
如此,通过轮询方式交替启动每个存储区域的操作系统,可以提升存储设备的使用寿命。
进而,当第二存储区域的操作系统升级成功时,升级模块还用于对第一存储区域的操作系统执行升级操作。当第二存储区域的操作系统升级失败时,升级模块还用于对第二存储区域的操作系统执行回滚操作。从而使两个存储区域存储的操作系统一致,确保操作系统数据同步,避免由于操作系统的数据误差导致发生应用程序的运行故障。
在另一种可能的实现方式中,通信模块反馈升级响应时,具体用于通过网络设备与集群管理系统直连的通信网络向集群管理系统反馈升级响应。
在另一种可能的实现方式中,通信模块反馈升级响应时,具体用于通过网络设备所在的计算设备的通信接口与集群管理系统连接的通信网络向集群管理系统反馈升级响应。例如,网络设备通过PCIe总线向计算设备发送反馈升级响应,计算设备通过通信网络向集群管理系统反馈升级响应。
相对通过网络设备与集群管理系统直连的通信网络向集群管理系统反馈启动响应,通过计算设备内部的总线接口传输启动响应,可以提高启动响应的传输速度。
第五方面,提供了一种网络设备,所述网络设备用于执行第一方面或第一方面任一种可能设计中的集群管理方法的相应操作步骤,或者执行第二方面或第二方面任一种可能设计中的集群管理方法的相应操作步骤。
第六方面,提供一种计算设备,该计算设备包括至少一个处理器、存储器和网络设备,存储器用于存储一组计算机指令;当网络设备执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的集群管理方法的操作步骤,或者执行第二方面或第二方面任一种可能设计中的集群管理方法的操作步骤。
第七方面,提供一种计算系统,该计算系统包括存储器和如第五方面所述的网络设备,存储器用于存储一组计算机指令;当网络设备执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的集群管理方法的操作步骤,或者执行第二方面或第二方面任一种可能设计中的集群管理方法的操作步骤。
第八方面,提供一种计算机集群,计算机集群包括集群管理系统和计算设备,计算设备包含如第五方面所述的网络设备;当网络设备接收到集群管理系统发送的指示时,执行第一方面或第一方面任一种可能实现方式中的集群管理方法的操作步骤,或者执行第二方面或第二方面任一种可能设计中的集群管理方法的操作步骤。
第九方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在网络设备中运行时,使得网络设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤,或者执行第二方面或第二方面任一种可能设计中的集群管理方法的操作步骤。
第十方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤,或者执行第二方面或第二方面任一种可能设计中的集群管理方法的操作步骤。
第十一方面,提供一种芯片系统,该芯片系统包括处理器,用于实现上述第一方面或第二方面的方法中网络设备的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请实施例提供的一种计算机集群的示意图;
图2为本申请实施例提供的一种操作系统启动方法的流程示意图;
图3为本申请实施例提供的一种操作系统升级方法的流程示意图;
图4为本申请实施例提供的一种DPU的结构示意图;
图5为本申请实施例提供的一种操作系统启动过程示意图;
图6为本申请实施例提供的一种集群管理装置的结构示意图;
图7为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
为了便于描述,首先对本申请所涉及的术语进行解释。
数据处理单元(data process unit,DPU),是一种数据中心数据处理专用处理器。DPU具备以下特征:1)DPU是一种高性能及软件可编程的多核处理器,通常基于已应用广泛的高级精简指令集计算机器(advanced reduced instruction set computing machines,ARM)架构与(System on Chip,SOC)组件密切配合实现高性能计算能力;2)高性能网络接口,能以线速或网络中的可用速度解析、处理数据,并高效地将数据传输到中央处理器(central processing unit,CPU)或图形处理器(graphics processing unit,GPU);3)各种灵活和可编程的加速引擎,可以卸载人工智能、机器学习、安全、电信和存储等应用,并提升性能。所有这些功能对于实现安全的、裸性能的、原生云计算的下一代云上大规模计算至关重要。
双区,是指DPU中存储器的两个存储区域,上述两个存储区域可以被配置为主备关系,每个层次区域分别用于存储DPU的操作系统基础组件。DPU的操作系统可以是根据DPU的应用场景定制的一种缩减版操作系统,包含了通用操作系统的部分功能,其中,通用操作系统与裁剪版操作系统相对,也称为完整版操作系统。例如,操作系统用于支撑DPU的卸载功能。操作系统(operating system,OS)也提供一个用户与系统交互的操作界面。操作系统基础组件至少包括磁盘引导程序(如grub)、内核镜像和初始根文件系统(initrd)。双区启动模式是一种基于两个存储操作系统的存储区域实现操作系统启动的方式。
集群,也可称为计算机集群(computer cluster)。计算机集群是指一组松散或紧密连接在一起工作的计算机,通常用于执行大型作业。部署集群通常是通过并发度提升总体性能,比速度或可用性相当的单台计算机的成本效益要高。计算机集群中的各个计算设备之间通过网络相互连接,每个计算设备运行自己的操作系统实例。在大多数情况下,每台计算设备使用相同的硬件和相同的操作系统,在某些情况下,也可以在不同的硬件上使用不同的操作系统。DPU可以安装在计算机集群中的计算设备上,由集群管理系统指示DPU的操作系统进行启动。
作业,是指客户端提交的大数据业务。作业可以切分为多个任务(task),多个任务分发给多个计算设备,由多个计算设备并行执行多个任务,所有任务结束时标志一个作业完成。任务一般是一个作业中对一部分数据或者分阶段的处理过程,所有任务经过调度并行或串行完成。
为了解决集群管理系统对计算设备中的网络设备启动过程中存在的缺陷,本申请实施例提供一种集群管理方法,尤其是提供一种集群中计算设备的网络设备的启动管理的技术。网络设备根据集群管理系统的第一启动指示启动计算设备,包括启动网络设备的操作系统,并反馈操作系统的启动结果。由此,集群管理系统通过向计算设备发送启动指示,控制计算设备以及计算设备包含的网络设备的操作系统进行启动,并且计算设备反馈启动结果,从而解决了如何使集群管理系统与计算设备中网络设备进行通信的问题,使集群管理系统与网络设备之间能够相互感知,实现了集群管理系统对集群中网络设备的启动管理。其中,网络设备包含了两个存储区域,两个存储区域配置了相同类型的操作系统。网络设备根据获取的第一启动指示确定网络设备的启动模式,启动模式包括双区启动模式和单区启动模式。双区启动模式用于指示基于存储操作系统的两个存储区域启动操作系统的启动方式。单区启动模式用于指示基于存储操作系统的一个存储区域启动操作系统的启动方式。当启动模式为双区启动模式时,启动两个存储区域中的第一存储区域存储的网络设备的操作系统。从而,网络设备基于两个存储区域的操作系统进行启动,可以提高启动操作系统的可靠性。
在本申请实施例中,网络设备是指DPU或智能网卡等用于实现设备间通信的设备。以下以网络设备是DPU为例进行说明。
下面结合附图详细介绍本申请提供的集群管理方法。图1为本申请实施例提供的一种计算机集群100的示意图。如图1所示,计算机集群100包括多个计算设备,如计算设备110A、计算设备110B、计算设备110C、计算设备110D和计算设备110E。每个计算设备可以是一个独立的服务器,也可以是服务器上的一个虚拟机等。多个计算设备之间通过网络120互联。网络120可以是指企业内部通信网络(如:局域网((Local Area Network,LAN))或互联网(Internet)。这些计算设备用于提供计算资源。每个计算设备可以包含多个处理器或处理器核,每个处理器或者处理核可能是一个计算资源,则一个计算设备可以提供多个计算资源。
计算机集群100还包含集群管理系统130。集群管理系统130用于实现业务管理(如:作业拆分及任务分发)和DPU管理(如:操作系统部署、状态监控)等管理功能。集群管理系统130包含一个或多个控制设备131,由控制设备131实现集群管理系统130对计算机集群100的管理功能。控制设备131也连接到网络120。控制设备131上安装有集群管理平台1311,用户操作集群管理平台1311,控制设备131用于控制提交给计算机集群100的作业拆分,例如将一个作业拆分成多个任务分配给不同的计算设备执行。本申请实施例中,集群管理平台包含但不限于K8S或openStack等。
计算机集群100可通过多种方式获取待处理的作业。本实施例不限定提交作业的位置,也不限定用户提交作业的具体机制。示例地,如图1所示,客户端150安装有客户端程序151,客户端150运行客户端程序151显示一种集群管理平台的用户界面(userinterface,UI),用户140可以操作用户界面,客户端150通过网络160向计算机集群100发送大数据业务的业务请求,请求计算机集群100对业务请求包含的业务数据进行分布式处理。客户端150指连入网络160的计算机,也可称为工作站(workstation)。不同的客户端可以共享网络上的资源(如:计算资源、存储资源)。网络160可以是指互联网(Internet)。一个作业可能包含多个计算任务,这些任务可以分配给多个计算资源执行。大多数任务是并发或并行执行的,而有一些任务则需要依赖于其他任务所产生的数据。本实施例对任务的数量,以及可以并行执行的任务数据不予限制。
在一个计算机集群中,通常有多个作业等待执行。如果单个作业的处理过程占用过多的计算资源,就可能会影响其他作业的性能。因此,控制设备131可以控制分配给待执行的作业的计算资源,使得高优先级作业能够优先被执行。控制设备131可以监控作业的执行状态,并且根据策略改变对该作业的资源分配。例如,控制设备131可以通过访问数据库132中的信息以获取该策略。除了策略之外,数据库132中还存储有每个执行的作业和等待执行的作业的配置文件,这些配置文件可以指示作业的处理时间等信息。
在一些实施例中,计算机集群100包括的计算设备上还可以设置DPU111,DPU111用于替代网卡,实现网卡的功能以加速数据处理,提高数据传输速率。此外,DPU111还用于处理一些业务数据(如:大数据业务数据),提高数据处理速率。例如DPU111以板卡形式插于计算设备的外围部件互连标准(Peripheral Component Interconnect Express,PCIe)接口上。DPU111通过PCIe总线或计算快速链接(Compute Express Link,CXL)或统一总线(unified bus,UB或UBus)连接计算设备。系统管理员170可以通过客户端150调用应用平台接口(application platform interface,API)152或命令行界面(command-lineinterface,CLI)接口153控制启动计算设备上DPU的操作系统等。
在一些实施例中,计算设备中DPU的操作系统可以以容器镜像方式存储于集群管理系统130,从而减少操作系统对集群管理系统的存储空间的占用率。计算机集群100包含的多个计算设备的DPU被配置相同的操作系统,不同的计算设备的DPU也可配置不同的操作系统。
需要说明的是,本申请实施例所述的DPU也可以替换为智能网卡等其他芯片或处理器,控制设备131对智能网卡芯片实现管理功能。其中,处理器可以通过中央处理单元(central processing unit,CPU)实现,也可以通过专用集成电路(application-specificintegrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(genericarray logic,GAL),片上系统(system on chip,SoC)或其任意组合。
值得说明的是,图1所示的计算设备的处理器中通用操作系统和DPU中运行的操作系统。
接下来,结合附图对本申请实施例提供的集群管理的实施方式进行详细说明。
结合图2对计算机集群中启动计算设备的过程进行说明。假设计算机集群100包含的多个计算设备的DPU包含两个存储区域,两个存储区域被配置相同类型的操作系统。上述两个存储区域可以被配置为主备关系,且数据同步方式实现两个存储区域存储的数据一致性。控制设备131控制计算机集群100中多个计算设备进行启动,包含计算设备上DPU的操作系统进行启动。本申请实施例提供的计算设备启动方法包括以下步骤。
步骤210、控制设备131发送启动指示。
启动指示用于指示启动DPU所在的计算设备,包括启动DPU的操作系统和参数配置,其中,参数配置可以包括操作系统的参数配置、DPU上运行的应用程序的参数配置等计算设备相关参数的配置。下面主要对启动DPU的操作系统和启动DPU上运行的应用程序进行说明。启动计算设备的通用操作系统和启动计算设备上运行的应用程序的过程可以参考启动DPU的过程。
控制设备131可以广播启动指示,也可以向每个DPU或DPU所在的计算设备发送启动指示。
例如,不同的计算设备上的DPU被配置不同的操作系统,比如,第一计算设备上的DPU被配置第一操作系统,第二计算设备上的DPU被配置第二操作系统,第一操作系统的功能和第二操作系统的功能可以不同。这样,控制设备131可以分别向每种操作系统的一个或多个DPU发送启动指示。
又如,不同的计算设备上的DPU被配置相同的操作系统,比如,第一计算设备上的DPU被配置第一操作系统,第二计算设备上的DPU被配置第一操作系统。控制设备131可以分别向每个DPU发送一个启动指示,或者向多个DPU广播启动指示。
在一些实施例中,控制设备131与计算设备上的DPU通过通信网络(如:网络120)直连,则控制设备131可以通过与计算设备上的DPU直连的通信网络向DPU发送启动指示。如图2中带箭头实线所示。
在另一些实施例中,控制设备131通过与计算设备连接的通信网络(如:网络120)向计算设备发送启动指示,计算设备通过PCIe总线、CXL总线或UB总线中任意一种向所包含的DPU发送启动指示。如图2中带箭头虚线所示。为了便于描述,以下实施例以PCIe总线为例进行说明。
步骤220、DPU判断启动模式。
启动指示可以指示DPU以双区启动模式启动DPU的操作系统或指示DPU以单区启动模式启动DPU的操作系统。
在一种可能的示例中,启动指示包含启动标识。启动标识的不同取值代表了不同的启动模式。DPU可以根据启动指示包含的启动标识判断启动模式。例如,启动标识的取值为1,表示以双区启动模式启动DPU的操作系统;启动标识的取值为0,表示以单区启动模式启动DPU的操作系统。
DPU获取到启动指示后,根据启动指示确定启动模式为双区启动模式时,执行步骤230;根据启动指示确定启动模式为单区启动模式时,执行步骤240。
可选地,如果启动指示未指示启动模式,则DPU可以根据预设规则确定DPU的启动模式。例如,预设规则用于指示优先以双区启动模式启动DPU所在计算设备。当DPU确定计算设备已配置两个存储区域分别存储操作系统时,则以双区启动模式启动DPU所在计算设备。又如,当DPU确定计算设备未配置两个存储区域分别存储操作系统时,则以单区启动模式启动DPU所在计算设备。又如,当DPU确定计算设备配置两个存储区域分别存储操作系统时,则也可以单区启动模式启动DPU所在计算设备。
步骤230、DPU根据双区启动模式启动DPU的操作系统。
双区启动模式用于指示基于存储操作系统的两个存储区域启动操作系统的启动方式。比如,DPU根据轮询方式启动DPU的操作系统。轮询方式用于指示依据集群管理系统发送的多个启动指示分别交替启动不同存储区域的操作系统。可理解的,DPU根据启动指示基于两个存储区域的操作系统交替启动。
示例地,DPU包含第一存储区域和第二存储区域。DPU接收到集群管理系统发送的第一启动指示,根据获取的第一启动指示判断DPU的启动模式。当启动模式为双区启动模式时,执行步骤231,启动第一存储区域存储DPU的操作系统。之后,DPU接收到集群管理系统发送的第二启动指示,DPU根据第二启动指示判断DPU的启动模式。当启动模式为双区启动模式时,执行步骤232,启动第二存储区域存储DPU的操作系统。第一启动指示和第二启动指示是集群管理系统发送的时序相邻指示的启动指示。
又示例地,DPU包含多个存储区域,如第一存储区域、第二存储区域和第三存储区域。DPU接收到集群管理系统发送的第一启动指示,根据获取的第一启动指示判断DPU的启动模式。当启动模式为双区启动模式时,启动第一存储区域存储DPU的操作系统。之后,DPU接收到集群管理系统发送的第二启动指示,DPU根据第二启动指示判断DPU的启动模式。当启动模式为双区启动模式时,启动第二存储区域存储DPU的操作系统。DPU接收到集群管理系统发送的第三启动指示,DPU根据第三启动指示判断DPU的启动模式。当启动模式为双区启动模式时,启动第三存储区域存储DPU的操作系统。第一启动指示、第二启动指示和第三启动指示是集群管理系统发送的时序相邻指示的启动指示。
作为一种可能的实施例,当从第一存储区域启动操作系统失败时,启动第二存储区域的操作系统。第二存储区域为双区启动模式中计算设备中存储操作系统的两个存储区域中除第一存储区域以外的存储区域。
第一存储区域的操作系统启动失败,DPU反馈启动失败响应,执行步骤250。DPU还可以重启第一存储区域的操作系统,或者,DPU执行步骤260,即DPU启动第二存储区域的操作系统。如此,在DPU的操作系统启动失败的情况下,DPU可以启动另一个存储区域的操作系统,操作系统的生命周期管理过程中尽可能快地启动操作系统,恢复DPU支持的业务,运行应用程序,提升整个DPU系统的可靠性。
需要说明的是,第二存储区域的操作系统启动失败时,DPU反馈启动失败响应和启动第一存储区域的操作系统的这两个步骤可以异步进行,从而提升DPU恢复操作系统和业务的速率,以及及时地给集群管理系统上报DPU的状态。
步骤240、DPU根据单区启动模式启动DPU的操作系统。
单区启动模式用于指示基于存储操作系统的一个存储区域启动操作系统的启动方式。比如,DPU基于一个存储区域的操作系统进行启动。DPU包含第一存储区域和第二存储区域,第一存储区域和第二存储区域被配置相同类型的操作系统,第一存储区域为主存储区域,第二存储区域为备存储区域。DPU每次启动第一存储区域的操作系统。也即,虽然计算设备配置了两个分区分别用于存储待启动的操作系统,但是,也可以通过单区启动模式,启动指定存储区域的操作系统。
可选地,DPU仅包含一个用于存储操作系统的存储区域,此时,以单区启动模式启动DPU中该存储区域的操作系统。
步骤250、DPU反馈启动响应。
DPU可以通过DPU与控制设备131连接的通信网络(如:网络120)向控制设备131反馈启动响应;或者,DPU通过PCIe总线向DPU所在的计算设备反馈启动响应,计算设备通过与控制设备131连接的通信网络(如:网络120)向控制设备131反馈启动响应。
在一些实施例中,如图2所示,DPU111包含集群代理模块111a和部署代理模块111b。集群代理模块111a,用于识别控制设备131发送的DPU的管理指示(如:启动指示、升级指示),以及向控制设备131反馈管理结果,实现DPU111与控制设备131之间相互感知的功能。部署代理模块111b,用于在DPU中部署操作系统等功能。可选地,集群代理模块111a和部署代理模块111b也可以分离部署。比如,集群代理模块111a部署在DPU所在的计算设备,部署代理模块111b部署在DPU111。集群代理模块111a和部署代理模块111b也可以集中部署在DPU,例如,在DPU的微处理单元上部署集群代理模块111a和部署代理模块111b。
启动响应,用于指示启动DPU所在计算设备的结果,包括DPU的操作系统的启动结果。启动响应可以是启动成功响应或启动失败响应。例如,DPU启动操作系统超时,则DPU启动操作系统失败。比如,DPU启动操作系统超过1分钟或30秒,表示DPU启动操作系统超时。其中,超时时间可以根据业务需求进行设置,也可以根据DPU的操作系统启动的历史时长进行确定,例如,根据历史时长计算每次操作系统启动的平均时长。
以上图2主要解释了如何启动DPU的操作系统,在操作成功后,还可以进一步配置参数。例如,DPU配置DPU上运行的应用程序的参数以及计算设备上运行的应用程序的参数等计算设备相关参数。
本申请实施例提供集群中DPU的操作系统启动管理方案,集群管理系统可以控制集群中DPU的操作系统启动或升级,DPU的操作系统启动失败或启动成功时,可以快速地反馈给集群管理系统,使集群管理系统监控到DPU的操作系统的运行状态,实现了集群管理系统对集群中的DPU进行统一管理的功能,提升DPU的操作系统的管理和运维效率。
作为一种可能的实施例,除了集群管理系统通过DPU实现对DPU所在计算设备的启动管理外,为了修复操作系统的缺陷、增强操作系统的功能和提升用户体验,对操作系统进行升级。集群管理系统可以通过DPU执行计算设备的升级操作。以下以升级操作为升级操作系统为例进行说明。升级操作可以根据业务需求周期性执行,或者,在操作系统发生故障时进行升级。由于升级操作系统时,操作系统会出现短暂的中断,进而对业务产生中断影响。通常在系统闲时(如夜间)对操作系统进行升级,尽量降低对业务产生中断的影响。操作系统升级可以是操作系统启动的一种具体场景。
图3为本申请实施例提供的一种操作系统升级方法的示意图。操作系统升级的过程包含以下步骤。
步骤310、控制设备131发送升级指示。
升级指示,用于指示计算节点执行升级操作,升级操作包括对操作系统、参数、固件(Firmware,FW)等计算节点的软件和/或硬件的升级处理。升级指示可以包含新版本的操作系统。关于控制设备131发送升级指示的方式参考上述步骤210中控制设备131发送启动指示的阐述。
步骤320、DPU判断启动模式。
升级指示可以指示DPU以双区启动模式启动DPU的操作系统或指示DPU以单区启动模式启动DPU的操作系统。关于DPU判断启动模式的方法参考上述步骤220中DPU判断启动模式的阐述。
DPU获取到升级指示后,确定启动模式为双区启动模式时,执行步骤330;确定启动模式为单区启动模式时,执行步骤340。
步骤330、DPU根据双区启动模式升级DPU的操作系统。
双区启动模式用于指示基于存储操作系统的两个存储区域启动操作系统的启动方式。比如,DPU根据轮询方式升级DPU的操作系统。关于DPU根据轮询方式升级DPU的操作系统的方法参考上述步骤230中DPU根据轮询方式启动DPU的操作系统的阐述。
假设DPU运行第一存储区域的操作系统时,根据升级指示对第二存储区域的操作系统进行升级,即用新版本的操作系统替换第二存储区域存储的旧版本的操作系统,启动新版本的操作系统。可理解的是,对操作系统升级前,两个存储区域被配置了相同类型的操作系统;对操作系统升级后,一个存储区域存储了旧版本的操作系统,另一个存储区域存储了新版本的操作系统。
如此,在DPU的操作系统升级失败的情况下,DPU可以重启第一存储区域的操作系统,操作系统的生命周期管理过程中尽可能快地启动操作系统,恢复DPU支持的业务,运行应用程序,提升整个DPU系统的可靠性。
步骤340、DPU根据单区启动模式升级DPU的操作系统。
单区启动模式用于指示基于存储操作系统的一个存储区域启动操作系统的启动方式。比如,DPU基于一个存储区域的操作系统进行升级。DPU包含第一存储区域和第二存储区域,第一存储区域和第二存储区域被配置相同类型的操作系统,第一存储区域为主存储区域,第二存储区域为备存储区域。DPU每次升级第一存储区域的操作系统。也即,虽然计算设备配置了两个分区分别用于存储待升级的操作系统,但是,也可以通过单区启动模式,升级指定存储区域的操作系统。
可选地,DPU仅包含一个用于存储操作系统的存储区域,此时,以单区启动模式升级DPU中该存储区域的操作系统。
步骤350、DPU反馈升级响应。
升级响应可以是升级成功响应或升级失败响应。关于DPU反馈升级响应的方法参考上述步骤250中DPU反馈启动响应的阐述。
假设DPU对第二存储区域的操作系统进行升级,若第二存储区域的操作系统升级成功,即将第二存储区域存储的旧版本的操作系统更新为新版本的操作系统,DPU反馈升级成功响应。DPU还可以执行主备倒换操作。例如,若第一存储区域为主存储区域,第二存储区域为备存储区域,即将第二存储区域设置为主存储区域,将第一存储区域设置为备存储区域。进而,DPU基于第二存储区域的操作系统运行在先基于第一存储区域的操作系统运行的业务,再升级主备倒换后的第一存储区域的操作系统。例如DPU执行步骤360,DPU更新第一存储区域的操作系统。DPU将新版本的操作系统拷贝到第一存储区域,从而使第一存储区域存储的操作系统与第二存储区域存储的操作系统保持一致,以便于后续对DPU的操作系统的操作。
若第二存储区域的操作系统升级失败,即未将第二存储区域存储的旧版本的操作系统更新为新版本的操作系统,DPU反馈升级失败响应。DPU还可以对第二存储区域的操作系统进行回滚操作。例如DPU执行步骤370,回滚第二存储区域的操作系统。回滚(Rollback),也可以称为升级回滚,是指在程序或数据处理错误时,将程序或数据恢复到上一次正确状态的行为。例如,将回滚指示包含的旧版本的操作系统拷贝到第二存储区域,从而,使第二存储区域存储的操作系统与第一存储区域存储的操作系统保持一致,以便于后续对DPU的操作系统的操作。
在另一种可能的实现方式中,升级指示用于指示网络设备执行存储分区的操作系统的升级操作。
假设DPU对第二存储区域的操作系统进行升级,若第二存储区域的操作系统升级成功,DPU还可以接收控制设备131发送的更新指示,根据更新指示更新第一存储区域的操作系统。例如,将更新指示包含的新版本的操作系统拷贝到第一存储区域,从而,使第一存储区域存储的操作系统与第二存储区域存储的操作系统保持一致,以便于后续对DPU的操作系统的操作。
若第二存储区域的操作系统升级失败,DPU还可以接收控制设备131发送的回滚指示,根据回滚指示更新第二存储区域的操作系统。DPU还可以重启第一存储区域的操作系统。DPU升级操作系统失败时,重启第一存储区域存储的旧版本的操作系统,DPU运行应用程序,提升整个DPU系统的可靠性。DPU升级操作系统失败包括但不限于升级超时,例如新版本的操作系统存在缺陷或DPU不支持运行新版本的操作系统等。
在一种可能的实现方式中,DPU包括看门狗(watchdog),看门狗又称为看门狗定时器(watchdog timer),用于监控DPU的操作系统启动过程,防止程序发生死循环。
示例地,图4为本申请实施例提供的一种DPU的结构示意图。DPU111包括微控制单元(Microcontroller Unit,MCU)112、微处理单元(Microprocessor Unit,MPU)113、看门狗定时器114、基本输入输出系统(Basic Input Output System,BIOS)115、中央处理器(Central Processing unit,CPU)116、内存单元117和存储器118。MCU 112、MPU 113、看门狗定时器114、BIOS 115、CPU 116、内存单元117和存储器118通过总线119互联。
MPU 113用于管理双区使能开关的状态,双区使能开关的状态指示了启动模式。当双区使能开关指示的状态为开启时,BIOS 115可根据双区使能开关指示的状态确定启动模式为双区启动模式,并选择指定存储区域启动操作系统。当双区使能开关指示的状态为关闭时,BIOS115可根据双区使能开关指示的状态确定启动模式为单区启动模式,可按照预设规则启动操作系统。MPU 113存储了双区使能开关的状态和关联的启动模式。例如,MPU 113执行图2中步骤220。
在一种可能的实现方式中,MPU 113根据启动标识更新双区使能开关的状态。例如,双区使能开关的状态为关闭,启动标识指示双区启动模式,则MPU 113将双区使能开关的状态指示的关闭更新为开启。又如,双区使能开关的状态为开启,启动标识指示单区启动模式,则MPU 113将双区使能开关的状态指示的开启更新为关闭。
看门狗定时器通常包含一个输入端,即喂狗(kicking the dog/service thedog)端,一个输出端,即复位(reset)端。看门狗定时器114可以连接MPU 113。MPU 113正常工作时,每隔一段时间输出一个信号到喂狗端,看门狗定时器清零,如果超过预设时长不喂狗(一般在程序跑飞时),即看门狗定时器114超时,输出一个复位信号到MPU 113,使MPU113复位,防止MPU 113死机。看门狗定时器114可以设置在MPU 113的内部也可以设置在MPU113外部,对看门狗定时器114的设置位置不予限定。看门狗定时器114的功能可以是软件实现也可以是硬件实现。
CPU 116用于根据双区启动模式或单区启动模式启动DPU111的操作系统和应用程序。例如,CPU 116加载BIOS 115,运行MPU 113指示的存储区域的操作系统,检测到MCU 112记录的硬件状态,及跳过启动MCU 112,从而能够实现系统的快速启动。硬件状态,如支持应用程序运行的硬件的相关信息和外设信息等。外设可以是PCIe总线的信息。例如,CPU 116执行图2中步骤230、步骤240或步骤260。
存储器118包含了存储双区使能开关的状态和启动模式的相关信息,以及两个存储区域的操作系统。内存单元117用于临时存储DPU运行的操作系统程序。
图5为本申请实施例提供的一种操作系统启动过程示意图。图5是对图2中DPU的启动过程中各个阶段的阐述。用户操作集群管理平台1311,控制设备131接收用户操作。控制设备131向DPU111发送启动操作系统的指示或升级操作系统的指示。①DPU111接收到启动指示或升级指示,②MPU 113根据启动指示或升级指示更新双区使能开关的状态。例如,MPU113根据启动标识判断双区使能开关的状态。
若双区使能开关的状态为开启,③BIOS 115确定启动模式为双区启动模式。④BIOS115确定启动操作系统的备存储区域,BIOS 115根据MPU 113的指示启动备存储区域的操作系统。在启动备存储区域的操作系统的过程中,由看门狗定时器114监控启动时长。
若双区使能开关的状态为关闭,⑥BIOS 115根据单区启动模式启动主存储区域的操作系统。CPU 116用于加载BIOS 115的程序,运行MPU 113指示的主存储区域的操作系统,检测到硬件状态,由于MCU 112存储了硬件状态,跳过MCU 112启动,根据硬件状态运行应用程序,从而能够实现系统的快速启动。
⑤若备存储分区的操作系统启动成功,CPU 116用于加载BIOS 115的程序,运行MPU 113指示的备存储区域的操作系统,检测到硬件状态,由于MCU 112存储了硬件状态,跳过MCU 112启动,根据硬件状态运行应用程序,从而能够实现系统的快速启动。
⑦若备存储分区的操作系统启动失败,看门狗定时器114控制MPU 113复位。MPU113接收硬件状态,使能CPU 116复位。用户也可以采用双区切换命令(dboot-tools)更新双区使能开关的状态,以及控制看门狗定时器114复位启动MPU 113。
可选地,用户也可以在集群管理系统的用户界面上操作,集群管理系统获取用户指示的复位(reboot)命令,使DPU执行上述实施例所述的启动计算设备和升级计算设备的操作步骤。
可理解的是,可以通过修改linux内核的热启动(warm reboot)框架,即增加PCIe链路等硬件状态记录功能。用户采用复位(reboot)命令触发启动计算设备或升级计算设备,系统启动后linux内核文件节点/sys/kernel/reboot/mode的值为热(warm),MPU可以检测到PCIe链路等硬件状态的信息,BIOS也会跳过这类硬件或者外设的初始化,从而加速系统的启动时间,实现系统的快速启动。例如,启动计算设备或升级计算设备从3分钟优化到1.5分钟以内。
可以理解的是,为了实现上述实施例中的功能,计算设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
上文中结合图1至图5,详细描述了根据本实施例所提供的集群管理方法,下面将结合图6,描述根据本实施例所提供的集群管理装置。
图6为本实施例提供的可能的集群管理装置的结构示意图。这些集群管理装置可以用于实现上述方法实施例中DPU的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该集群管理装置可以是如图2或图3所示的DPU 111,还可以是应用于计算设备的模块(如芯片)。
如图6所示,集群管理装置600包括通信模块610、决策模块620、启动模块630、升级模块640和存储模块650。集群管理装置600用于实现上述图2或图3中所示的方法实施例中DPU 111的功能。
通信模块610用于获取启动指示并反馈启动响应,以及获取升级指示并反馈升级响应。启动指示用于指示启动DPU111所在的计算设备,包含启动DPU111的操作系统。升级指示用于指示升级DPU111所在的计算设备,包含升级DPU111的操作系统。启动响应用于指示DPU111所在的计算设备的启动结果。升级响应用于指示DPU111所在的计算设备的升级结果。例如,通信模块610用于执行图2中步骤210和步骤250。又如,通信模块610用于执行图3中步骤310、步骤350、步骤360和步骤380。
决策模块620用于确定DPU111的启动模式。例如,决策模块620具体用于根据启动指示包含的启动标识确定DPU111的启动模式。又如,决策模块620用于根据预设规则确定DPU111的启动模式。例如,决策模块620用于执行图2中步骤220。又如,决策模块620用于执行图3中步骤320。
启动模块630用于响应启动指示,启动DPU111的操作系统。当启动模式为双区启动模式时,根据双区启动模式启动操作系统。双区启动模式用于指示基于存储所述操作系统的两个存储区域启动操作系统的启动方式。例如,启动模块630用于执行图2中步骤230、步骤240和步骤260。
升级模块640用于响应升级指示,升级DPU111的操作系统。当启动模式为双区启动模式时,根据双区启动模式升级操作系统。例如,升级模块640用于执行图3中步骤330、步骤340,步骤370、步骤390和步骤3100。
存储模块650可以对应上述方法实施例中用于存储操作系统、双区使能开关的状态和双区启动模式等信息。
应理解的是,本申请实施例的集群管理装置600可以通过DPU实现。根据本申请实施例的集群管理装置600可对应于执行本申请实施例中描述的方法,并且集群管理装置600中的各个单元的上述和其它操作和/或功能分别为了实现图2或图3中的各个方法的相应流程,为了简洁,在此不再赘述。
图7为本实施例提供的一种计算设备700的结构示意图。如图所示,计算设备700包括处理器710、总线720、存储器730、内存单元750(也可以称为主存(main memory)单元)和网络设备740。处理器710、存储器730、内存单元750和网络设备740通过总线720相连。
应理解,在本实施例中,处理器710可以是CPU,该处理器710还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
网络设备740用于实现计算设备700与外部设备或器件的通信。在本实施例中,网络设备740用于与其他计算设备进行数据交互。例如,网络设备740可以是智能网卡或DPU。
作为一种可能的实现方式,网络设备740结构可以参见图4所示的DPU111的逻辑结构,并分别用于实现如图5所示的方法中各个主体所执行的功能,为了简洁,在此不再赘述。
总线720可以包括一通路,用于在上述组件(如处理器710、内存单元750和存储器730)之间传送信息。总线720除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线720。总线720可以是快捷外围部件互连标准(Peripheral Component Interconnect Express,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。
作为一个示例,计算设备700可以包括多个处理器。处理器可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。处理器710可以调用存储器730存储的操作系统、双区启动模式和双区使能开关的状态等信息,启动计算设备700或升级计算设备700。
值得说明的是,图7中仅以计算设备700包括1个处理器710和1个存储器730为例,此处,处理器710和存储器730分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
内存单元750可以对应上述方法实施例中用于存储计算设备的操作系统等信息的存储介质。内存单元750可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
存储器730用于存储新版本的操作系统或旧版本的操作系统,可以是固态硬盘或机械硬盘。
应理解,上述计算设备700可以是集群中的一个计算设备。根据本实施例的计算设备700的网络设备740可对应于本实施例中的集群管理装置600,并可以对应于执行根据图2图3中的相应主体,并且集群管理装置600中的各个模块的上述和其它操作和/或功能分别为了实现图2或图3中的相应流程,为了简洁,在此不再赘述。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
本申请还提供一种芯片系统,该芯片系统包括处理器,用于实现上述方法中数据处理单元的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (13)

1.一种集群管理方法,其特征在于,所述方法由连接集群管理系统的网络设备执行,所述方法包括:
根据获取的第一启动指示确定所述网络设备的启动模式,所述第一启动指示用于指示所述网络设备启动所述网络设备所在的计算设备;
当所述启动模式为双区启动模式时,启动第一存储区域存储的所述网络设备的操作系统,所述双区启动模式用于指示基于存储所述操作系统的两个存储区域启动所述操作系统的启动方式,所述第一存储区域为所述两个存储区域中一个存储区域;
反馈启动响应,所述启动响应用于指示所述操作系统的启动结果。
2.根据权利要求1所述的方法,其特征在于,根据获取的第一启动指示确定所述网络设备的启动模式,包括:
获取所述第一启动指示,所述第一启动指示包括启动标识;
根据所述启动标识确定所述启动模式,所述启动模式包含所述双区启动模式和单区启动模式,所述单区启动模式用于指示基于存储操作系统的一个存储区域启动所述操作系统的启动方式。
3.根据权利要求1所述的方法,其特征在于,根据获取的第一启动指示确定所述网络设备的启动模式,包括:
获取所述第一启动指示;
根据预设规则确定所述网络设备的启动模式,所述预设规则用于指示优先以所述双区启动模式启动所述网络设备所在计算设备。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述当所述启动模式为双区启动模式时,启动第一存储区域的操作系统,包括:
根据轮询方式在所述两个存储区域中确定所述第一存储区域,所述轮询方式用于指示依据所述集群管理系统发送的多个启动指示分别交替启动不同存储区域的操作系统;
启动所述第一存储区域的操作系统。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据获取的第二启动指示确定所述网络设备的启动模式,所述第二启动指示用于指示所述网络设备启动所述网络设备所在的计算设备,且所述第二启动指示与所述第一启动指示是所述集群管理系统发送的时序相邻的启动指示;
当所述启动模式为双区启动模式时,启动所述网络设备的第二存储区域存储的所述网络设备的所述操作系统。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述启动结果为启动失败时,启动所述第二存储区域的所述操作系统,所述第二存储区域为所述双区启动模式中所述网络设备中存储所述操作系统的两个存储区域中除所述第一存储区域以外的存储区域。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取升级指示,所述升级指示用于指示所述网络设备执行升级操作;
确定所述网络设备的启动模式;
当所述启动模式为双区启动模式时,升级第二存储区域存储的所述网络设备的操作系统,所述第二存储区域为所述双区启动模式中所述网络设备中存储所述操作系统的两个存储区域中除所述第一存储区域以外的存储区域,所述第二存储区域为备用存储区域;
反馈升级响应,所述升级响应用于指示所述操作系统的升级结果。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述第二存储区域的操作系统升级成功时,对所述第一存储区域的操作系统执行升级操作。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述第二存储区域的操作系统升级失败时,对所述第二存储区域的操作系统执行回滚操作。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述网络设备为数据处理单元DPU或智能网卡。
11.根据权利要求10所述的方法,其特征在于,所述网络设备包括微处理器MPU、基本输入输出系统BIOS和中央处理器CPU,所述方法包括;
所述MPU,用于管理双区使能开关的状态,所述双区使能开关的状态指示了所述启动模式;
所述BIOS,用于根据所述双区使能开关的状态确定所述网络设备的启动模式;
所述CPU,用于以双区启动模式或单区启动模式启动所述网络设备的操作系统。
12.一种网络设备,其特征在于,包括微处理器、基本输入输出系统和中央处理器;所述微处理器、所述基本输入输出系统和所述中央处理器分别用于实现上述权利要求1-11中任一项所述的方法的操作步骤。
13.一种计算系统,其特征在于,所述计算系统包括存储器和如权利要求12所述的网络设备,所述存储器用于存储一组计算机指令;当所述网络设备执行所述一组计算机指令时,执行上述权利要求1-11中任一项所述的方法的操作步骤。
CN202210326025.5A 2021-12-27 2022-03-30 集群管理方法、设备及计算系统 Pending CN116360865A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/142188 WO2023125482A1 (zh) 2021-12-27 2022-12-27 集群管理方法、设备及计算系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2021116117496 2021-12-27
CN202111611749 2021-12-27

Publications (1)

Publication Number Publication Date
CN116360865A true CN116360865A (zh) 2023-06-30

Family

ID=86915056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210326025.5A Pending CN116360865A (zh) 2021-12-27 2022-03-30 集群管理方法、设备及计算系统

Country Status (2)

Country Link
CN (1) CN116360865A (zh)
WO (1) WO2023125482A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932332A (zh) * 2023-08-08 2023-10-24 中科驭数(北京)科技有限公司 Dpu运行状态监控方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792106B1 (en) * 2014-08-04 2017-10-17 Cisco Technology, Inc. Technique for fast network device configuration upgrade and reload
US10127055B2 (en) * 2015-10-16 2018-11-13 Quanta Computer Inc. iSCSI based bare metal OS image deployment and diskless boot
US11201785B1 (en) * 2020-05-26 2021-12-14 Dell Products L.P. Cluster deployment and management system
CN113312092A (zh) * 2020-07-27 2021-08-27 阿里巴巴集团控股有限公司 启动方法、系统以及装置
CN112486522A (zh) * 2020-12-17 2021-03-12 济南浪潮数据技术有限公司 含智能网卡OpenStack裸机的部署方法及装置
CN113282342A (zh) * 2021-05-14 2021-08-20 北京首都在线科技股份有限公司 部署方法、装置、系统、电子设备和可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932332A (zh) * 2023-08-08 2023-10-24 中科驭数(北京)科技有限公司 Dpu运行状态监控方法及装置
CN116932332B (zh) * 2023-08-08 2024-04-19 中科驭数(北京)科技有限公司 Dpu运行状态监控方法及装置

Also Published As

Publication number Publication date
WO2023125482A1 (zh) 2023-07-06

Similar Documents

Publication Publication Date Title
US8046520B2 (en) Compound computer system and method for sharing PCI devices thereof
US8375363B2 (en) Mechanism to change firmware in a high availability single processor system
JP5032191B2 (ja) サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム
JP4487920B2 (ja) ブート制御方法および計算機システム並びにその処理プログラム
US7188237B2 (en) Reboot manager usable to change firmware in a high availability single processor system
US20060184653A1 (en) System and method for creating and managing virtual services
US20090144720A1 (en) Cluster software upgrades
JP4359609B2 (ja) 計算機システム、システムソフトウェア更新方法及び第1サーバ装置
JP6840099B2 (ja) サービス提供システム、資源割り当て方法、及び資源割り当てプログラム
CN109656742B (zh) 一种节点异常处理方法、装置及存储介质
WO2005057318A2 (en) Method and an apparatus for controlling executables running on blade servers
US20040083404A1 (en) Staged startup after failover or reboot
US10942831B2 (en) Automating and monitoring rolling cluster reboots
US20210406127A1 (en) Method to orchestrate a container-based application on a terminal device
EP1943593B1 (en) Methods and apparatus for automatically multi-booting a computer system
CN116521209B (zh) 操作系统的升级方法及装置、存储介质及电子设备
CN113448686A (zh) 一种资源部署方法、装置、电子设备及存储介质
WO2002084487A2 (en) Method and apparatus for performing failure recovery in a java platform
WO2023125482A1 (zh) 集群管理方法、设备及计算系统
CN111538585A (zh) 一种基于node.js的服务器进程调度方法、系统和装置
CN111124749A (zh) 紧耦合高性能计算机系统bmc系统自动修复方法及修复系统
EP1815333A1 (en) Migration of tasks in a computing system
JP3690666B2 (ja) マルチコンピュータシステム
JP2000222376A (ja) 計算機システムとその運用方法
JP5632403B2 (ja) タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication