CN115408192A - 一种虚拟机的io错误检测方法及其相关组件 - Google Patents

一种虚拟机的io错误检测方法及其相关组件 Download PDF

Info

Publication number
CN115408192A
CN115408192A CN202211071611.6A CN202211071611A CN115408192A CN 115408192 A CN115408192 A CN 115408192A CN 202211071611 A CN202211071611 A CN 202211071611A CN 115408192 A CN115408192 A CN 115408192A
Authority
CN
China
Prior art keywords
preset
information
error
back end
virtual machine
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
CN202211071611.6A
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.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology 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 Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202211071611.6A priority Critical patent/CN115408192A/zh
Publication of CN115408192A publication Critical patent/CN115408192A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/0712Error 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 a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种虚拟机的IO错误检测方法及其相关组件,涉及故障监控领域,在向存储后端发送预设读写指令后,利用预设信息判断工具判断存储后端是否生成IO错误信息;若确定存储后端生成IO错误信息,则获取该IO错误信息,然后利用预设函数库中的预设信息处理函数获取IO错误信息中的特征信息,最后将特征信息发送给控制器,以便控制器执行预设的修复IO错误程序。通过在向存储后端发出预设读写指令后立即检测其是否有IO错误信息生成的方法,能够及时地发现存储后端是否有IO错误,提高了发现IO错误的效率,进而能够避免IO错误产生之后带来的数据和经济损失。

Description

