CN109815043A - 故障处理方法、相关设备及计算机存储介质 - Google Patents
故障处理方法、相关设备及计算机存储介质 Download PDFInfo
- Publication number
- CN109815043A CN109815043A CN201910074067.2A CN201910074067A CN109815043A CN 109815043 A CN109815043 A CN 109815043A CN 201910074067 A CN201910074067 A CN 201910074067A CN 109815043 A CN109815043 A CN 109815043A
- Authority
- CN
- China
- Prior art keywords
- pcie
- fault
- pcie device
- virtual machine
- treating apparatus
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims description 24
- 238000004891 communication Methods 0.000 claims abstract description 78
- 238000012545 processing Methods 0.000 claims description 84
- 230000006870 function Effects 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 17
- 230000008439 repair process Effects 0.000 claims description 13
- 230000004888 barrier function Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000013024 troubleshooting Methods 0.000 abstract description 10
- 238000007726 management method Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 23
- 238000011144 upstream manufacturing Methods 0.000 description 13
- 238000012423 maintenance Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 231100001160 nonlethal Toxicity 0.000 description 1
- 230000032696 parturition Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0745—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了故障处理方法,包括:故障处理装置接收第一PCIe链路上的第一PCIe设备产生的第一硬件故障信息,该第一硬件故障信息包括所述第一PCIe设备的设备标识,用于指示第一PCIe设备发生硬件故障。进一步故障处理装置根据第一硬件故障信息对第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与第一PCIe设备相关的软件业务。通过实施本发明实施例,能够解决现有***复位的故障处理方案中存在的业务中断、影响设备业务的正常通信等问题,从而保证了设备业务通信的可靠性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及故障处理方法、相关设备及计算机存储介质。
背景技术
随着计算机技术的不断发展,计算机(也可称计算设备)硬件和软件均得以快速提升。由于计算设备的许多***设备均是高速串行计算机扩展总线标准(peripheralcomponent interconnect express,PCIe)设备。随着***设备数量的增多,PCIe设备出现故障的概率就越大。
目前,当PCIe设备出现故障时,计算设备直接采用对整个PCIe总线***进行复位的方法实现PCIe设备的故障修复。这样会影响计算设备业务的正常通信,导致软件业务中断。
发明内容
本发明实施例公开了故障处理方法、相关设备及计算机存储介质,能够解决现有技术中存在的直接复位带来的业务中断等问题,从而提升了故障处理的可靠性。
第一方面,本发明实施例公开提供了一种故障处理方法,所述方法包括:故障处理装置接收第一PCIe链路上的第一PCIe设备产生的第一硬件故障信息,该第一硬件故障信息用于指示第一PCIe设备发生硬件故障,第一硬件故障信息包括第一PCIe设备的设备标识。该故障处理装置可根据第一硬件故障信息对第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与第一PCIe设备相关的软件业务。
通过实施本发明实施例,能够解决现有***复位方案中存在的业务中断、影响设备业务的正常通信等问题,从而保障了设备业务通信的可靠性。
在第一方面的一种可能的实施方式中,故障处理装置在中断与第一PCIe设备相关的软件业务时,不中断与第二PCIe设备相关的软件业务,该第二PCIe设备位于PCIe总线***中与第一PCIe链路不同的第二PCIe链路上。换句话说,第二PCIe设备为PCIe总线***中不同于第一PCIe设备的任一个或多个PCIe设备。
通过执行本实施步骤,故障处理装置仅对出现硬件故障的第一PCIe设备相关的软件业务进行中断,并不隔离其他运行正常的PCIe设备相关的软件业务,从而有效保障了业务通信的高可靠性。
在第一方面的另一种可能的实施方式中,故障处理装置在中断与第一PCIe设备相关的软件业务后,故障处理装置可接收根复合体发送的携带第一PCIe设备的设备标识的硬件故障修复成功信息。进一步故障处理装置可根据该故障修复成功信息恢复与第一PCIe设备相关的软件业务。
通过执行本实施步骤,在故障修复成功后故障处理装置能够恢复或重新运行第一PCIe设备相关的软件业务,从而恢复装置的正常业务通信。
在第一方面的另一种可能的实施方式中,故障处理装置根据第一硬件故障信息对第一PCIe设备进行故障修复之前,故障处理装置可根据第一硬件故障信息携带的第一PCIe设备的设备标识,确定第一PCIe设备为并行处理器。该并行处理器是指具备计算能力、数据处理能力的设备,例如GPU、FPGA等。
在第一方面的另一种可能的实施方式中,故障处理装置确定第一PCIe设备为并行处理器时,故障处理装置可根据第一PCIe设备的设备标识,确定使用第一PCIe设备的至少一个虚拟机,并通知使用该第一PCIe设备的至少一个虚拟机停止使用与第一PCIe设备相关的数据处理业务。以第一PCIe设备为GPU为例,故障处理装置确定使用GPU的至少一个虚拟机,并通知每个虚拟机停止使用GPU相关的图像处理业务。具体的,故障处理装置可通过向虚拟机发送第一通知消息的形式,告知该虚拟机停止运行第一PCIe设备相关的数据处理业务。
通过执行本实施步骤,故障处理装置可按照PCIe设备的具体分类来中断该PCIe设备相关的软件业务。例如该PCIe设备设备为并行处理器时,该PCIe设备相关的软件业务为数据处理业务。
在第一方面的另一种可能的实施方式中,故障处理装置可根据故障修复成功信息中携带的第一PCIe设备的设备标识,确定使用第一PCIe设备的至少一个虚拟机,并通知使用该第一PCIe设备的至少一个虚拟机进行重启以恢复与第一PCIe设备相关的数据处理业务。具体的,故障处理装置可通过第二通知消息的形式,告知各虚拟机重启并恢复第一PCIe设备相关的数据处理业务。
通过执行本实施步骤,故障处理装置可按照PCIe设备的具体分类来重新恢复该PCIe设备相关的软件业务。例如该PCIe设备设备为并行处理器时,该PCIe设备相关的软件业务为数据处理业务。从而保证该数据处理业务的正常运行和处理。在第一方面的另一种可能的实施方式中,故障处理装置接收第一硬件故障信息之前,故障处理装置还可记录第一PCIe链路上的所有PCIe设备的寄存器中存储的状态信息。该状态用于指示PCIe设备运行时的信息,例如运行是否正常、运行时产生的数据等。相应地在故障处理装置对第一PCIe链路进行修复时,故障处理装置可对第一PCIe链路上的所有PCIe设备的下游端口进行复位,以使得第一PCIe链路上的所有PCIe设备对应的寄存器恢复为初始状态,例如将寄存器中存储的状态信息清0等。进一步复位后,故障处理装置可将之前第一PCIe设备未发生故障前所记录的状态信息重新写入至寄存器中,以保证复位后第一PCIe链路上的所有PCIe设备保持在第一PCIe设备未发生硬件故障前的状态。可选地,故障处理装置在确定第一PCIe设备发生硬件故障(或接收第一硬件故障信息)后,故障处理装置可关闭第一PCIe链路上的所有PCIe设备的故障上报功能,以停止产生硬件故障中断信号,该硬件故障中断信号用于产生第一硬件故障信息。可选地,在故障处理装置对第一PCIe链路修复后,故障处理装置可开启第一PCIe链路上的所有PCIe设备的故障上报功能,以便后续在任意PCIe设备发生故障时,上报相应地硬件故障中断信号。
通过执行本实施步骤,故障处理装置可根据PCIe设备的分类对该PCIe设备以及PCIe设备所在的PCIe链路进行故障修复,从而实现业务的正常通信和运行。在第一方面的另一种可能的实施方式中,故障处理装置根据第一硬件故障信息携带的第一PCIe设备的设备标识,可确定该第一PCIe设备为网卡。该网卡是指具备数据转发、传输功能的设备,例如PCI网卡等。在第一方面的另一种可能的实施方式中,故障处理装置可根据第一PCIe设备的设备标识,确定使用该第一PCIe设备的至少一个虚拟机,并通知使用该第一PCIe设备的至少一个虚拟机停止使用与第一PCIe设备相关的数据交换业务。以第一PCIe设备为PCI网卡为例,故障处理装置可通知使用该PCI网卡的每个虚拟机,停止使用该PCI网卡进行数据传输。具体的,故障处理装置可通过第三通知消息的形式,告知各虚拟机停止运行第一PCIe设备相关的数据交换业务。
通过执行本实施步骤,故障处理装置可按照PCIe设备的具体分类来中断复该PCIe设备相关的软件业务。例如该PCIe设备设备为网卡时,该PCIe设备相关的软件业务为数据交换业务。
在第一方面的另一种可能的实施方式中,故障处理装置在接收故障修复成功信息后,可根据该故障修复成功信息中携带的第一PCIe设备的设备标识,确定使用第一PCIe设备的至少一个虚拟机,并通知该使用第一PCIe设备的至少一个虚拟机进行重启以恢复与第一PCIe设备相关的数据交换业务。具体的,故障处理装置可通过第四通知消息的形式,告知各虚拟机重新运行第一PCIe设备相关的数据交换业务。
通过执行本实施步骤,故障处理装置可按照PCIe设备的具体分类来重新恢复该PCIe设备相关的软件业务。例如该PCIe设备设备为网卡时,该PCIe设备相关的软件业务为数据交换业务。从而保证该数据交换业务的正常运行和处理。
在第一方面的另一种可能的实施方式中,故障处理装置在对第一PCIe链路进行故障修复时,具体可控制根复合体停止和第一PCIe设备通信,例如停止向第一PCIe设备发送心跳信号。进一步控制根复合体与第一PCIe设备进行链路协商,并在链路协商成功时,控制根复合体与第一PCIe设备通信,例如控制根复合体向第一PCIe设备发送心跳信号。可选地,在故障处理装置接收第一硬件故障信息时,可关闭第一PCIe链路上的所有PCIe设备的故障上报功能,以停止产生硬件故障中断信号,该硬件故障中断信号用于产生第一硬件故障信息。可选地,故障处理装置在故障修复后,可重新开启第一PCIe链路上的所有PCIe设备的故障上报功能。
通过执行本实施步骤,故障处理装置可根据PCIe设备的分类对该PCIe设备以及PCIe设备所在的PCIe链路进行故障修复,从而实现业务的正常通信和运行。
在第一方面的另一种可能的实施方式中,故障处理装置还可接收根复合体发送的携带第一PCIe设备的设备标识的硬件故障修复失败信息。进一步该故障处理装置可根据硬件故障修复失败信息,对第一PCIe设备所在的PCIe总线***上的所有PCIe设备进行复位,以实现第一PCIe链路的故障修复。
通过执行本实施步骤,故障处理装置在确定PCIe链路修复失败后,通过***复位的方式进一步实现PCIe链路的故障修复,以保证业务的正常运行通信,保证业务通信的可靠性。
在第一方面的另一种可能的实施方式中,故障处理装置在接收第一硬件故障信息后,可向云管理平台发送第五通知信息,该第五通知信息用于通知云管理平台停止对使用第一PCIe设备相关的至少一个虚拟机的管理。
在第一方面的另一种可能的实施方式中,故障处理装置在第一PCIe链路的故障修复成功后,故障处理装置可向云管理平台发送第六通知信息,该第六通知信息用于通知云管理平台恢复对使用第一PCIe设备相关的至少一个虚拟机的管理。可选地,故障处理装置在第一PCIe链路的故障修复失败后,可向云管理平台发送第七通知信息,该第七通知信息和第一通知信息相同,携带有第一PCIe设备的设备标识或者携带有使用该第一PCIe设备的至少一个虚拟机各自的设备标识等。用于通知云管理平台停止对使用第一PCIe设备相关的至少一个虚拟机进行管理,例如停止对虚拟机的运营维护、停止新建该第一PCIe设备相关的虚拟机等等。
通过执行本步骤,故障处理装置可通过云管理平台对PCIe设备相关的虚拟机进行管理,例如停止/重启虚拟机的运营维护等等,从而提升了虚拟机管理的可靠性。
第二方面,本发明实施例提供了一种故障处理装置,所述装置包括用于执行如上第一方面或第一方面的任意可能的实施方式中所描述的方法的功能模块或单元。
第二方面或第二方面的任一种可能的实施方式的技术效果与第一方面或第一方面的任一种可能的实施方式类似,于此不作赘述。
第三方面,本发明实施例提供了一种故障处理装置,包括:处理器,存储器,通信接口和总线;处理器、通信接口、存储器通过总线相互通信;通信接口,用于接收和发送数据;存储器,用于存储指令;处理器,用于调用存储器中的指令,执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法。
第四方面,提供了一种计算机非瞬态(non-transitory)存储介质,所述计算机非瞬态存储介质存储了用于故障处理的程序代码。所述程序代码包括用于执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法的指令。
第五方面,提供了一种芯片产品,以执行上述第一方面或第一方面的任意可能的实施方式中的方法。
本发明在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种云管理***的框架示意图。
图2是本发明实施例提供的一种计算设备的框架示意图。
图3是本发明实施例提供的另一种计算设备的框架示意图。
图4是本发明实施例提供的一种故障处理方法的流程示意图。
图5是本发明实施例提供的一种故障处理装置的结构示意图。
图6是本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
首先,介绍本发明涉及的一些技术概念或技术术语。
PCIe设备的设备标识,指用于在PCIe总线***区别或表示PCIe设备的标识符。该设备标识具体可为为总线-设备-功能(bus device funciton,BDF)标识。
故障中断信号,指计算设备在检测到硬件或软件出现故障错误后产生的一种告警信号,用于提示计算设备出现异常。可选地,该故障中断信号可携带有计算设备的设备标识、计算设备出现故障的故障类型以及具体故障等信息。
在实际应用中,故障中断信号具体可包括消息信号中断(message signaledinterrupt,MSI)信号、不可屏蔽中断(non maskable interrupt,NMI)信号、下游端口控制(downstream port containment,DPC)中断信号或者其他用于提示计算设备出现故障错误的中断信号等等,本发明实施例并不做限定。
接着,为解决现有故障处理方案中存在的业务中断、无法提供正常的业务通信等问题,本发明提出一种故障处理方法、所述方法适用的网络框架以及相关设备。请参见图1,是本发明实施例提供的一种云管理***的网络框架示意图。如图1所示的云管理***包括:云管理平台1000、客户端2000以及资源池4000。云管理平台1000、客户端2000以及资源池4000分别连接至网络3000,可通过网络3000实现通信。其中,
资源池4000中包括多个计算设备(也可称为宿主机或服务器),云管理平台1000可查询每个计算设备的可用资源,如计算资源、网络资源以及存储资源,从而在计算设备上创建符合客户端2000需求的虚拟机。
资源池4000中的每个计算设备都设置有虚拟机管理器。云管理平台1000可与每个计算设备的虚拟机管理器进行通信,以对该计算设备中创建的虚拟机进行管理,例如管理虚拟机的生命周期、定期维护虚拟机、停止或启用虚拟机的相关软件业务等等。
云管理平台1000可例如为Openstack或VMware vCenter,支持提供基础设施即服务(infrastructure as a service,IAAS)等服务应用。客户端2000可例如为个人电脑或平板电脑。在另外一些示例中,云管理平台1000也可作为一个子***设置在资源池4000的一个计算设备内。
请参见图2,是本发明实施例提供的一种计算设备的结构示意图。该计算设备可为上述资源池4000中的任一计算设备。以计算设备1为例,如图2示出的计算设备1具体可包括:软件层10和硬件层20。其中,软件层10包括有计算设备1的操作***(operatingsystem,OS)101以及至少一个虚拟机,图示以一个虚拟机102为例示出。软件层10还可包括基本输入输出***(Basic Input Output System,BIOS)103。该操作***101中部署有虚拟机管理器(virtual machine monitor,VMM)1011和故障修复模块1012。硬件层20包括CPU201、内存202、根复合体(root complex)203、PCIe交换机204以及PCIe设备组205,该PCIe设备组中包括一个或多个PCIe设备,图示以两个PCIe设备:GPU 2051以及GPU 2052为例示出。GPU 2051与PCIe交换机204通信,GPU 2052直接与根复合体203通信。其中,
虚拟机管理器1011用于实现虚拟机的管理,例如根据云管理平台的实际需求在计算设备1中创建至少一个虚拟机,或者根据实际业务需求停止或启用虚拟机的相关软件业务等。在实际应用中,该虚拟机管理器具体可由VMM、libirt、qemu、以及nova等组件实现。
可选地,在本发明其他实施例中虚拟机管理器也可以通过hypervisor实现。
可选地,虚拟机管理器1011可以访问PCIe总线***,查询PCIe总线***中各设备的相关参数,如设备标识、硬件规格、设备的物理地址等。该PCIe总线***具体可包括图示硬件层20中的所有设备。其中,PCIe总线***中的每个设备对应有一个寄存器。虚拟机管理器1011可对PCIe总线***中各设备的寄存器进行配置,以获得寄存器中存储的状态信息。该状态信息用于记录设备运行时的信息,例如设备当前运行是否出现故障、设备运行时产生的数据信息等。此外,虚拟机管理器1011还可与云管理平台1000通信,以根据云管理平台的实际需求在计算设备1中创建相应的虚拟机,并管理创建的虚拟机。
进一步,虚拟机管理器1011可以查询到PCIe总线***的拓扑结构,其拓扑结构具体如下:根复合体203下包括第一PCIe链路和第二PCIe链路,第一PCIe链路包括PCIe交换机204和GPU2051,第二PCIe链路包括GPU2052。由于虚拟机管理器1011可查询PCIe总线***的所有PCIe设备的设备标识,因此可根据一个PCIe设备的设备标识,可获取该PCIe设备所在的PCIe链路的其他PCIe设备的设备标识。
故障修复模块1012用于对计算设备1中出现硬件故障的PCIe设备或PCIe链路进行故障修复。在实际应用中,该故障修复模块102具体可包括高级错误报告(advanced errorreporting,AER)模块和/或下游端口控制(downstream port containment,DPC)模块。具体的,在计算设备1支持DPC功能时,该故障修复模块可包括DPC模块和AER模块。反之,在计算设备1不支持DPC功能时,该故障修复模块具体可为AER模块。关于故障修复模块如何实现PCIe链路或PCIe设备的故障修复,具体在本发明下文进行详述。
在一些示例中,虚拟机管理器1011和故障修复模块1012可以第三方软件的形式设置在操作***101中,或者部分设置在操作***101内、部分设置在操作***101外,本发明实施例不做限定。
可选地,故障修复模块1012也可设置在虚拟机管理器1011中,本发明实施例对此不做限定。
虚拟机(图示为虚拟机102)具体可为虚拟机管理器1011在接收到云管理平台1000发送的虚拟机创建指令而创建的,该虚拟机创建指令携带有所需创建的虚拟机的资源需求,该资源需求包括虚拟机所需的处理器、硬盘、内存、网络等要求,还需包括PCIe设备组中的PCIe设备的设备标识,例如图示中GPU 2051的设备标识或者GPU 2052的设备标识等,以将该PCIe设备分配给该虚拟机使用。该虚拟机的数量并不做限定,图示仅以一个虚拟机102为例示出,并不构成限定。相应地,虚拟机管理器在完成每个虚拟机的创建后,还可保存该虚拟机和该虚拟机中部署的PCIe设备之间的对应关系,例如以表格的形式建立有PCIe设备的设备标识(BDF)和使用该PCIe设备的虚拟机的虚拟机标识(VM id)之间的对应关系等,便于后续虚拟机管理器根据该对应关系,确定使用该PCIe设备对应的一个或多个虚拟机。其中,一个PCIe设备可对应有一个或多个虚拟机,每个虚拟机对应部署一个或多个PCIe设备,本发明并不做限定。
如图,虚拟机102中包括处理器GPU 101’、硬盘(图未示)、内存(图未示)、网络(图未示)、操作***1022以及基本输入输出***(basic input output system,BIOS)1023。其中,虚拟机管理器1011对PCIe设备进行虚拟化可获得虚拟化的PCIe设备,例如图示中对GPU2051进行虚拟化可获得GPU 2051’。而硬盘、内存、网络也是由虚拟机管理器1011对计算设备1的对应硬件进行虚拟化获得,操作***1022以及BIOS1023则由虚拟机管理器1011模拟获得,本发明不做限定。
硬件层20中的各设备可通过PCIe总线连接,形成PCIe总线***。例如图示中,CPU201、内存202、根复合体203、PCIe交换机204、GPU 2051以及GPU 2052之间通过PCIe总线连接,形成PCIe总线***。硬件层20中的任意两个设备之间的通信链路,也称为PCIe链路。
PCIe设备组205包括至少一个PCIe设备,该PCIe设备作为PCIe协议中定义的PCIe终端(Endpoint,EP),其可包括但不限于现场可编程门阵列(field-programmable gatearray,FPGA)、图形处理器(graphics processing unit,GPU)以及芯片(例如1822芯片)等设备。图中以GPU 2051以及GPU 2052为例示出。
其中,PCIe设备组中的任一PCIe设备可通过PCIe交换机204与根复合体203通信。例如图示中GPU 2051可通过PCIe交换机204与根复合体203通信。可选地,PCIe设备组中的PCIe设备还可直接与根复合体203通信,例如图示中GPU 2052可直接与根复合体203通信。可选地,当与PCIe交换机存在通信的PCIe设备有多个时,该多个PCIe设备中的任意两个PCIe设备可通过PCIe交换机204相互通信,图未示出。
进一步地,根复合体203还设置有根端口(root point,RP)2031和根端口2032,PCIe交换机204设置有上游端口2041以及下游端口2042。其中,根端口2031与上游端口2041连接,下游端口2042与GPU 2051连接,根端口2032与GPU 2052连接。
本发明中,PCIe交换机的数量并不做限定。图示以一个PCIe交换机204为例示出。PCIe交换机204连接一个PCIe设备组205。可选地,如图3示出的另一种计算设备的结构示意图。如图3中以两个PCIe交换机为例,PCIe交换机204还设置有一个下游端口2043,该PCIe交换机204通过下游端口2043与PCIe交换机206通信,该PCIe交换机206同样可连接一个PCIe设备组207。如图所示,根复合体204下包括4个PCIe链路。具体的,第一PCIe链路包括PCIe交换机204和GPU2051,第二PCIe链路包括GPU2052,第三PCIe链路包括PCIe交换机204、交换机206和GPU2071,第四PCIe链路包括PCIe交换机204、交换机206和GPU2072。其中,图示以PCIe设备组207包括FPGA2071和芯片2072为例示出,关于PCIe交换机206和PCIe设备组207具体可参见前述图2所述实施例中的相关阐述,本发明并不做限定。
基于前述实施例,下面阐述本发明涉及的故障处理方法。请参见图4,是本发明实施例提供的一种故障处理方法的流程示意图。如图4所示的故障处理方法应用在如上图2或图3所示的计算设备中,该方法包括如下实施步骤:
步骤S402、故障处理装置接收第一PCIe链路上的第一PCIe设备产生的第一硬件故障信息,该第一硬件故障信息用于指示第一PCIe设备发生硬件故障,该第一硬件故障信息包括有第一PCIe设备的设备标识。
本发明中,故障处理装置在检测到第一PCIe链路发生异常时,可生成硬件故障中断信号,该硬件故障中断信号用于获取第一硬件故障信息,该第一硬件故障信息携带有发生硬件故障的第一PCIe设备的设备标识。具体存在以下几种实施方式。
第一种,故障处理装置在开始运行时,可加载支持与该故障处理装置通信的所有PCIe设备。当第一PCIe设备发生硬件故障时,可向故障处理装置发送故障包,该故障包用于通知故障处理装置与其通信的PCIe链路(或PCIe设备)出现异常。相应地,故障处理装置在接收到该故障包后,可对支持与该故障处理装置通信的所有PCIe链路上的PCIe设备进行故障检测,以获得第一硬件故障信息,该第一硬件故障信息中包括发生硬件故障的第一PCIe设备。可选地,还可包括该第一PCIe设备的故障类型、发生的具体故障以及第一PCIe设备的通信端口等故障信息。进一步故障处理装置可生成硬件故障中断信号,该硬件故障中断信号携带有第一硬件故障信息。相应地,故障处理装置在接收该硬件故障中断信号后,可解析该硬件故障中断信号获得该第一PCIe设备的设备标识。
第二种,故障处理装置可通过心跳包的方式检测发生故障的第一PCIe链路以及第一PCIe链路上的第一PCIe设备。具体的,故障处理装置通过第一PCIe链路与第一PCIe设备相互通信,第一PCIe设备可周期性向故障处理装置发送心跳包,以保持第一PCIe设备和故障处理装置之间的相互通信。相应地,故障处理装置若在一个周期时长内未接收到第一PCIe设备发送的心跳包,则可确定第一PCIe设备发生了硬件故障。相应地故障处理装置在确定到第一PCIe设备发生硬件故障后,可生成硬件故障中断信号,该硬件故障中断信号携带有第一PCIe设备的设备标识,用于通知第一PCIe设备发生硬件故障。可选地,故障处理装置获取硬件故障中断信号后,可检测获得第一硬件故障信息,该第一硬件故障信息包括但不限于第一PCIe设备的故障类型以及具体故障等故障信息。
本发明涉及的硬件故障中断信号是指用于通知PCIe设备发生硬件故障的中断信号,其可包括但不限于NMI中断信号、DPC中断信号、MSI中断信号或者其他的中断信号等。
举例来说,参考如图2所示的计算设备结构示意图,以硬件故障中断信号为DPC中断信号、第一PCIe设备为GPU2051、第一PCIe链路为PCIe交换机204与GPU2051之间的通信链路为例。在计算设备支持DPC功能时,故障处理装置通过PCIe交换机204的下游端口2042检测到第一PCIe链路异常时,具体的,下游端口2042接收到GPU2051发送的故障包、或者在预设周期时长内没接收到GPU2051发送的心跳包。则故障处理装置可生成DPC硬件故障中断信号,其中该DPC中断信号携带有第一硬件故障信息,该第一硬件故障信息用于指示发生硬件故障的第一PCIe设备的设备标识,这里即GPU2051。进一步故障处理装置可将该DPC中断信号发送给故障处理装置的故障修复模块(这里具体可为上文中的DPC模块),便于DPC模块依据第一硬件故障信息对第一PCIe链路进行故障修复。
又如,参考图2所示的计算设备结构示意图,以硬件故障中断信号为NMI中断信号、第一PCIe设备为GPU2052、第一PCIe链路为根端口2031与GPU2051之间的通信链路为例。在计算设备不支持DPC功能时,任意PCIe设备发生硬件故障后,可向根复合体203发送故障报告消息,该故障报告消息携带PCIe设备的故障类型以及PCIe设备的设备标识等信息。以第一PCIe设备发生硬件故障为例,第一PCIe设备可向根复合体203发送故障报告消息。相应地,根复合体203接收该故障报告消息后,可将消息中携带的第一PCIe设备的设备标识以及故障类型等信息写入到根复合体对应的寄存器中。并生成SMI中断信号,用于通知与该根复合体203通信的PCIe设备发生硬件故障。即是,故障处理装置通过根复合体203检测到第一PCIe链路发生异常,则控制根复合体生成SMI中断信号,并将该SMI中断信号上报给计算设备的BIOS。计算设备的BIOS接收该SMI中断信号后,可对支持与该根复合体203通信的所有PCIe设备进行故障检测,以获得第一硬件故障信息,该第一硬件故障信息中包括发生硬件故障的第一PCIe设备的设备标识,可选地还可包括第一PCIe设备的故障类型以及具体故障等故障信息。具体的,计算设备的BIOS获得SMI中断信号后,可调用预设函数(例如ghes_notify_nmi函数)访问通用硬件错误资源(generic hardware error source,GHES)数据结构,以获得第一硬件故障信息。其中该GHES数据结构中定义并记载了各PCIe设备可能发生的硬件错误。
进一步BIOS***可生成NMI中断信号,并将NMI中断信号发送给故障处理装置中的故障修复模块(这里具体可为上文中的AER模块)。其中NMI中断信号中携带有第一硬件故障信息。便于AER模块根据NMI中断信号中携带的第一硬件故障信息,对第一PCIe链路进行故障修复。
又如,参考图2所示的计算设备结构示意图,以硬件故障中断信号为MSI中断信号、第一PCIe设备为GPU2052、第一PCIe链路为根端口2031与GPU2051之间的通信链路为例。在计算设备不支持DPC功能时,故障处理装置通过根复合体203检测到第一PCIe链路发生异常,则控制根复合体生成MSI中断信号,该中断信号用于通知支持与根复合体通信的PCIe设备发生了硬件故障。相应地故障处理装置获得MSI中断信号后,可对支持与该根复合体通信的所有PCIe设备进行故障检测,以获得第一硬件故障信息,该第一硬件故障信息包括发生硬件故障的第一PCIe设备的设备标识。可选地,还可包括该第一PCIe设备的故障类型以及发生的具体故障等信息。可选地,故障处理装置可将第一硬件故障信息发送给故障修复模块(这里具体可为AER模块)。便于AER模块根据第一硬件故障信息对第一PCIe链路进行故障修复。
本发明涉及的故障处理装置具体可包括如上图2或图3所示计算设备中的故障修复模块(例如AER模块、DPC模块)、虚拟机管理器以及PCIe设备组中PCIe设备的驱动模块等功能模块或程序代码,本发明并不做限定。
本发明涉及的故障类型具体被分为两类:可恢复故障(correctable error,CE)以及不可恢复故障(uncorrectable error,UCE)。其中,可恢复故障是指可自定义被硬件识别并自动校正或恢复的故障。不可恢复故障包括致命(fatal)故障和非致命(non-fatal)故障。该非致命故障一般由设备驱动软件直接处理,且PCIe链路可恢复。致命故障通常由***软件处理(本发明具体可为由故障处理装置处理),且一般需要复位等操作,会丢失PCIe链路上的数据。
步骤S404、故障处理装置根据第一硬件故障信息对第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与第一PCIe设备相关的软件业务。
故障处理装置在获得第一PCIe设备的第一硬件故障信息后,可对第一PCIe设备或该第一PCIe设备所在的第一PCIe链路进行故障修复,同时中断第一PCIe设备相关的软件业务。可选地,为提升业务通信的可靠性,故障处理装置在中断第一PCIe设备相关的软件业务时,不中断其他PCIe设备(例如第二PCIe设备)相关的软件业务。从而实现了PCIe设备的业务隔离,在第一PCIe设备发生故障时不影响其他PCIe设备的业务运行,提升了业务处理的高效性。其中,第二PCIe设备位于PCIe总线***中与第一PCIe链路不同的第二PCIe链路上。例如,以第一PCIe设备为图2所示的GPU2051,第二PCIe设备可为图2硬件层所示的PCIe总线***中的GPU2052。
可选地,故障处理装置可根据第一硬件故障信息携带的第一PCIe设备的设备标识,确定第一PCIe设备的类型。本发明中根据第一PCIe设备所需处理的业务类型,该第一PCIe设备具体可被分为三类,分别是并行处理器、网卡以及除并行处理器和网卡之外的其他PCIe设备。其中,并行处理器是指具备计算能力或数据处理能力的设备,例如FPGA和GPU等等。网卡是指具备数据转发(数据传输)功能的设备。这里的其他设备是指除并行处理器和网卡之外的设备,例如独立硬盘冗余阵列(redundant array of independent disks,RAID)等存储设备。
其中,关于故障处理装置确定第一PCIe设备的类型的具体实施方式,本发明并不做限定。例如,故障处理装置可通过预设白名单的方式来确定第一PCIe设备的类型,即确定第一PCIe设备为以下中的任一项:并行处理器、网卡或者其他设备。具体的,故障处理装置将判断该第一PCIe设备的设备标识是否在预设白名单内,如果在,则故障处理装置可获得该第一PCIe设备的类型,即可确定该第一PCIe设备为并行处理器或者网卡。如果不在,故障处理装置可确定该第一PCIe设备为其他设备,故障处理装置可直接对第一PCIe设备所在的计算设备进行复位或重启。其中,该预设白名单为***自定义设置的,其具体可包括PCIe设备的类型、该类型所包括至少一个PCIe设备的设备身份标识号(device ID)和/或厂商ID号(vendor ID)等。
可选地,故障处理装置在确定第一PCIe设备为并行处理器或者网卡时,可通过故障修复函数的方式来判定。具体的,故障处理装置可判断第一PCIe设备中是否预先注册有故障修复函数。该故障修复函数具体可为***预先注册的函数,用于对第一PCIe设备或者第一PCIe设备所在的第一PCIe链路进行故障修复,例如具体可对第一PCIe设备发生硬件故障的故障类型或具体故障进行故障修复等,该故障修复函数可包括但不限于erro_handler等函数。如果该第一PCIe设备中预先注册有故障修复函数,则可确定该第一PCIe设备设备为网卡。相应地故障处理装置可根据该故障修复函数对第一PCIe设备或第一PCIe链路进行故障修复,具体在本发明下文阐述。反之,如果该第一PCIe设备中未注册有故障修复函数,则确定该第一PCIe设备为并行处理器。故障处理装置可采用其他故障修复方式对第一PCIe设备或第一PCIe链路进行故障修复,同样也具体在下文阐述。
下面阐述故障处理装置中断第一PCIe设备相关的软件业务所涉及的具体实施例。具体的,故障处理装置根据第一硬件故障信息中携带的第一PCIe设备的设备标识,可确定第一PCIe设备以及使用该第一PCIe设备的至少一个虚拟机。具体实现时,故障处理装置在虚拟机管理器中预先存储有第一PCIe设备的BDF和使用该第一PCIe设备的至少一个虚拟机的VM id之间的对应关系,关于该对应关系具体可参见前述实施例中的相关阐述。相应地故障处理装置在接收第一硬件故障信息后,可根据信息中携带的第一PCIe设备的设备标识和预存的对应关系,确定使用该第一PCIe设备的至少一个虚拟机(即该第一PCIe设备对应的至少一个虚拟机)的VM id。例如参考图2,以第一PCIe设备为GPU 2051为例,故障处理装置根据预先存储的对应关系以及第一PCIe设备的设备标识,可确定到使用GPU2051相关的虚拟机的VM id具体为虚拟机102的VM id。
进一步,故障处理装置通过虚拟机管理器可向该至少一个虚拟机中的每个虚拟机发送通知消息,该通知消息用于通知虚拟机停止使用与第一PCIe设备相关的软件业务。其中,当第一PCIe设备为并行处理器时,故障处理装置可向虚拟机发送第一通知消息,该第一通知消息用于通知虚拟机暂停使用第一PCIe设备相关的数据处理业务。以第一PCIe设备为GPU为例,该故障处理装置具体可通知虚拟机暂停使用GPU进行图像处理等。当第一PCIe设备为网卡时,故障处理装置可向虚拟机发送第三通知消息,该第三通知消息用于通知虚拟机暂停使用第一PCIe设备相关的数据交换业务,例如通知虚拟机暂停使用网卡进行数据传输等。
下面阐述故障修复涉及的三种具体实施方案。
第一种,第一PCIe设备为并行处理器。具体的,在故障处理装置接收第一PCIe设备产生的第一硬件故障信息之前,故障处理装置可记录第一PCIe链路上的所有PCIe设备的寄存器中存储的状态信息,其中,每个PCIe设备均拥有一个或多个寄存器,该寄存器中存储的状态信息用于记录PCIe设备运行时的相关信息,例如运行状态、运行中产生的业务数据等等。例如参考图2,第一PCIe链路包括GPU 2051-PCIe交换机204-根复合体203的根端口2031。其中,GPU 2051设置有寄存器,该寄存器用于存储GPU 2051运行时的相关信息,例如GPU2051的设备标识、当前运行是否正常以及运行时产生的数据等。PCIe交换机204设置有寄存器,该寄存器用于记录下游端口2042的运行状况、上游端口2041的运行状况以及PCIe交换机204的信息,下游端口2042的运行状况例如下游端口2042当前是否正常通信,上游端口2041的运行状况上游端口2041是否正常通信,例如PCIe交换机204的设备标识等等。同理,图示中根复合体也设置有寄存器,本发明不做赘述。
相应地,故障处理装置在进行故障修复时,具体可关闭第一PCIe链路上所有PCIe设备的故障上报功能,以停止产生硬件故障中断信号。例如以第一PCIe设备为GPU 2051为例,第一PCIe链路为GPU 2051-PCIe交换机204-根复合体203,则故障处理装置可关闭图2中PCIe交换机204的上游端口2041以及根复合体203的下游端口(根端口)2031的故障上报功能,以停止上报或产生关于GPU 2051的硬件故障中断信号。具体的,故障处理装置可对上游端口2041的寄存器和根端口2031的寄存器进行参数重设,例如上游端口2041的寄存器中用“0”表示启用上游端口的通信功能,即该上游端口能进行正常的数据传输。用“1”表示关闭上游端口的通信功能,即该上游端口不能进行正常的数据传输。此时故障处理装置可将上游端口2041的寄存器中的通信功能参数设置为1,以关闭上游端口2041的故障上报功能。
进一步故障处理装置可对第一PCIe链路上的所有PCIe设备的下游端口进行复位,使得每个PCIe设备各自的寄存器恢复初始状态。例如故障处理装置可将PCIe交换机204的下游端口2031以及根复合体203的根端口2031进行复位,并将该下游端口2031对应的寄存器和根端口2031的寄存器记录的状态信息进行清0,以清除寄存器中记录的状态信息,将寄存器恢复至初始状态。这里的初始状态是指设备或装置出厂时被设置成的默认状态。
可选地,故障处理装置对下游端口进行复位后,还可根据记录的第一PCIe设备未发生硬件故障之前第一PCIe链路上所有PCIe设备的寄存器中存储的状态信息,来对应更新寄存器,以将记录的状态信息重新写入至该寄存器中。使得第一PCIe链路上的所有设备恢复保持在第一PCIe设备未发生硬件故障之外的运行状况,便于后续第一PCIe链路上的所有PCIe设备保持正常的业务通信,例如恢复和第一PCIe设备的业务通信等。可选地,故障处理装置对下游端口进行复位后,故障处理装置还可重新开启第一PCIe链路上的所有PCIe设备的故障上报功能。便于后续当第一PCIe链路上的任意PCIe设备发生硬件故障时,能通过产生并上报硬件故障中断信号的形式,通知第一PCIe链路上的PCIe设备发生了硬件故障。
第二种,第一PCIe设备为网卡。故障处理装置在进行故障修复时,具体可关闭第一PCIe链路上的所有PCIe设备的故障上报功能,以停止产生硬件故障中断信号。进一步故障处理装置可控制根复合体停止和第一PCIe设备通信,例如控制根复合体停止向第一PCIe设备发送心跳信号等。故障处理装置还可控制根复合体和第一PCIe设备进行链路重协商,以在链路协商成功时,恢复根复合体和第一PCIe设备之间的通信,例如控制根复合体向第一PCIe设备发送心跳信号等。例如参图2,以第一PCIe设备为GPU 2051为例,故障处理装置可控制根复合体203根据PCIe通信协议重新协商并建立与GPU 2051之间的第一PCIe链路,以在第一PCIe链路协商成功后,允许根复合体203通过该第一PCIe链路向GPU 2051发送心跳信号。可选地,故障处理装置在链路协商成功之后,故障处理装置可重新开启第一PCIe链路上的所有PCIe设备的故障上报功能,以便后续链路上的任一PCIe设备出现故障时上报硬件故障中断信号。关于本发明实施例中未阐述的内容,具体可参见前述第一种实施方式中的相关阐述,这里不再赘述。
第三种,第一PCIe设备为其他设备。故障处理装置可直接对第一PCIe设备所在的计算设备进行复位或重启(panic),以对第一PCIe设备或第一PCIe设备所在的第一PCIe链路进行故障修复。
在可选实施例中,故障处理装置在完成针对第一PCIe设备所在的第一PCIe链路(或第一PCIe设备或者)的故障修复后,故障处理装置可控制根复合体向第一PCIe设备发送测试包(也可称心跳包)。若根复合体接收到第一PCIe设备发送的响应包,则可确定第一PCIe链路修复成功,生成相应的硬件故障修复成功信息;否则确定第一PCIe链路修复失败,生成相应的硬件故障修复失败信息。该硬件故障修复成功信息以及硬件故障修复失败信息中均携带有第一PCIe设备的设备标识。
可选地,在故障处理装置在接收到硬件故障修复成功信息后,可确定第一PCIe链路修复成功。该硬件故障修复成功信息携带有第一PCIe设备的设备标识。进一步故障处理装置可根据该硬件故障修复成功信息,重新启用第一PCIe设备相关的软件业务。具体的,故障处理装置根据该硬件故障修复成功信息,确定使用该第一PCIe设备的虚拟机的VM id。进一步故障处理装置可向该VM id对应的虚拟机发送通知信息,该通知信息用于通知虚拟机重启以恢复第一PCIe设备相关的软件业务。其中当第一PCIe设备为并行处理器时,故障处理装置具体可根据该故障修复成功信息,向第一PCIe设备相关的每个虚拟机发送第二通知信息,该第二通知信息用于通知虚拟机进行重启以恢复与第一PCIe设备相关的数据处理业务。当第一PCIe设备为网卡时,故障处理装置具体可根据该故障修复成功信息,向第一PCIe设备相关的每个虚拟机发送第四通知信息,该第四通知信息用于通知虚拟机进行重启以恢复与第一PCIe设备相关的数据交换业务。
在故障处理装置在接收到硬件故障修复失败信息后,可确定第一PCIe链路修复失败。该硬件故障修复失败信息同样携带有第一PCIe设备的设备标识。进一步故障处理装置可根据该硬件故障修复失败信息,对第一PCIe设备所在的PCIe总线***上的所有PCIe设备进行复位,以对第一PCIe链路进行修复。例如参考图2,在故障处理装置接收到硬件故障修复失败信息后,可对图2所示的计算设备直接进行重启复位。
在可选实施例中,在故障处理装置接收到第一硬件故障信息后,可向云管理平台发送第五通知信息,该第五通知信息用于通知云管理平台暂停对使用该第一PCIe设备相关的至少一个虚拟机的管理,例如暂停云管理平台对这些虚拟机的运营维护,或在创建虚拟机时,避免将第一PCIe设备直通或分配给新创建的虚拟机。
可选地,在故障处理装置在接收到硬件故障修复成功信息,即确定第一PCIe设备或第一PCIe链路修复成功后,故障处理装置可向云管理平台发送第六通知消息。该第六通知消息用于通知云管理平台恢复对使用第一PCIe设备相关的至少一个虚拟机的管理,例如重新恢复云管理平台对这些虚拟机的运营维护等。反之,故障处理装置在接收到硬件故障修复失败信息,即确定到第一PCIe设备或第一PCIe链路修复失败后,可向云管理平台发送第七通知消息。该第七通知消息用于通知云管理平台停止对使用第一PCIe设备相关的至少一个虚拟机的管理,例如停止这些虚拟机的生命周期的管理以及虚拟机的运营维护。
通过实施本发明实施例,能够解决现有技术中存在的业务中断、无法提供正常的业务通信等问题,从而保证了业务通信的可靠性。
结合上文图1-图4所述实施例中的相关阐述。下面介绍本发明适用的相关装置和设备。请参见图5,是本发明实施例提供的一种故障处理装置的结构示意图。如图5所示的故障处理装置500包括通信模块502以及处理模块504。其中,
所述通信模块502,用于接收第一高速串行计算机扩展总线标准PCIe链路上的第一PCIe设备产生的第一硬件故障信息,所述第一硬件故障信息用于指示所述PCIe设备发生硬件故障,所述第一硬件故障信息包括所述第一PCIe设备的设备标识;
所述处理模块504,用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务。
可选地,故障处理装置还可包括存储模块506。该存储模块506用于存储故障处理装置500相关的程序代码和数据,例如存储用于故障处理的程序代码。通信模块502以及处理模块504具体可用于调用该存储模块506中的程序代码,实现相应地实施步骤,本发明这里不做限定。
在一些实施例中,所述处理模块504具体用于在中断与所述第一PCIe设备相关的软件业务时,不中断与第二PCIe设备相关的软件业务,其中所述第二PCIe设备位于PCIe总线***中与所述第一PCIe链路不同的第二PCIe链路。
在一些实施例中,所述通信模块502用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之后,所述通信模块502还用于接收根复合体发送的携带所述第一PCIe设备的设备标识的硬件故障修复成功信息;所述处理模块504还用于根据所述故障修复成功信息恢复与所述第一PCIe设备相关的软件业务。
在一些实施例中,所述处理模块504用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之前,所述处理模块504还用于根据所述第一硬件故障信息携带的所述第一PCIe设备的设备标识,确定所述第一PCIe设备为并行处理器。
在一些实施例中,所述存储模块506中记录有所述第一PCIe设备的设备标识与使用所述第一PCIe设备的虚拟机的虚拟机标识之间的对应关系,所述处理模块504用于中断与所述第一PCIe设备相关的软件业务,包括:所述处理模块504具体用于根据所述第一PCIe设备的设备标识从所述对应关系中确定使用所述PCIe设备的虚拟机的虚拟机标识(VMid);所述通信模块502还用于根据所述虚拟机标识发送第一通知消息至使用所述第一PCIe设备的虚拟机,所述第一通知消息用于通知使用所述第一PCIe设备的虚拟机停止使用与所述第一PCIe设备相关的数据处理业务。
在一些实施例中,所述处理模块504还用于根据所述故障修复成功信息恢复与所述第一PCIe设备相关的软件业务,包括:所述处理模块504具体用于根据所述故障修复成功信息携带的所述第一PCIe设备的设备标识从所述对应关系中确定使用所述第一PCIe设备的虚拟机的虚拟机标识;所述通信模块502还用于根据所述虚拟机标识发送第二通知消息,所述第二通知消息用于通知所述使用所述第一PCIe设备的虚拟机进行重启以恢复与所述第一PCIe设备相关的数据处理业务。
在一些实施例中,所述通信模块502用于接收第一高速串行计算机扩展总线标准PCIe链路上的第一PCIe设备产生的第一硬件故障信息之前,所述处理模块504还用于记录所述第一PCIe链路上的所有PCIe设备的寄存器中存储的状态信息。所述处理模块504用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,包括:所述处理模块504具体用于关闭所述第一PCIe链路上的所有PCIe设备的故障上报功能,以停止产生硬件故障中断信号,其中所述硬件故障中断信号用于产生所述第一硬件故障信息;对所述第一PCIe链路上的所有PCIe设备的下游端口进行复位,以使得所述寄存器恢复初始状态;将所述状态信息写入所述寄存器;开启所述第一PCIe链路上的所有PCIe设备的故障上报功能。
在一些实施例中,所述处理模块504用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之前,所述处理模块504还用于根据所述第一硬件故障信息携带的所述第一PCIe设备的设备标识,确定所述第一PCIe设备为网卡。
在一些实施例中,所述存储模块506中记录有所述第一PCIe设备的设备标识与使用所述第一PCIe设备的虚拟机的虚拟机标识之间的对应关系,所述处理模块504用于中断与所述第一PCIe设备相关的软件业务,包括:所述处理模块504具体用于根据所述第一PCIe设备的设备标识从所述对应关系确定使用所述PCIe设备的虚拟机的虚拟机标识,所述通信模块502还用于根据所述虚拟机标识发送第三通知消息至使用所述第一PCIe设备的虚拟机,所述第三通知消息用于通知使用所述第一PCIe设备的虚拟机停止使用与所述第一PCIe设备相关的数据交换业务。
在一些实施例中,所述处理模块504还用于根据所述故障修复成功信息恢复与所述第一PCIe设备相关的软件业务,包括:所述处理模块504具体用于根据所述故障修复成功信息携带的所述第一PCIe设备的设备标识从所述对应关系中确定使用所述第一PCIe设备的虚拟机的虚拟机标识;所述通信模块502还用于根据所述虚拟机标识发送第四通知消息至使用所述第一PCIe设备的虚拟机,所述第四通知消息用于通知所述使用所述第一PCIe设备的虚拟机进行重启以恢复与所述第一PCIe设备相关的数据交换业务。
在一些实施例中,所述处理模块504用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,包括:所述处理模块504具体用于关闭所述第一PCIe链路上的所有PCIe设备的故障上报功能,以停止产生硬件故障中断信号,其中所述硬件故障中断信号用于产生所述第一硬件故障信息;控制根复合体停止向所述第一PCIe设备发送心跳信号;控制所述根复合体与所述第一PCIe设备进行链路协商,且在链路协商成功时,控制所述根复合体向所述第一PCIe设备发送所述心跳信号;开启所述第一PCIe链路上的所有PCIe设备的故障上报功能。
在一些实施例中,所述处理模块504用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之后,所述通信模块502还用于接收根复合体发送的携带所述第一PCIe设备的设备标识的硬件故障修复失败信息;所述处理模块504还用于根据所述硬件故障修复失败信息,对所述第一PCIe设备所在的PCIe总线***上的所有PCIe设备进行复位。
关于本发明中未示出或未描述的内容,可参见前述实施例中的相关阐述这里不做赘述。关于图5示出的计算设备在实际应用中可包括更多或更少的部件,图示仅为示例并不构成限定。图5中示出的各模块或各单元具体可通过软件或者硬件的方式实现,当其通过软件程序实现时,图示中的各模块或各单元均为软件模块。当其通过硬件实现时,图示中的各模块或各单元具体可由指定器件或电路实现。
例如,处理模块504可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块502可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如通信模块与处理模块之间的接口、故障处理装置与其他设备之间的接口等。存储模块506可以是存储器,或者其他用于提供存储功能的服务或模块。
当处理模块504为处理器,通信模块502为通信接口,存储模块506为存储器时,本发明实施例所涉及故障处理装置可以为图6所示的故障处理装置(也可称为计算设备)。
请参见图6所示,计算设备600包括一个或多个处理器601、通信接口602和存储器603,处理器601、通信接口602和存储器603可通过总线或者其它方式连接,本发明实施例以通过总线604连接为例。其中:
处理器601可以由一个或者多个通用处理器构成,例如中央处理器(CentralProcessing Unit,CPU)。处理器601可用于运行相关的程序代码中以下任一项或多项功能模块的程序:通信模块、处理模块以及存储模块等。也就是说,处理器601执行程序代码可以实现通信模块以及处理模块等功能模块中的任一项或多项的功能。其中,关于所述通信模块以及处理模块具体可参见前述实施例中的相关阐述。
通信接口602可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块/设备进行通信。例如,本发明实施例中通信接口602具体可用于向其他设备发送帧数据等。
存储器603可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器603还可以包括上述种类的存储器的组合。存储器603可用于存储一组程序代码,以便于处理器601调用存储器703中存储的程序代码以实现本发明实施例中涉及的通信模块和/或处理模块的功能。
需要说明的,图6仅仅是本申请实施例的一种可能的实现方式,实际应用中,故障处理装置还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述图4所述实施例中的相关阐述,这里不再赘述。
本发明实施例还提供一种计算机非瞬态存储介质,所述计算机非瞬态存储介质中存储有指令,当其在处理器上运行时,图4所示的方法流程得以实现。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,图4所示的方法流程得以实现。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于计算设备中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (26)
1.一种故障处理方法,其特征在于,所述方法包括:
故障处理装置接收第一高速串行计算机扩展总线标准PCIe链路上的第一PCIe设备产生的第一硬件故障信息,所述第一硬件故障信息用于指示所述第一PCIe设备发生硬件故障,所述第一硬件故障信息包括所述第一PCIe设备的设备标识;
所述故障处理装置根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务。
2.根据权利要求1所述的方法,其特征在于,所述故障处理装置根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务,包括:
所述故障处理装置在中断与所述第一PCIe设备相关的软件业务时,不中断与第二PCIe设备相关的软件业务,其中所述第二PCIe设备位于PCIe总线***中与所述第一PCIe链路不同的第二PCIe链路。
3.根据权利要求1或2所述的方法,其特征在于,所述故障处理装置根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之后,所述方法还包括:
所述故障处理装置获取携带所述第一PCIe设备的设备标识的硬件故障修复成功信息;
所述故障处理装置根据所述故障修复成功信息恢复与所述第一PCIe设备相关的软件业务。
4.根据权利要求3所述的方法,其特征在于,所述故障处理装置根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之前,所述方法还包括:
所述故障处理装置根据所述第一硬件故障信息携带的所述第一PCIe设备的设备标识,确定所述第一PCIe设备为并行处理器。
5.根据权利要求4所述的方法,其特征在于,所述故障处理装置记录有所述第一PCIe设备的设备标识与使用所述第一PCIe设备的虚拟机的虚拟机标识之间的对应关系,所述中断与所述第一PCIe设备相关的软件业务,包括:
所述故障处理装置根据所述第一PCIe设备的设备标识从所述对应关系确定使用所述第一PCIe设备的虚拟机的虚拟机标识;
所述故障处理装置根据所述虚拟机标识发送第一通知消息至使用所述第一PCIe设备的虚拟机,所述第一通知消息用于通知所述虚拟机停止运行与所述第一PCIe设备相关的数据处理业务。
6.根据权利要求5所述的方法,其特征在于,所述故障处理装置根据所述故障修复成功信息恢复与所述第一PCIe设备相关的软件业务,包括:
所述故障处理装置根据所述故障修复成功信息携带的所述第一PCIe设备的设备标识从所述对应关系确定使用所述第一PCIe设备的虚拟机的虚拟机标识;
所述故障处理装置根据所述虚拟机标识发送第二通知消息至使用所述第一PCIe设备的虚拟机,所述第二通知消息用于通知所述使用所述第一PCIe设备的虚拟机进行重启以恢复与所述第一PCIe设备相关的数据处理业务。
7.根据权利要求4-6中任一项所述的方法,其特征在于,所述故障处理装置接收第一高速串行计算机扩展总线标准PCIe链路上的第一PCIe设备产生的第一硬件故障信息之前,所述方法还包括:
所述故障处理装置记录所述第一PCIe链路上的所有PCIe设备的寄存器中存储的状态信息;
所述故障处理装置根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,包括:
所述故障处理装置关闭所述第一PCIe链路上的所有PCIe设备的故障上报功能,以停止产生硬件故障中断信号;
所述故障处理装置对所述第一PCIe链路上的所有PCIe设备的下游端口进行复位,以使得所述寄存器恢复初始状态;
所述故障处理装置将所述状态信息写入所述寄存器;
所述故障处理装置开启所述第一PCIe链路上的所有PCIe设备的故障上报功能。
8.根据权利要求3所述的方法,其特征在于,所述故障处理装置根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之前,所述方法还包括:
所述故障处理装置根据所述第一硬件故障信息携带的所述第一PCIe设备的设备标识,确定所述第一PCIe设备为网卡。
9.根据权利要求8所述的方法,其特征在于,所述故障处理装置记录有所述第一PCIe设备的设备标识与使用所述第一PCIe设备的虚拟机的虚拟机标识之间的对应关系,所述中断与所述第一PCIe设备相关的软件业务,包括:
所述故障处理装置根据所述第一PCIe设备的设备标识,确定使用所述第一PCIe设备的虚拟机的虚拟机标识;
所述故障处理装置根据所述虚拟机标识发送第三通知消息,所述第三通知消息用于通知使用所述虚拟机停止运行与所述第一PCIe设备相关的数据交换业务。
10.根据权利要9所述的方法,其特征在于,所述故障处理装置根据所述故障修复成功信息恢复与所述第一PCIe设备相关的软件业务,包括:
所述故障处理装置根据所述故障修复成功信息携带的所述第一PCIe设备的设备标识从所述对应关系确定使用所述第一PCIe设备的虚拟机的虚拟机标识;
所述故障处理装置根据所述虚拟机标识发送第四通知消息至所述虚拟机,所述第五通知消息用于通知所述虚拟机进行重启以恢复与所述第一PCIe设备相关的数据交换业务。
11.根据权利要求8-10中任一项所述的方法,其特征在于,所述故障处理装置根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,包括:
所述故障处理装置关闭所述第一PCIe链路上的所有PCIe设备的故障上报功能,以停止产生硬件故障中断信号;
所述故障处理装置控制所述根复合体与所述第一PCIe设备进行链路协商;开启所述第一PCIe链路上的所有PCIe设备的故障上报功能。
12.根据权利要求1-11中任一项所述的方法,其特征在于,所述故障处理装置根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之后,所述方法还包括:
所述故障处理装置获取携带所述第一PCIe设备的设备标识的硬件故障修复失败信息;
所述故障处理装置根据所述硬件故障修复失败信息,对所述第一PCIe设备所在的PCIe总线***上的所有PCIe设备进行复位。
13.一种故障处理装置,其特征在于,包括通信模块和处理模块,其中,
所述通信模块,用于接收第一高速串行计算机扩展总线标准PCIe链路上的第一PCIe设备产生的第一硬件故障信息,所述第一硬件故障信息用于指示所述第一PCIe设备发生硬件故障,所述第一硬件故障信息包括所述第一PCIe设备的设备标识;
所述处理模块,用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务。
14.根据权利要求13所述的装置,其特征在于,
所述处理模块,具体用于在中断与所述第一PCIe设备相关的软件业务时,不中断与第二PCIe设备相关的软件业务,其中所述第二PCIe设备位于PCIe总线***中与所述第一PCIe链路不同的第二PCIe链路。
15.根据权利要求13或14所述的装置,其特征在于,所述通信模块用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之后,
所述通信模块,还用于获取携带所述第一PCIe设备的设备标识的硬件故障修复成功信息;
所述处理模块,还用于根据所述故障修复成功信息恢复与所述第一PCIe设备相关的软件业务。
16.根据权利要求15所述的装置,其特征在于,所述处理模块用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之前,
所述处理模块,还用于根据所述第一硬件故障信息携带的所述第一PCIe设备的设备标识,确定所述第一PCIe设备为并行处理器。
17.根据权利要求16所述的装置,其特征在于,所述故障处理装置记录有所述第一PCIe设备的设备标识与使用所述第一PCIe设备的虚拟机的虚拟机标识之间的对应关系,所述处理模块用于中断与所述第一PCIe设备相关的软件业务,包括:
所述处理模块,具体用于根据所述第一PCIe设备的设备标识从所述对应关系确定使用所述PCIe设备的虚拟机的虚拟机标识;
所述通信模块,还用于根据所述虚拟机标识发送第一通知消息至使用所述第一PCIe设备的虚拟机,所述第一通知消息用于通知所述虚拟机停止运行与所述第一PCIe设备相关的数据处理业务。
18.根据权利要求17所述的装置,其特征在于,所述处理模块还用于根据所述故障修复成功信息恢复与所述第一PCIe设备相关的软件业务,包括:
所述处理模块,具体用于根据所述故障修复成功信息携带的所述第一PCIe设备的设备标识从所述对应关系确定使用所述第一PCIe设备的虚拟机的虚拟机标识;
所述通信模块,还用于根据所述虚拟机标识发送第二通知消息至使用所述第一PCIe设备的虚拟机,所述第二通知消息用于通知所述虚拟机进行重启以恢复与所述第一PCIe设备相关的数据处理业务。
19.根据权利要求16-18中任一项所述的装置,其特征在于,所述通信模块用于接收第一高速串行计算机扩展总线标准PCIe链路上的第一PCIe设备产生的第一硬件故障信息之前,
所述处理模块,还用于记录所述第一PCIe链路上的所有PCIe设备的寄存器中存储的状态信息;
所述处理模块用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,包括:
所述处理模块具体用于:关闭所述第一PCIe链路上的所有PCIe设备的故障上报功能,以停止产生硬件故障中断信号;
对所述第一PCIe链路上的所有PCIe设备的下游端口进行复位,以使得所述寄存器恢复初始状态;
将所述状态信息写入所述寄存器;
开启所述第一PCIe链路上的所有PCIe设备的故障上报功能。
20.根据权利要求15所述的装置,其特征在于,所述处理模块用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之前,
所述处理模块,还用于根据所述第一硬件故障信息携带的所述第一PCIe设备的设备标识,确定所述第一PCIe设备为网卡。
21.根据权利要求20所述的装置,其特征在于,所述故障处理装置记录有所述第一PCIe设备的设备标识与使用所述第一PCIe设备的虚拟机的虚拟机标识之间的对应关系,所述处理模块用于中断与所述第一PCIe设备相关的软件业务,包括:
所述处理模块,具体用于根据所述第一PCIe设备的设备标识,确定使用所述PCIe设备的虚拟机并通知使用所述虚拟机停止运行与所述第一PCIe设备相关的数据交换业务。
22.根据权利要求21所述的装置,其特征在于,所述处理模块还用于根据所述故障修复成功信息恢复与所述第一PCIe设备相关的软件业务,包括:
所述处理模块,具体用于根据所述故障修复成功信息携带的所述第一PCIe设备的设备标识从所述对应关系确定使用所述第一PCIe设备的虚拟机的虚拟机标识;
所述通信模块,还用于根据所述虚拟机标识发送第三通知消息至所述虚拟机,所述第三通知消息用于通知所述虚拟机进行重启以恢复与所述第一PCIe设备相关的数据交换业务。
23.根据权利要求20-22中任一项所述的方法,其特征在于,所述处理模块用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,包括:
所述处理模块具体用于:关闭所述第一PCIe链路上的所有PCIe设备的故障上报功能,以停止产生硬件故障中断信号;
控制所述根复合体与所述第一PCIe设备进行链路协商;
开启所述第一PCIe链路上的所有PCIe设备的故障上报功能。
24.根据权利要求13-23中任一项所述的方法,其特征在于,所述处理模块用于根据所述第一硬件故障信息对所述第一PCIe设备所在的第一PCIe链路进行故障修复,并中断与所述第一PCIe设备相关的软件业务之后,
所述通信模块,还用于获取携带所述第一PCIe设备的设备标识的硬件故障修复失败信息;
所述处理模块,还用于根据所述硬件故障修复失败信息,对所述第一PCIe设备所在的PCIe总线***上的所有PCIe设备进行复位。
25.一种计算设备,其特征在于,包括处理器,存储器,通信接口和总线;所述处理器、所述通信接口和所述存储器通过总线相互通信;所述通信接口,用于接收和发送数据;所述存储器,用于存储指令;所述处理器,用于调用所述存储器中的指令,执行如上权利要求1-12中任一项所述方法。
26.一种计算机非瞬态存储介质,所述计算机非瞬态存储介质存储有计算机程序,其特征在于,所述计算机程序被计算设备执行时实现如权利要求1至12任一项所述方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910074067.2A CN109815043B (zh) | 2019-01-25 | 2019-01-25 | 故障处理方法、相关设备及计算机存储介质 |
EP20744771.5A EP3893114B1 (en) | 2019-01-25 | 2020-01-21 | Fault processing method, related device, and computer storage medium |
PCT/CN2020/073612 WO2020151722A1 (zh) | 2019-01-25 | 2020-01-21 | 故障处理方法、相关设备及计算机存储介质 |
US17/384,361 US11994940B2 (en) | 2019-01-25 | 2021-07-23 | Fault processing method, related device, and computer storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910074067.2A CN109815043B (zh) | 2019-01-25 | 2019-01-25 | 故障处理方法、相关设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109815043A true CN109815043A (zh) | 2019-05-28 |
CN109815043B CN109815043B (zh) | 2022-04-05 |
Family
ID=66604949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910074067.2A Active CN109815043B (zh) | 2019-01-25 | 2019-01-25 | 故障处理方法、相关设备及计算机存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11994940B2 (zh) |
EP (1) | EP3893114B1 (zh) |
CN (1) | CN109815043B (zh) |
WO (1) | WO2020151722A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457164A (zh) * | 2019-07-08 | 2019-11-15 | 华为技术有限公司 | 设备管理的方法、装置和服务器 |
CN111414268A (zh) * | 2020-02-26 | 2020-07-14 | 华为技术有限公司 | 故障处理方法、装置及服务器 |
WO2020151722A1 (zh) * | 2019-01-25 | 2020-07-30 | 华为技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
CN111858407A (zh) * | 2020-07-14 | 2020-10-30 | 中航航空电子有限公司 | 高速***设备互连***内的通信方法及高速***设备互连*** |
CN111953753A (zh) * | 2020-07-31 | 2020-11-17 | 西安广和通无线软件有限公司 | 通信设备连接方法、装置、计算机设备和存储介质 |
WO2021017503A1 (zh) * | 2019-07-30 | 2021-02-04 | 华为技术有限公司 | 一种端点设备的管理方法、装置及*** |
CN112346786A (zh) * | 2019-08-08 | 2021-02-09 | 佛山市顺德区顺达电脑厂有限公司 | 应用于开机阶段及开机后运行阶段的除错信息纪录方法 |
CN113765787A (zh) * | 2021-08-25 | 2021-12-07 | 新华三大数据技术有限公司 | 一种故障处理方法及装置 |
CN113868000A (zh) * | 2021-09-03 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种链路故障修复方法、***及相关组件 |
CN114356644A (zh) * | 2022-03-18 | 2022-04-15 | 阿里巴巴(中国)有限公司 | Pcie设备故障处理方法和装置 |
WO2022155919A1 (zh) * | 2021-01-22 | 2022-07-28 | 华为技术有限公司 | 一种故障处理方法、装置及*** |
CN115016996A (zh) * | 2022-06-30 | 2022-09-06 | 西安易朴通讯技术有限公司 | 硬盘状态检测方法、***、复杂可编程逻辑器件及服务器 |
CN115827355A (zh) * | 2023-01-10 | 2023-03-21 | 深流微智能科技(深圳)有限公司 | 图形处理器中异常核的检测方法、检测装置和电子设备 |
CN117707848A (zh) * | 2023-12-07 | 2024-03-15 | 沐曦科技(北京)有限公司 | 一种gpu设备维护*** |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037565B (zh) * | 2021-03-29 | 2022-04-01 | 新华三信息安全技术有限公司 | 报文处理方法及装置 |
CN114826489B (zh) * | 2022-05-29 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种链路纠错方法、***、存储介质及设备 |
US20240028433A1 (en) * | 2022-07-25 | 2024-01-25 | Dell Products L.P. | Reporting pcie device error information |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557379A (zh) * | 2009-05-21 | 2009-10-14 | 成都市华为赛门铁克科技有限公司 | 一种pcie接口的链路重组方法和装置 |
CN103124225A (zh) * | 2012-12-19 | 2013-05-29 | 杭州华为数字技术有限公司 | 多节点初始化的检测方法及装置、*** |
CN103384204A (zh) * | 2011-12-31 | 2013-11-06 | 华为数字技术(成都)有限公司 | 串行并行转换电路故障的处理方法及装置 |
CN103440188A (zh) * | 2013-08-29 | 2013-12-11 | 福建星网锐捷网络有限公司 | 一种pcie硬件故障的检测方法及装置 |
CN103534982A (zh) * | 2013-04-09 | 2014-01-22 | 华为技术有限公司 | 保护业务可靠性的方法、设备及网络虚拟化*** |
CN104170322A (zh) * | 2014-04-02 | 2014-11-26 | 华为技术有限公司 | 一种PCIe链路故障的处理方法、设备及*** |
CA2844707C (en) * | 2012-10-26 | 2016-12-06 | Xiong Zhang | Pcie switch-based server system, switching method and device |
CN106502944A (zh) * | 2015-09-08 | 2017-03-15 | 杭州华为数字技术有限公司 | 计算机、pcie设备以及pcie设备的心跳检测方法 |
CN106844078A (zh) * | 2016-12-27 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种pcie故障的处理方法和装置 |
CN106878048A (zh) * | 2016-12-13 | 2017-06-20 | 新华三技术有限公司 | 故障处理方法及装置 |
US9710341B2 (en) * | 2014-12-16 | 2017-07-18 | Dell Products L.P. | Fault tolerant link width maximization in a data bus |
CN109189602A (zh) * | 2018-09-21 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种PCIE Slot故障定位方法、装置以及设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510592B1 (en) * | 2009-09-15 | 2013-08-13 | Netapp, Inc. | PCI error resilience |
US8725919B1 (en) * | 2011-06-20 | 2014-05-13 | Netlogic Microsystems, Inc. | Device configuration for multiprocessor systems |
US9026865B2 (en) * | 2012-06-11 | 2015-05-05 | Unisys Corporation | Software handling of hardware error handling in hypervisor-based systems |
ES2656464T3 (es) * | 2013-09-11 | 2018-02-27 | Huawei Technologies Co., Ltd. | Procedimiento, sistema informático y aparato de procesamiento de fallo |
US9747048B2 (en) * | 2014-06-02 | 2017-08-29 | Micron Technology, Inc. | Systems and methods for packing data in a scalable memory system protocol |
US10146626B2 (en) * | 2016-09-29 | 2018-12-04 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Detecting and handling an expansion card fault during system initialization |
CN106502952B (zh) * | 2016-10-24 | 2019-08-02 | 郑州云海信息技术有限公司 | 一种pcie设备安全掉线设计方法 |
CN108733500A (zh) * | 2017-04-13 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 故障定位方法及装置、对应关系的生成方法及装置 |
CN109815043B (zh) * | 2019-01-25 | 2022-04-05 | 华为云计算技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
-
2019
- 2019-01-25 CN CN201910074067.2A patent/CN109815043B/zh active Active
-
2020
- 2020-01-21 EP EP20744771.5A patent/EP3893114B1/en active Active
- 2020-01-21 WO PCT/CN2020/073612 patent/WO2020151722A1/zh unknown
-
2021
- 2021-07-23 US US17/384,361 patent/US11994940B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557379A (zh) * | 2009-05-21 | 2009-10-14 | 成都市华为赛门铁克科技有限公司 | 一种pcie接口的链路重组方法和装置 |
CN103384204A (zh) * | 2011-12-31 | 2013-11-06 | 华为数字技术(成都)有限公司 | 串行并行转换电路故障的处理方法及装置 |
CA2844707C (en) * | 2012-10-26 | 2016-12-06 | Xiong Zhang | Pcie switch-based server system, switching method and device |
CN103124225A (zh) * | 2012-12-19 | 2013-05-29 | 杭州华为数字技术有限公司 | 多节点初始化的检测方法及装置、*** |
CN103534982A (zh) * | 2013-04-09 | 2014-01-22 | 华为技术有限公司 | 保护业务可靠性的方法、设备及网络虚拟化*** |
CN103440188A (zh) * | 2013-08-29 | 2013-12-11 | 福建星网锐捷网络有限公司 | 一种pcie硬件故障的检测方法及装置 |
CN104170322A (zh) * | 2014-04-02 | 2014-11-26 | 华为技术有限公司 | 一种PCIe链路故障的处理方法、设备及*** |
US9710341B2 (en) * | 2014-12-16 | 2017-07-18 | Dell Products L.P. | Fault tolerant link width maximization in a data bus |
CN106502944A (zh) * | 2015-09-08 | 2017-03-15 | 杭州华为数字技术有限公司 | 计算机、pcie设备以及pcie设备的心跳检测方法 |
CN106878048A (zh) * | 2016-12-13 | 2017-06-20 | 新华三技术有限公司 | 故障处理方法及装置 |
CN106844078A (zh) * | 2016-12-27 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种pcie故障的处理方法和装置 |
CN109189602A (zh) * | 2018-09-21 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种PCIE Slot故障定位方法、装置以及设备 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020151722A1 (zh) * | 2019-01-25 | 2020-07-30 | 华为技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
US11994940B2 (en) | 2019-01-25 | 2024-05-28 | Huawei Cloud Computing Technologies Co., Ltd. | Fault processing method, related device, and computer storage medium |
CN110457164A (zh) * | 2019-07-08 | 2019-11-15 | 华为技术有限公司 | 设备管理的方法、装置和服务器 |
WO2021017503A1 (zh) * | 2019-07-30 | 2021-02-04 | 华为技术有限公司 | 一种端点设备的管理方法、装置及*** |
CN112346786B (zh) * | 2019-08-08 | 2022-07-12 | 佛山市顺德区顺达电脑厂有限公司 | 应用于开机阶段及开机后运行阶段的除错信息纪录方法 |
CN112346786A (zh) * | 2019-08-08 | 2021-02-09 | 佛山市顺德区顺达电脑厂有限公司 | 应用于开机阶段及开机后运行阶段的除错信息纪录方法 |
CN111414268A (zh) * | 2020-02-26 | 2020-07-14 | 华为技术有限公司 | 故障处理方法、装置及服务器 |
CN111858407A (zh) * | 2020-07-14 | 2020-10-30 | 中航航空电子有限公司 | 高速***设备互连***内的通信方法及高速***设备互连*** |
CN111858407B (zh) * | 2020-07-14 | 2021-12-07 | 中航航空电子有限公司 | 高速***设备互连***内的通信方法及高速***设备互连*** |
CN111953753A (zh) * | 2020-07-31 | 2020-11-17 | 西安广和通无线软件有限公司 | 通信设备连接方法、装置、计算机设备和存储介质 |
WO2022155919A1 (zh) * | 2021-01-22 | 2022-07-28 | 华为技术有限公司 | 一种故障处理方法、装置及*** |
CN113765787B (zh) * | 2021-08-25 | 2022-10-21 | 新华三大数据技术有限公司 | 一种故障处理方法及装置 |
CN113765787A (zh) * | 2021-08-25 | 2021-12-07 | 新华三大数据技术有限公司 | 一种故障处理方法及装置 |
CN113868000A (zh) * | 2021-09-03 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种链路故障修复方法、***及相关组件 |
CN113868000B (zh) * | 2021-09-03 | 2023-07-18 | 苏州浪潮智能科技有限公司 | 一种链路故障修复方法、***及相关组件 |
CN114356644B (zh) * | 2022-03-18 | 2022-06-14 | 阿里巴巴(中国)有限公司 | Pcie设备故障处理方法和装置 |
CN114356644A (zh) * | 2022-03-18 | 2022-04-15 | 阿里巴巴(中国)有限公司 | Pcie设备故障处理方法和装置 |
CN115016996A (zh) * | 2022-06-30 | 2022-09-06 | 西安易朴通讯技术有限公司 | 硬盘状态检测方法、***、复杂可编程逻辑器件及服务器 |
CN115827355A (zh) * | 2023-01-10 | 2023-03-21 | 深流微智能科技(深圳)有限公司 | 图形处理器中异常核的检测方法、检测装置和电子设备 |
CN115827355B (zh) * | 2023-01-10 | 2023-04-28 | 深流微智能科技(深圳)有限公司 | 图形处理器中异常核的检测方法、检测装置和电子设备 |
CN117707848A (zh) * | 2023-12-07 | 2024-03-15 | 沐曦科技(北京)有限公司 | 一种gpu设备维护*** |
Also Published As
Publication number | Publication date |
---|---|
EP3893114A1 (en) | 2021-10-13 |
EP3893114B1 (en) | 2023-07-19 |
EP3893114A4 (en) | 2022-03-09 |
US11994940B2 (en) | 2024-05-28 |
WO2020151722A1 (zh) | 2020-07-30 |
CN109815043B (zh) | 2022-04-05 |
US20210349777A1 (en) | 2021-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815043A (zh) | 故障处理方法、相关设备及计算机存储介质 | |
US11729044B2 (en) | Service resiliency using a recovery controller | |
EP2510439B1 (en) | Managing errors in a data processing system | |
US8713350B2 (en) | Handling errors in a data processing system | |
EP0185704B1 (en) | Reconfigurable dual processor system and method for operating it | |
WO2017152763A1 (zh) | 物理机故障分类处理方法、装置和虚拟机恢复方法、*** | |
US8510592B1 (en) | PCI error resilience | |
TWI229796B (en) | Method and system to implement a system event log for system manageability | |
US9495233B2 (en) | Error framework for a microprocesor and system | |
WO2018054081A1 (zh) | 故障处理方法、虚拟架构管理***和业务管理*** | |
CN104685830A (zh) | 故障管理的方法、实体和*** | |
WO2017114325A1 (zh) | 故障处理方法、装置及*** | |
CN107239383A (zh) | 一种OpenStack虚拟机的故障监控方法及装置 | |
CN109284207A (zh) | 硬盘故障处理方法、装置、服务器和计算机可读介质 | |
CN104170307B (zh) | 失效切换方法、装置和*** | |
CN117389790A (zh) | 可恢复故障的固件检测***、方法、存储介质及服务器 | |
CN105009086B (zh) | 一种实现处理器切换的方法、计算机和切换装置 | |
CN105808391A (zh) | 一种热替换cpu节点的方法及装置 | |
WO2010135966A1 (zh) | 成对冗余结构中器件的升级方法及设备 | |
CN105187482A (zh) | 一种PaaS平台故障自愈实现的方法及消息服务器 | |
CN113760459A (zh) | 虚拟机故障检测方法、存储介质和虚拟化集群 | |
CN117389802B (zh) | 一种智能容错、预测容错、自动修复的密码卡***及方法 | |
KR20020065188A (ko) | 컴퓨터 시스템의 장애관리 방법 | |
CN118245269A (zh) | Pci设备的故障处理方法及装置、故障处理*** | |
CN111722911A (zh) | 一种云中心宿主机发生宕机时自动疏散的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220208 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |