CN113254166A - 一种处理io请求的方法、存储介质和虚拟化模拟器 - Google Patents
一种处理io请求的方法、存储介质和虚拟化模拟器 Download PDFInfo
- Publication number
- CN113254166A CN113254166A CN202110787141.2A CN202110787141A CN113254166A CN 113254166 A CN113254166 A CN 113254166A CN 202110787141 A CN202110787141 A CN 202110787141A CN 113254166 A CN113254166 A CN 113254166A
- Authority
- CN
- China
- Prior art keywords
- request
- response
- network storage
- storage device
- requests
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种处理IO请求的方法、存储介质和虚拟化模拟器。该方法具体地:接收虚拟机的IO请求并将该IO请求发送给网络存储设备进行处理,然后若接收到网络存储设备返回的IO正常响应消息,则实时将其发送给虚拟机,若在预设的响应时长内没接收到网络存储设备返回的IO正常响应消息,则在预设时长内悬挂上述IO请求,即暂不执行IO响应异常流程。上述方法在预设时长内,不执行IO响应异常流程,留出时间等待网络通信信号恢复,降低了因网络通信信号不稳定而导致虚拟机文件系统变成只读状态的几率。
Description
技术领域
本发明涉及虚拟机的IO处理技术领域,尤其涉及一种处理IO请求的方法、存储介质和虚拟化模拟器。
背景技术
有些虚拟机所使用的存储设备是网络存储设备。虚拟机和网络存储设备之间的IO通信方式为:虚拟机发出IO请求给QEMU,QEMU把IO请求下发给网络存储设备,网络存储设备接收到IO请求之后进行处理,然后向QEMU返回IO正常响应消息。若网络通信信号不稳定,在没信号时就会无法访问网络存储设备,QEMU就不会收到网络存储设备返回的IO正常响应消息。QEMU在预设的响应时长内没有接收到网络存储设备发送的IO正常响应消息,就会执行IO响应异常流程,即生成IO响应异常消息并发送给虚拟机。当虚拟机接收到IO响应异常消息的次数达到预设次数后,虚拟机会认为网络存储设备故障,那么就把虚拟机文件系统变成只读状态,这样会导致虚拟机的操作系统或者应用程序异常。
发明内容
本发明所要解决的技术问题是如何降低因网络通信信号不稳定而导致虚拟机文件系统变成只读状态的几率。
网络通信信号不稳定也就是网络通信信号时有时无,在无信号时会导致IO响应异常,通常等到信号恢复就可以自动解决,等待信号恢复的耗时一般不会太长。因此,本发明的思路是QEMU在预设的响应时长内没有接收到网络存储设备返回的IO正常响应消息时,先不执行IO响应异常流程,避免虚拟机在短时间内接收到IO响应异常消息的次数达到预设次数,而是留出时间等待网络通信信号恢复,如此则可降低因网络通信信号不稳定而导致虚拟机文件系统变成只读状态的几率。
本发明的一种处理IO请求的方法,接收虚拟机的IO请求并将该IO请求发送给网络存储设备进行处理,然后若接收到网络存储设备返回的IO正常响应消息,则实时将其发送给虚拟机,若在预设的响应时长内没接收到网络存储设备返回的IO正常响应消息,则在预设时长内悬挂上述IO请求,即暂不执行IO响应异常流程。
可选地,在所述预设时长内,将所述IO请求再次发送给网络存储设备。
可选地,在所述预设时长内,反复将所述IO请求发送给网络存储设备,直至接收到网络存储设备返回的IO正常响应消息。
可选地,若超过所述预设时长仍没有接收到网络存储设备返回的IO正常响应消息,则执行IO响应异常流程,不再悬挂上述IO请求。
可选地,预先根据网络存储设备的网络通信信号的稳定性设置所述预设时长,网络通信信号的稳定性越高则把预设时长设置得越短。
可选地,所述的不执行IO响应异常流程具体系不生成IO响应异常消息,或者系生成IO响应异常消息但不将其发送给虚拟机。
可选地,所述预设时长为30分钟。
可选地,所述IO响应异常消息是指IO错误消息。
一种计算机可读存储介质,其上存储有可执行的计算机程序,该计算机程序被执行时可实现如上所述的处理IO请求的方法。
一种虚拟化模拟器,该虚拟化模拟器执行如上所述的处理IO请求的方法。
上述方法在预设时长内,不执行IO响应异常流程,留出时间等待网络通信信号恢复,降低了因网络通信信号不稳定而导致虚拟机文件系统变成只读状态的几率。
附图说明
图1是一种处理IO请求的方法的逻辑流程图。
具体实施方式
以下结合具体实施方式对本发明创造作进一步详细说明。
QEMU是一种虚拟化模拟器,其优点在于是基于纯软件实现的,可以模拟绝大多数的硬件设备,但也正是因为QEMU是基于纯软件实现的,虚拟机与提供虚拟硬件服务的物理设备之间的所有指令都需要经过QEMU进行转手。
如图1所示,虚拟机若需要访问网络存储设备,就向QEMU发送IO请求,QEMU就把该IO请求发送给网络存储设备。网络存储设备接收到IO请求后就进行相应的处理,处理好之后就会向QEMU返回IO正常响应消息;QEMU接收到IO正常响应消息之后,将其发送给虚拟机。但在网络没信号时,网络存储设备无法接收到IO请求,也就不会向QEMU返回IO正常响应消息。QEMU在预设的响应时长内没有接收到IO正常响应消息,就会执行IO响应异常流程,具体地:生成IO 错误消息(即IO响应异常消息),然后把IO错误消息发送给虚拟机。当虚拟机接收到IO响应异常消息的次数达到预设次数后,虚拟机就会认为网络存储设备故障,从而把虚拟机文件系统变成只读状态。若是因网络通信信号不稳定而导致没信号,那等待信号恢复的耗时一般不会太长。因此,为了降低因网络通信信号不稳定而导致虚拟机文件系统变成只读状态的几率,本发明的思路是QEMU在预设的响应时长内没有接收到网络存储设备返回的IO正常响应消息时,先对IO请求进行悬挂,留出时间等待网络通信信号恢复。下面以实例来说明QEMU处理IO请求的方法流程:
QEMU接收到虚拟机发送的IO请求后,将其发送给网络存储设备,假设此时网络通信信号不佳,网络存储设备接收不到IO请求,就不会向QEMU返回IO正常响应消息。QEMU在预设的响应时长内没有接收到网络存储设备返回的IO正常响应消息,那么就认为出现了IO错误,但QEMU先悬挂该IO请求,暂不生成IO错误消息。QEMU预先根据网络存储设备的网络通信信号的稳定性来设置悬挂时长,网络通信信号的稳定性越高则把预设时长设置得越短。上述网络存储设备的网络通信信号稳定性一般,则QEMU把悬挂时长设为30分钟。在预设时长30分钟内,QEMU按照预设的时间间隔,反复将上述IO请求发送给网络存储设备。通常情况下,若是由于网络通信信号不稳定造成的IO错误,则多数情况下会在30分钟内自动恢复网络通信信号。一般在30分钟内,网络通信信号恢复了,那么当QEMU再次发送上述IO请求时,网络存储设备就能够接收到了。网络存储设备接收到上述IO请求之后,对其进行处理,然后向QEMU返回IO正常响应消息。QEMU接收到IO正常响应消息之后,结束悬挂上述IO请求,把IO正常响应消息发送给虚拟机。若不是由于网络通信信号不稳定造成的IO错误,意味着很可能是网络存储设备真的出现故障,该情况下不会在30分钟内自动恢复。因此,QEMU如果超过30分钟之后仍没有接收到网络存储设备返回的IO正常响应消息,就结束悬挂上述IO请求,生成IO错误消息然后将其发送给虚拟机。本实施例的虚拟机在接收到IO错误消息之后,就使虚拟机文件系统进入只读状态。非优选地,虚拟机可以改为采用按照现有的方式来判断是否使虚拟机文件系统进入只读状态,也就是接收到IO响应异常消息的次数达到预设次数后,才使虚拟机文件系统变成只读状态。
在其他实施例中,若在预设的响应时长内没有接收到网络存储设备返回的IO正常响应消息,QEMU悬挂上述IO请求的方式可以改为生成IO错误消息但不将其发送给虚拟机,这样一来,若在预设时长30分钟内接收到网络存储设备返回的IO正常响应消息,QEMU就把生成的IO错误消息删掉;若超过预设时长30分钟之后仍没有接收到网络存储设备返回的IO正常响应消息,QEMU就将IO错误消息发送给虚拟机。
如上所述仅为本发明创造的实施方式,不以此限定专利保护范围。本领域技术人员在本发明创造的基础上作出非实质性的变化或替换,仍落入专利保护范围。
Claims (10)
1.一种处理IO请求的方法,接收虚拟机的IO请求并将该IO请求发送给网络存储设备进行处理,然后若接收到网络存储设备返回的IO正常响应消息,则实时将其发送给虚拟机,其特征是:若在预设的响应时长内没接收到网络存储设备返回的IO正常响应消息,则在预设时长内悬挂上述IO请求,即暂不执行IO响应异常流程。
2.如权利要求1所述的处理IO请求的方法,其特征是:在所述预设时长内,将所述IO请求再次发送给网络存储设备。
3.如权利要求2所述的处理IO请求的方法,其特征是:在所述预设时长内,反复将所述IO请求发送给网络存储设备,直至接收到网络存储设备返回的IO正常响应消息。
4.如权利要求3所述的处理IO请求的方法,其特征是:若超过所述预设时长仍没有接收到网络存储设备返回的IO正常响应消息,则执行IO响应异常流程,不再悬挂上述IO请求。
5.如权利要求1所述的处理IO请求的方法,其特征是:预先根据网络存储设备的网络通信信号的稳定性设置所述预设时长,网络通信信号的稳定性越高则把预设时长设置得越短。
6.如权利要求1所述的处理IO请求的方法,其特征是:所述的不执行IO响应异常流程具体系不生成IO响应异常消息,或者系生成IO响应异常消息但不将其发送给虚拟机。
7.如权利要求1所述的处理IO请求的方法,其特征是:所述预设时长为30分钟。
8.如权利要求6所述的处理IO请求的方法,其特征是:所述IO响应异常消息是指IO错误消息。
9.一种计算机可读存储介质,其上存储有可执行的计算机程序,其特征是:该计算机程序被执行时可实现如权利要求1至8当中任一项所述的处理IO请求的方法。
10.一种虚拟化模拟器,其特征是:该虚拟化模拟器执行如权利要求1至8当中任一项所述的处理IO请求的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110787141.2A CN113254166A (zh) | 2021-07-13 | 2021-07-13 | 一种处理io请求的方法、存储介质和虚拟化模拟器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110787141.2A CN113254166A (zh) | 2021-07-13 | 2021-07-13 | 一种处理io请求的方法、存储介质和虚拟化模拟器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113254166A true CN113254166A (zh) | 2021-08-13 |
Family
ID=77191107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110787141.2A Pending CN113254166A (zh) | 2021-07-13 | 2021-07-13 | 一种处理io请求的方法、存储介质和虚拟化模拟器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254166A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115756732A (zh) * | 2023-01-09 | 2023-03-07 | 苏州浪潮智能科技有限公司 | Io请求的监测方法及装置、存储介质及电子设备 |
WO2023246560A1 (zh) * | 2022-06-23 | 2023-12-28 | 华为技术有限公司 | 数据存储方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556473A (zh) * | 2014-12-27 | 2016-05-04 | 华为技术有限公司 | 一种i/o任务处理的方法、设备和系统 |
CN107817944A (zh) * | 2016-09-12 | 2018-03-20 | 华为技术有限公司 | 一种数据处理方法及存储设备 |
CN112532701A (zh) * | 2020-11-19 | 2021-03-19 | 苏州浪潮智能科技有限公司 | 一种基于模拟处理器qemu的分布式加速存储方法及系统 |
CN113032106A (zh) * | 2021-04-29 | 2021-06-25 | 中国工商银行股份有限公司 | 计算节点io悬挂异常自动检测方法及装置 |
-
2021
- 2021-07-13 CN CN202110787141.2A patent/CN113254166A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556473A (zh) * | 2014-12-27 | 2016-05-04 | 华为技术有限公司 | 一种i/o任务处理的方法、设备和系统 |
CN107817944A (zh) * | 2016-09-12 | 2018-03-20 | 华为技术有限公司 | 一种数据处理方法及存储设备 |
CN112532701A (zh) * | 2020-11-19 | 2021-03-19 | 苏州浪潮智能科技有限公司 | 一种基于模拟处理器qemu的分布式加速存储方法及系统 |
CN113032106A (zh) * | 2021-04-29 | 2021-06-25 | 中国工商银行股份有限公司 | 计算节点io悬挂异常自动检测方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023246560A1 (zh) * | 2022-06-23 | 2023-12-28 | 华为技术有限公司 | 数据存储方法及电子设备 |
CN115756732A (zh) * | 2023-01-09 | 2023-03-07 | 苏州浪潮智能科技有限公司 | Io请求的监测方法及装置、存储介质及电子设备 |
CN115756732B (zh) * | 2023-01-09 | 2023-04-07 | 苏州浪潮智能科技有限公司 | Io请求的监测方法及装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647580B (zh) | 分布式容器集群镜像管理主节点、从节点、系统及方法 | |
US8468288B2 (en) | Method for efficient guest operating system (OS) migration over a network | |
US4628508A (en) | Computer of processor control systems | |
US9489230B1 (en) | Handling of virtual machine migration while performing clustering operations | |
CN113254166A (zh) | 一种处理io请求的方法、存储介质和虚拟化模拟器 | |
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
WO2012000997A1 (en) | An apparatus for processing a batched unit of work | |
WO2016045439A1 (zh) | 一种vnfm容灾保护的方法、装置和nfvo、存储介质 | |
CN106331065A (zh) | 一种用于具有服务容器的主机系统的代理应用以及系统 | |
CN109391691A (zh) | 一种单节点故障下nas服务的恢复方法及相关装置 | |
US5151990A (en) | Nonvolatile memory management in a data processing network | |
CN110109772A (zh) | 一种cpu的重启方法、通信设备及可读存储介质 | |
WO2020233001A1 (zh) | 双控构架分布式存储系统、数据读取方法、装置和存储介质 | |
CN107168774B (zh) | 一种基于本地存储的虚拟机迁移方法及系统 | |
CN109905459B (zh) | 一种数据传输方法及装置 | |
CN111880947A (zh) | 一种数据传输方法及装置 | |
CN112751743A (zh) | 消息发送异常的处理方法、消息发送装置和电子设备 | |
CN102722678A (zh) | 一种虚拟桌面可执行程序保护机制 | |
CN114356533A (zh) | 微服务无感知发布系统、方法、电子设备及存储介质 | |
CN109189615A (zh) | 一种宕机处理方法和装置 | |
CN110874473A (zh) | 病毒检测方法、装置及系统、云服务系统、存储介质 | |
CN112965831B (zh) | 抑制数据反复平滑的方法及装置 | |
JP2015114952A (ja) | ネットワークシステム、監視制御装置およびソフトウェア検証方法 | |
CN106844151A (zh) | 一种VxWorks系统的网络任务异常检测方法 | |
CN109361620B (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 |