一种虚拟机的IO错误检测方法及其相关组件
技术领域
本发明涉及故障监控领域,特别是涉及一种虚拟机的IO错误检测方法及其相关组件。
背景技术
云平台是建立在服务器集群上的虚拟平台,云平台上建立有多个虚拟机,当虚拟机中的虚拟文件系统向服务器集群中的存储后端发送IO(Input/Output,输入输出)读写请求时,若该存储后端发生故障,则会造成存储后端的IO错误,IO错误可能会导致云平台上的业务无法执行甚至是业务崩溃。现有技术在发现IO错误时,通常在工作人员发现云平台中的业务无法正常执行后通过故障排查才能发现存在IO错误,其发现IO错误的效率较低,无法避免IO错误产生之后带来的数据和经济损失。
发明内容
本发明的目的是提供一种虚拟机的IO错误检测方法及其相关组件,能够及时地发现存储后端是否有IO错误,提高了发现IO错误的效率,进而能够避免IO错误产生之后带来的数据和经济损失。
为解决上述技术问题,本发明提供了一种虚拟机的IO错误检测方法,应用于服务器中的处理器,所述服务器中还包括控制器,所述虚拟机的IO错误检测方法包括:
在向存储后端发送预设读写指令后,利用预设信息判断工具判断所述存储后端是否生成IO错误信息;
若是,则获取所述IO错误信息;
利用预设函数库中的预设信息处理函数获取所述IO错误信息的特征信息;
将所述特征信息发送给所述控制器,以便所述控制器执行预设的修复IO错误程序;
其中,所述预设信息判断工具和所述预设函数库均设置在所述服务器的内核态中。
优选的,在利用预设信息判断工具判断所述存储后端是否生成IO错误信息之前,还包括:
确定所述存储后端的存储类型;
根据所述存储后端的存储类型选择对应的前端驱动;
向存储后端发送预设读写指令,包括:
通过所述前端驱动向所述存储后端发送所述预设读写指令。
优选的,在利用预设函数库中的预设信息处理函数获取所述IO错误信息中的特征信息之前,还包括:
将所述IO错误信息写入所述预设函数库中;
利用预设函数库中的预设信息处理函数获取所述IO错误信息中的特征信息,包括:
利用所述预设信息处理函数获取所述预设函数库中的所述IO错误信息对应的虚拟机ID、UUID、所述虚拟机对应的主机ID、所述IO错误出现的时间点以及所述IO错误对应的数据量中的一种或多种的组合。
优选的,还包括:
利用预设监听机制监听所述预设函数库;
当检测到所述预设函数库中存在所述IO错误信息时,进入利用预设函数库中的预设信息处理函数获取所述IO错误信息中的特征信息的步骤。
优选的,将所述特征信息发送给控制器,包括:
生成包含所述特征信息的告警信息;
利用预设通信工具将所述告警信息发送给所述控制器;
其中,所述预设通信工具设置在所述服务器的内核态中。
优选的,在获取所述IO错误信息之后,还包括:
生成提示信号并发送给提示模块,以便所述提示模块在接收到所述提示信号后发出提示。
优选的,在将所述特征信息发送给控制器之后,还包括:
判断虚拟文件系统的读写形式是否为只读形式;
若是,则判定所述IO错误修复失败;
若否,则判定所述IO错误修复成功。
本申请还提供一种虚拟机的IO错误检测装置,包括:
存储器,用于存储计算机程序;
控制器,用于执行所述计算机程序时实现如上述的虚拟机的IO错误检测方法的步骤。
本申请还提供一种虚拟机的IO错误检测系统,包括:
信息判断单元,用于在向存储后端发送预设读写指令后,利用预设信息判断工具判断所述存储后端是否生成IO错误信息;若是,则触发第一获取单元;
所述第一获取单元,用于获取所述IO错误信息;
第二获取单元,用于利用预设函数库中的预设信息处理函数获取所述IO错误信息的特征信息;
发送单元,用于将所述特征信息发送给所述控制器,以便所述控制器执行预设的修复IO错误程序;
其中,所述预设信息判断工具和所述预设函数库均设置在所述服务器的内核态中。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的虚拟机的IO错误检测方法的步骤。
本发明提供了一种虚拟机的IO错误检测方法及其相关组件,涉及故障监控领域,在向存储后端发送预设读写指令后,利用预设信息判断工具判断存储后端是否生成IO错误信息;若确定存储后端生成IO错误信息,则获取该IO错误信息,然后利用预设函数库中的预设信息处理函数获取IO错误信息中的特征信息,最后将特征信息发送给控制器,以便控制器执行预设的修复IO错误程序。通过在向存储后端发出预设读写指令后立即检测其是否有IO错误信息生成的方法,能够及时地发现存储后端是否有IO错误,提高了发现IO错误的效率,进而能够避免IO错误产生之后带来的数据和经济损失。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种虚拟机的IO错误检测方法的流程图;
图2为本申请提供的一种虚拟机的IO错误检测装置的结构示意图;
图3为本申请提供的一种虚拟机的IO错误检测装置的结构示意图。
具体实施方式
本发明的核心是提供一种虚拟机的IO错误检测方法及其相关组件,能够及时地发现存储后端是否有IO错误,提高了发现IO错误的效率,进而能够避免IO错误产生之后带来的数据和经济损失。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本申请提供的一种虚拟机的IO错误检测方法的流程图,应用于服务器中的处理器,服务器中还包括控制器,虚拟机的IO错误检测方法包括:
S1:在向存储后端发送预设读写指令后,利用预设信息判断工具判断存储后端是否生成IO错误信息;若是,则触发S2;
随着云平台上作为节点的各个服务器上的数据不断增多,需要更多的存储后端如物理硬盘或网络存储设备等结构来给服务器提供数据存储的介质,而设置在云平台中的虚拟机的数量也在不断增长,在单位时间内及时检查和发现读写功能发生错误的虚拟机的难度越来越大。而在现有技术中,往往是通过被动感知的方式来发现虚拟机发生错误的,具体是当工作人员或者用户感知到某个虚拟机的读写功能发生异常时,才能够确定该虚拟机发生读写功能错误。
为了解决上述技术问题,本申请中,考虑到相对于虚拟机的数量而言,存储后端的数量较少,而且由于虚拟机需要跟云平台中的存储后端之间进行数据交互,因此,可以通过检测存储后端是否正常的方式来判断虚拟机是否存在读写功能的错误或者故障,例如,若存储后端为以网络存储设备,由于网络存储设备需要HBA(Host bus adapter,主机总线适配器)卡等网络设备来支持网络存储设备进行网络通信,而当HBA卡控制器出现重启的情况或者网络链路中出现中断等问题时,则会导致网络存储设备出现问题,进而导致出现IO错误。基于此,虚拟机的虚拟文件系统通过服务器的处理器向云平台中的某个存储后端发送预设的读写指令,当存储后端存在问题时,存储后端则无法正常响应该预设读写指令,而是会发出IO错误信息,所以在向存储后端发送预设读写指令后,判断该存储后端是否生成IO错误信息来间接判断虚拟机是否有读写功能的错误。
进一步的,考虑到若在服务器的应用程序层(或者也可以是用户态,为了简单理解,本申请中称作是用户态)中来检测存储后端是否生成IO错误信息,不仅需要人工开启相对应的检测软件,还需要使该软件持续在用户态中运行,这导致该检测软件需要占用较多的服务器资源,如cpu资源和内存资源等,进而影响到用户体验。而且,当用户处的节点服务器中的存储后端出现问题时,考虑到用户的隐私问题,工作人员难以通过应用程序层去干涉用户的节点服务器的应用程序层。因此,预设信息判断工具需要设置在服务器的内核态(或者也可以是虚拟化层,为了简单理解,本申请中称为内核态)而并非用户态中,预设信息判断工具具体可以是QEMU(Quick EMUlator,虚拟操作系统模拟器)。
S2:获取IO错误信息;
目前,为了避免存储后端故障或者错误的进一步扩大,以及避免用户的数据损失以及财产损失的扩大,存储后端在发现自身存在故障后,通常会在故障修复前拒绝所有的后续响应,也即当存在故障的存储后端接收到虚拟机的虚拟文件系统发送过来的预设读写指令后,不会响应预设读写指令,而是会生成表示自己存在故障的IO错误信息,以提示工作人员进行维修。因此,只需要在向存储后端发送预设读写指令后,通过预设信息判断工具如QEMUE工具获取该存储后端自身生成的IO错误信息即可。
S3:利用预设函数库中的预设信息处理函数获取IO错误信息的特征信息;
为了准确地定位发生错误的存储后端,本申请中,在确定了云平台中存在某个存储后端发生故障后,可以根据IO错误信息中的特征来确定具体发生错误的存储后端。具体的,预设函数库为libvirt,libvirt是一种存储有各种管理虚拟机和其他虚拟化功能的集合的数据库,其中包含了多种任务函数,如存储或网络接口管理等任务函数,通过,libvirt来获取的存储相关的功能来提取出IO错误信息中的某些能够代表存储后端身份的信息以及便于工作人员修复故障的信息,例如提取出IO错误信息中的存储后端ID、IO错误发生时间以及IO错误影响到的范围内信息。此外,libvirt设置在服务器的内核态中。
S4:将特征信息发送给控制器,以便控制器执行预设的修复IO错误程序;
为了及时修复存储后端的故障,保证云平台的正常运行,在存储后端发生故障后,将能够表明出现故障的存储后端的身份的特征信息发送给控制器,以便于控制器根据这些特征信息找出故障的存储后端,并根据其预先设定好的修复IO错误程序来修复该存储后端。具体的,由于存储后端的IO错误的解决方法对于工作人员而言是已知的,因此,可以将存储后端出现不同类型的IO错误各自对应的解决方法存储到服务器中,在实际应用中,当发现存储后端发生IO错误后,根据其类型确定对应的解决方法,并从服务器从调用出该解决方法来解决该IO错误;而当发现IO错误并非是能够简单解决的问题时,还可以发出警告以提示工作人员,以便工作人员进行修复。此外,控制器可以是服务器中的任何能够执行预设的修复IO错误程序的处理器或者其他控制单元等设备,如CPU(Central ProcessingUnit,中央处理器)或BMC(Baseboard Management Controller,基板管理控制器)等设备,本申请对此不做限定。
其中,预设信息判断工具和预设函数库均设置在服务器的内核态中。
综上所述,在向存储后端发送预设读写指令后,利用预设信息判断工具判断存储后端是否生成IO错误信息;若确定存储后端生成IO错误信息,则获取该IO错误信息,然后利用预设函数库中的预设信息处理函数获取IO错误信息中的特征信息,最后将特征信息发送给控制器,以便控制器执行预设的修复IO错误程序。通过在向存储后端发出预设读写指令后立即检测其是否有IO错误信息生成的方法,能够及时地发现存储后端是否有IO错误,提高了发现IO错误的效率,进而能够避免IO错误产生之后带来的数据和经济损失。
在上述实施例的基础上:
作为一种优选的实施例,在利用预设信息判断工具判断存储后端是否生成IO错误信息之前,还包括:
确定存储后端的存储类型;
根据存储后端的存储类型选择对应的前端驱动;
向存储后端发送预设读写指令,包括:
通过前端驱动向存储后端发送预设读写指令。
为了保证存储后端接收到正确的读写指令,本申请中,考虑到存储后端有多重类型,而不同类型的存储后端可能需要接收自身对应类型的读写指令才能正常进行响应。而在判断存储后端是否生成IO错误时,若存储后端接收到错误类型的读写指令,该存储后端也有可能生成IO错误,从而导致当获取到IO错误信息时,无法确定是存储后端存在故障还是虚拟文件系统发送了错误的读写指令给存储后端。因此,为了减少影响到判断存储后端是否故障的因素,需要保证存储后端接收到的读写指令为该存储后端能够正常进行响应的读写指令,具体的,首先需要确定虚拟机的虚拟文件系统需要向哪个存储后端发送读写指令,根据该存储后端的类型来确定虚拟文件系统需要通过哪种前端驱动来发送该读写指令,以便该存储后端能够接收到其能够正常进行响应的读写指令。例如,存储后端的类型为服务器上的物理硬盘,则可以从虚拟机的前端驱动队列中取出宿主机文件系统对应的前端驱动来给该存储后端发送读写指令;若存储后端的类型为网络存储设备(如分布式文件系统或者集中式存储),则会选择TCP/IP等网络链路的前端驱动先构建起虚拟机与存储后端之间的通信,再进行读写指令的传输。基于此,通过存储后端的类型选择不同的前端驱动,能够保证存储后端接收到正确的读写指令。
作为一种优选的实施例,在利用预设函数库中的预设信息处理函数获取IO错误信息中的特征信息之前,还包括:
将IO错误信息写入预设函数库中;
利用预设函数库中的预设信息处理函数获取IO错误信息中的特征信息,包括:
利用预设信息处理函数获取预设函数库中的IO错误信息对应的虚拟机ID、UUID、虚拟机对应的主机ID、IO错误出现的时间点以及IO错误对应的数据量中的一种或多种的组合。
为了实现对IO错误信息的检测与处理,本申请中,可以将IO错误信息写入到预设函数库也即libvirt中,具体是写入到libvirt的socket文件中,socket文件是在创建虚拟机的时候同时创建的,socket文件的作用是存储一些虚拟机可能出现的状态的变化信息,如虚拟机的加载以及卸载磁盘等状态的变化都会写入到该socket文件中,因此,可以将IO错误信息写入到socket文件中,以便后续根据socket文件来定位存在故障的存储后端,例如虚拟机的名称、UUID(Universally Unique Identifier,通用唯一识别码)、虚拟机所在的宿主机信息、IO错误出现的时间以及读写块的大小等信息写入到socket文件中。基于此,能够实现对IO错误信息的检测与处理。
作为一种优选的实施例,还包括:
利用预设监听机制监听所述预设函数库;
当检测到所述预设函数库中存在所述IO错误信息时,进入利用预设函数库中的预设信息处理函数获取所述IO错误信息中的特征信息的步骤。
为了及时发现IO错误信息,本申请中,可以通过Glib的Event事件监听机制持续对libvirt中的socket文件进行监听,若检测到出现IO错误信息写入,说明此时预设信息判断工具检测到了有存储后端存在IO错误,此时则会调用IO错误的预设信息处理函数,以便提取出IO错误信息中的特征信息。
作为一种优选的实施例,将特征信息发送给控制器,包括:
生成包含特征信息的告警信息;
利用预设通信工具将告警信息发送给控制器;
其中,预设通信工具设置在服务器的内核态中。
为了将IO错误信息发送给控制器,本申请中,可以在服务器中建立OpenStack云平台计算组件,在提取出socket文件中的特征信息后,可以将IO错误信息的特征信息上报到OpenStack云平台计算组件中,以便在OpenStack云平台计算组件中会对IO错误信息进行进一步处理,具体的,通过OpenStack中的Rabbitmq消息通知机制,将IO错误信息的特征信息作通过notification发送给OpenStack中的监控告警组件,然后监控告警组件再发送给控制器,以便控制器执行IO错误修复程序。
作为一种优选的实施例,在获取IO错误信息之后,还包括:
生成提示信号并发送给提示模块,以便提示模块在接收到提示信号后发出提示。
为了及时提示工作人员,本申请中,还可以在服务器中设置提示模块,提示模块可以包括显示屏、蜂鸣器或者LED灯等能够发出声音或者亮光以提示某些信息的模块;如当提示模块是显示屏时,则可以直接将故障的存储后端的IO错误信息展示在显示屏上,具体是展示虚拟机的名称、UUID、虚拟机所在的宿主机信息、IO错误出现的时间以及读写块的大小等信息;而当提示模块为蜂鸣器时,则可以根据故障的存储后端的特征信息生成对应的语音信息或者声音信息,通过其唯一的语音或声音来提示工作人员;而当提示模块为LED灯时,可以在各个存储后端处均设置一个LED灯,当检测到某个存储后端发生故障时,则可以控制故障的存储后端对应的LED灯亮起。基于此,通过设置提示模块,能够及时提示工作人员。
作为一种优选的实施例,其特征在于,在将特征信息发送给控制器之后,还包括:
判断虚拟文件系统的读写形式是否为只读形式;
若是,则判定IO错误修复失败;
若否,则判定IO错误修复成功。
为了确定存储后端的IO错误是否修复成功,本申请中,考虑到当存储后端出现IO错误时,服务器为了避免IO错误的进一步扩大以及避免用户的数据损失以及财产损失,IO错误信息会通过中断的方式上报给虚拟机的虚拟文件系统,而虚拟文件系统在检测到IO错误时,会将自身的文件数据读写权限更改为只读权限,相当于此时用户无法再通过该虚拟文件系统来对某些数据文件进行写入或者修改等敏感操作,而虚拟文件系统在检测到存储后端的IO错误修复后,则会重新开放权限。基于此,可以通过检测虚拟文件系统的读写形式是否为只读形式,若仍为只读形式,说明可能服务器自带的一些IO错误修复方法并没有解决本次出现的IO错误,需要人工进行更复杂的修复,因此判定IO错误修复失败,同时还可以将表示IO错误修复失败的原因以及使用的方法等内容发送给工作人员的设备上,以便工作人员根据服务器自己进行修复时的过程和结果来进行修复;而检测到虚拟文件系统的读写形式并非只读形式时,而是读写形式、修改形式或者完全控制形式时,说明此时虚拟文件系统没有检测到IO错误信息,进而可以确定存储后端的IO错误修复完成,此时则判定UO错误修复成功。基于此,能够简单地确定存储后端的IO错误是否修复成功。
请参照图2,图2为本申请提供的一种虚拟机的IO错误检测装置的结构示意图,包括:
存储器21,用于存储计算机程序;
控制器22,用于执行计算机程序时实现如上述的虚拟机的IO错误检测方法的步骤。
对于本申请提供的一种计虚拟机的IO错误检测装置的详细介绍,请参照上述虚拟机的IO错误检测方法的实施例,本申请在此不再赘述。
请参照图3,图3为本申请提供的一种虚拟机的IO错误检测系统的结构示意图,包括:
信息判断单元31,用于在向存储后端发送预设读写指令后,利用预设信息判断工具判断存储后端是否生成IO错误信息;若是,则触发第一获取单元;
第一获取单元32,用于获取IO错误信息;
第二获取单元33,用于利用预设函数库中的预设信息处理函数获取IO错误信息的特征信息;
发送单元34,用于将特征信息发送给控制器,以便控制器执行预设的修复IO错误程序;
其中,预设信息判断工具和预设函数库均设置在服务器的内核态中。
对于本申请提供的一种计虚拟机的IO错误检测系统的详细介绍,请参照上述虚拟机的IO错误检测方法的实施例,本申请在此不再赘述。
在上述实施例的基础上:
作为一种优选的实施例,还包括:
存储类型确定单元,用于在利用预设信息判断工具判断存储后端是否生成IO错误信息之前,确定存储后端的存储类型;
驱动选择单元,用于根据存储后端的存储类型选择对应的前端驱动;
虚拟机的IO错误检测系统还包括:
指令发送单元,用于通过前端驱动向存储后端发送预设读写指令。
作为一种优选的实施例,还包括:
信息写入单元,用于在利用预设函数库中的预设信息处理函数获取IO错误信息中的特征信息之前,将IO错误信息写入预设函数库中;
第二获取单元33具体用于利用预设信息处理函数获取预设函数库中的IO错误信息对应的虚拟机ID、UUID、虚拟机对应的主机ID、IO错误出现的时间点以及IO错误对应的数据量中的一种或多种的组合。
作为一种优选的实施例,还包括:
监听单元,用于利用预设监听机制监听预设函数库,当检测到预设函数库中存在IO错误信息时,触发第二获取单元33。
作为一种优选的实施例,发送单元34包括:
告警信息生成单元,用于生成包含特征信息的告警信息;
告警信息发送单元,用于利用预设通信工具将告警信息发送给控制器;
其中,预设通信工具设置在服务器的内核态中。
作为一种优选的实施例,还包括:
提示信息发送单元,用于在获取IO错误信息之后,生成提示信号并发送给提示模块,以便提示模块在接收到提示信号后发出提示。
作为一种优选的实施例,还包括:
判断单元,用于在将特征信息发送给控制器之后,判断虚拟文件系统的读写形式是否为只读形式;若是,则触发修复失败单元;若否,则触发修复成功单元;
修复失败单元用于判定IO错误修复失败;
修复成功单元用于判定IO错误修复成功。
本申请还提供一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的虚拟机的IO错误检测方法的步骤。
对于本申请提供的一种计算机可读存储介质的详细介绍,请参照上述虚拟机的IO错误检测方法的实施例,本申请在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种虚拟机的IO错误检测方法,其特征在于,应用于服务器中的处理器,所述服务器中还包括控制器,所述虚拟机的IO错误检测方法包括:
在向存储后端发送预设读写指令后,利用预设信息判断工具判断所述存储后端是否生成IO错误信息;
若是,则获取所述IO错误信息;
利用预设函数库中的预设信息处理函数获取所述IO错误信息的特征信息;
将所述特征信息发送给所述控制器,以便所述控制器执行预设的修复IO错误程序;
其中,所述预设信息判断工具和所述预设函数库均设置在所述服务器的内核态中。
2.如权利要求1所述的虚拟机的IO错误检测方法,其特征在于,在利用预设信息判断工具判断所述存储后端是否生成IO错误信息之前,还包括:
确定所述存储后端的存储类型;
根据所述存储后端的存储类型选择对应的前端驱动;
向存储后端发送预设读写指令,包括:
通过所述前端驱动向所述存储后端发送所述预设读写指令。
3.如权利要求1所述的虚拟机的IO错误检测方法,其特征在于,在利用预设函数库中的预设信息处理函数获取所述IO错误信息中的特征信息之前,还包括:
将所述IO错误信息写入所述预设函数库中;
利用预设函数库中的预设信息处理函数获取所述IO错误信息中的特征信息,包括:
利用所述预设信息处理函数获取所述预设函数库中的所述IO错误信息对应的虚拟机ID、UUID、所述虚拟机对应的主机ID、所述IO错误出现的时间点以及所述IO错误对应的数据量中的一种或多种的组合。
4.如权利要求3所述的虚拟机的IO错误检测方法,其特征在于,还包括:
利用预设监听机制监听所述预设函数库;
当检测到所述预设函数库中存在所述IO错误信息时,进入利用预设函数库中的预设信息处理函数获取所述IO错误信息中的特征信息的步骤。
5.如权利要求1所述的虚拟机的IO错误检测方法,其特征在于,将所述特征信息发送给控制器,包括:
生成包含所述特征信息的告警信息;
利用预设通信工具将所述告警信息发送给所述控制器;
其中,所述预设通信工具设置在所述服务器的内核态中。
6.如权利要求1所述的虚拟机的IO错误检测方法,其特征在于,在获取所述IO错误信息之后,还包括:
生成提示信号并发送给提示模块,以便所述提示模块在接收到所述提示信号后发出提示。
7.如权利要求1至6任一项所述的虚拟机的IO错误检测方法,其特征在于,在将所述特征信息发送给控制器之后,还包括:
判断虚拟文件系统的读写形式是否为只读形式;
若是,则判定所述IO错误修复失败;
若否,则判定所述IO错误修复成功。
8.一种虚拟机的IO错误检测装置,其特征在于,包括:
存储器,用于存储计算机程序;
控制器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的虚拟机的IO错误检测方法的步骤。
9.一种虚拟机的IO错误检测系统,其特征在于,包括:
信息判断单元,用于在向存储后端发送预设读写指令后,利用预设信息判断工具判断所述存储后端是否生成IO错误信息;若是,则触发第一获取单元;
所述第一获取单元,用于获取所述IO错误信息;
第二获取单元,用于利用预设函数库中的预设信息处理函数获取所述IO错误信息的特征信息;
发送单元,用于将所述特征信息发送给所述控制器,以便所述控制器执行预设的修复IO错误程序;
其中,所述预设信息判断工具和所述预设函数库均设置在所述服务器的内核态中。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的虚拟机的IO错误检测方法的步骤。
CN202211071611.6A 2022-09-02 2022-09-02 一种虚拟机的io错误检测方法及其相关组件 Pending CN115408192A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211071611.6A CN115408192A (zh) 2022-09-02 2022-09-02 一种虚拟机的io错误检测方法及其相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211071611.6A CN115408192A (zh) 2022-09-02 2022-09-02 一种虚拟机的io错误检测方法及其相关组件

Publications (1)

Publication Number Publication Date
CN115408192A true CN115408192A (zh) 2022-11-29

Family

ID=84162837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211071611.6A Pending CN115408192A (zh) 2022-09-02 2022-09-02 一种虚拟机的io错误检测方法及其相关组件

Country Status (1)

Country Link
CN (1) CN115408192A (zh)

Similar Documents

Publication Publication Date Title
CN105357038A (zh) 监控虚拟机集群的方法和系统
US11157373B2 (en) Prioritized transfer of failure event log data
JP4598065B2 (ja) 監視シミュレーション装置,方法およびそのプログラム
JPH0652003A (ja) 中央側からの支援によりノードコンピュータの問題を解析するための方法、コンピュータプログラムプロダクト、及びコンピュータネットワーク
CN109308239B (zh) 用于输出信息的方法和装置
CN111949551A (zh) 应用程序测试方法、装置、设备及存储介质
JP5425720B2 (ja) 仮想化環境監視装置とその監視方法およびプログラム
US20170132102A1 (en) Computer readable non-transitory recording medium storing pseudo failure generation program, generation method, and generation apparatus
CN112529223A (zh) 一种设备故障报修方法、装置、服务器及储存介质
US9021078B2 (en) Management method and management system
CN113868058A (zh) 一种外设组件高速互联设备故障检测方法、装置及服务器
EP2860633A1 (en) Method for maintaining file system of computer system
CN113672451A (zh) 一种bmc服务检测方法、装置、设备及可读存储介质
US7996707B2 (en) Method to recover from ungrouped logical path failures
CN111124785B (zh) 一种硬盘故障检查的方法、装置、设备及存储介质
CN115408192A (zh) 一种虚拟机的io错误检测方法及其相关组件
CN112882871B (zh) 主机冲突检测方法、装置、设备及存储介质
GB2532076A (en) Backup method, pre-testing method for environment updating and system thereof
US20210334153A1 (en) Remote error detection method adapted for a remote computer device to detect errors that occur in a service computer device
CN114153503A (zh) 一种bios控制方法、装置、介质
CN110362464B (zh) 软件分析方法及设备
CN111444032A (zh) 一种计算机系统故障修复方法、系统及设备
CN114205231A (zh) 批量启动hadoop集群的方法、系统及可读存储介质
CN113254357A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN115567256A (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