CN112685137A - 一种云计算虚拟机块存储熔断保护方法 - Google Patents
一种云计算虚拟机块存储熔断保护方法 Download PDFInfo
- Publication number
- CN112685137A CN112685137A CN202110018394.3A CN202110018394A CN112685137A CN 112685137 A CN112685137 A CN 112685137A CN 202110018394 A CN202110018394 A CN 202110018394A CN 112685137 A CN112685137 A CN 112685137A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- information
- block storage
- heartbeat
- fusing
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种云计算虚拟机块存储熔断保护方法。该保护方法包括步骤:S1:第一虚拟机以熔断驱动程序在固定的心跳时间间隔,向所述块储存中的保留空间读取心跳信息;所述心跳信息包括主机信息、时间记录信息;S2:验证所述心跳信息,判断是否执行对所述块储存熔断保护,以及;当所述主机信息不属于所述第一虚拟机,且所述时间记录信息无效,则所述第一虚拟机以所述熔断驱动程序向所述保留空间写入所述心跳信息,等待第二若干时间,读取所述心跳信息,并验证所述心跳信息。本发明能够很好地阻止在不可预测的环境下发生多个虚拟机同时写相同块存储情况,保护了虚拟机的操作系统和文件系统,提高了云计算平台调度虚拟机的可靠性和安全性。
Description
技术领域
本发明涉及云计算领域,尤其涉及一种云计算虚拟机块存储熔断保护方法。
背景技术
虚拟机使用的最基本存储技术是块存储,虚拟机的虚拟磁盘就是一种块存储。用作虚拟磁盘的可以是主机上的真实存储设备,也可以是本地的文件或远程的存储服务。云计算采用的重要技术之一是虚拟机,云计算把很多的物理主机管理起来变成集群,然后调度虚拟机运行在不同的主机上。
当其中一台物理主机中断服务(故障或维护)时,云计算平台能够调度这台主机上的虚拟机迁移到其它可用的物理主机上,使得虚拟机持续运行。虚拟机能够快速迁移的前提是虚拟磁盘使用共享式块存储,使得在不同的物理主机上都能直接访问对应的块存储,这也是当前云计算虚拟机实现高可用的主流做法。
当集群管控中心探测到物理主机A发生故障后,集群管控中心会尽最大努力通知物理主机A把虚拟机停止,然后找到能容纳故障虚拟机的物理主机B,通知物理主机B恢复虚拟机运行。由于采用了共享式块存储,物理主机B也能访问对应的块存储,在物理主机B上使用相同的虚拟磁盘启动虚拟机,新虚拟机内部的持久化数据跟原来一致。
在实际的运行过程中,当物理主机发生故障后,集群管控中心可能无法联系故障物理主机,从而认为该主机已经切底中断,然后在其它物理主机上执行恢复虚拟机命令。假如集群管控中心无法联系物理主机A从而认为它已经切底中断了,然后在物理主机B上执行恢复虚拟机命令,此时物理主机A上的虚拟机可能仍然在运行,就会造成多个虚拟机同时写同一个块存储的情况,破坏块存储里的数据,从而破坏虚拟机的操作系统和文件系统,造成业务出错和数据丢失等严重故障。
申请号为202010558659.4的专利文献公开了一种统一服务的限流熔断平台及其方法,应用于高并发场景下,降低访问的频次,出现不可用服务时候通过限流或熔断的方式/机制,让该服务不可用,保障了平台的可用性和稳定性;但并未涉及到如何解决避免多个虚拟机同时写同一块存储的问题,因此当下尤其需要相关的技术解决方案。
发明内容
针对上述问题,本发明的目的是公开一种云计算虚拟机块存储熔断保护方法,能够有效地避免难以预测的多个虚拟机同时写相同块存储而造成风险,可以提高数据保护的安全性,同时也显著地提高了云计算平台调度虚拟机的可靠性。
为解决上述技术问题,一种云计算虚拟机块存储熔断保护方法,包括以下步骤:
S1:第一虚拟机以熔断驱动程序在固定的心跳时间间隔向所述块储存中的保留空间读取心跳信息;所述心跳信息包括主机信息、时间记录信息;
S2:验证所述心跳信息,判断是否执行对所述块储存熔断保护,其中:
当所述主机信息属于所述第一虚拟机,或所述心跳信息不存在,则所述第一虚拟机正常读写所述块储存,以及以所述熔断驱动程序在固定的所述心跳时间间隔向所述保留空间写入所述心跳信息;
当所述主机信息不属于所述第一虚拟机,且所述时间记录信息有效,则执行对所述块储存熔断保护,所述第一虚拟机停止运行,熔断所述块储存全部IO操作;
以及;当所述主机信息不属于所述第一虚拟机,且所述时间记录信息无效,则所述第一虚拟机以所述熔断驱动程序向所述保留空间写入所述心跳信息,等待第二若干时间,读取所述心跳信息,并验证所述心跳信息。
进一步地,所述时间记录信息有效为所述时间记录信息于固定心跳时间间隔变化。
进一步地,所述时间记录信息无效所述时间记录信息于第一若干时间保持不变。
进一步地,所述心跳信息还包括进程记录信息、CRC校验记录信息。
进一步地,所述第一若干时间为大于3倍的心跳时间间隔。
进一步地,所述第二若干时间为1至1.5倍的心跳时间间隔。
进一步地,所述保留空间设于所述块储存的储存空间开头部分。
进一步地,所述保留空间仅允许所述熔断驱动程序读写。
与现有技术相比,本方案的有益效果为:
本发明提供一种云计算虚拟机块存储熔断保护方法,能够在不可预料的环境中,避免发生的多个虚拟机同时写相同块存储情况,使得不会破坏到块存储里的数据,阻止发生数据丢失等严重故障,进而保护了虚拟机的操作系统和文件系统,使业务能够正常地运行,大大提高了云计算平台调度虚拟机的可靠性和安全性。
附图说明
图1是本发明所述方法示意图;
图2是本发明所述方法流程图;
图3是现有所述集群管控中心示意图;
图4是本方案所述集群管控中心示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于此描述的其他方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
下面结合具体实施例和附图对本发明的技术方案进行清楚、完整的描述。
本发明公开了一种云计算虚拟机块存储熔断保护方法。该方法包括步骤
第一虚拟机以熔断驱动程序在固定的心跳时间间隔向所述块储存中的保留空间读取心跳信息;所述心跳信息包括主机信息、时间记录信息;验证所述心跳信息,判断是否执行对所述块储存熔断保护,其中:
当所述主机信息属于所述第一虚拟机,或所述心跳信息不存在,则所述第一虚拟机正常读写所述块储存,以及以所述熔断驱动程序在固定的所述心跳时间间隔向所述保留空间写入所述心跳信息。
当所述主机信息不属于所述第一虚拟机,且所述时间记录信息有效,则执行对所述块储存熔断保护,所述第一虚拟机停止运行,熔断所述块储存全部IO操作;
以及;当所述主机信息不属于所述第一虚拟机,且所述时间记录信息无效,则所述第一虚拟机以所述熔断驱动程序向所述保留空间写入所述心跳信息,等待第二若干时间,读取所述心跳信息,并验证所述心跳信息。
本发明能够很好地阻止在不可预测的环境下发生多个虚拟机同时写相同块存储情况,使得不会破坏到块存储里的数据,阻止发生数据丢失等严重故障,保护了虚拟机的操作系统和文件系统,使业务能够正常地运行,提高了云计算平台调度虚拟机的可靠性和安全性。
实施例1
一种云计算虚拟机块存储熔断保护方法,如图1和图2所示,包括:
S1:第一虚拟机以熔断驱动程序在固定的心跳时间间隔向所述块储存中的保留空间读取心跳信息;所述心跳信息如下述表1所示:
表1是本发明所述心跳信息示意表
所述心跳信息包括主机信息编号、时间记录信息、进程记录信息编号、CRC校验记录信息;其中所述保留空间1设于所述块储存的储存空间开头部分;所述保留空间1仅允许所述熔断驱动程序读写,对所述虚拟机来说是透明的,无法感知到这块所述保留空间1区域的存在,虚拟机的任何IO请求都会绕过这块空间之后来计算正确的IO偏移位置,虚拟机得知的块存储总空间是由熔断驱动程序减去这块空间后的剩余大小;所述熔断驱动程序可以设于所述块储存设备的驱动层,也可以设于所述块储存对应的驱动程序里面;所述熔断驱动程序会创建一个异步协程或线程来负责操作所述保留空间1。
S2:验证所述心跳信息,判断是否执行对所述块储存熔断保护,其中:
当所述主机信息属于所述第一虚拟机,或所述心跳信息不存在说明所述块储存未被操作,则所述第一虚拟机正常读写所述块储存,以及以所述熔断驱动程序在固定的所述心跳时间间隔向所述保留空间1写入所述心跳信息。
当所述主机信息不属于所述第一虚拟机,且所述时间记录信息有效为所述时间记录信息于固定心跳时间间隔变化时,说明所述块储存正在被其他虚拟机进行正常操作,则执行对所述块储存熔断保护,所述第一虚拟机停止运行,熔断所述块储存全部IO操作
以及:当所述主机信息不属于所述第一虚拟机,且所述时间记录信息无效为所述时间记录信息于第一若干时间保持不变,说明所述块储存曾经被其他虚拟机操作,但是所述块储存与其他虚拟机可能已经中断,则所述第一虚拟机以所述熔断驱动程序向所述保留空间1写入所述心跳信息,等待第二若干时间,读取所述心跳信息,并验证所述心跳信息,再次进行判断。其中,所述第一若干时间为大于3倍的心跳时间间隔,所述第二若干时间为1至1.5倍的心跳时间间隔。
云计算把很多的物理主机管理起来变成的集群管控中心,虚拟磁盘使用的是共享块储存,当A虚拟机断开后,B虚拟机可以访问应对的块储存,如图3所示。通常,当虚拟机里面的操作系统发出读写磁盘请求时,IO通过虚拟设备到达物理主机上的进程,主机上的进程根据块设备的类型使用对应的驱动去进行IO操作,完成后返回给虚拟机。在不可预料的环境中,会发生多个虚拟机同时写相同块存储情况,破坏到块存储里的数据,发生数据丢失等严重故障,损坏虚拟机的操作系统和文件系统。
本实施例则在上述基础上,如图4所示,增加了所述熔断驱动程序和所述保留空间1的设计方案,可以通过对所述保留空间1内所述心跳信息的判断,可以保证A虚拟机与所述块储存彻底熔断,B虚拟机接续运行对所述块储存的读写,使业务能够正常地运行,大大提高了云计算平台调度虚拟机的可靠性和安全性。
以上所述,仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,故凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (8)
1.一种云计算虚拟机块存储熔断保护方法,其特征在于,包括以下步骤:
S1:第一虚拟机以熔断驱动程序在固定的心跳时间间隔,向所述块储存中的保留空间读取心跳信息;所述心跳信息包括主机信息、时间记录信息;
S2:验证所述心跳信息,判断是否执行对所述块储存熔断保护,其中:
当所述主机信息属于所述第一虚拟机,或所述心跳信息不存在,则所述第一虚拟机正常读写所述块储存,以及以所述熔断驱动程序在固定的所述心跳时间间隔向所述保留空间写入所述心跳信息;
当所述主机信息不属于所述第一虚拟机,且所述时间记录信息有效,则执行对所述块储存熔断保护,所述第一虚拟机停止运行,熔断所述块储存全部IO操作;
以及;当所述主机信息不属于所述第一虚拟机,且所述时间记录信息无效,则所述第一虚拟机以所述熔断驱动程序向所述保留空间写入所述心跳信息,等待第二若干时间,读取所述心跳信息,并验证所述心跳信息。
2.根据权利要求1的云计算虚拟机块存储熔断保护方法,其特征在于:所述时间记录信息有效为所述时间记录信息于固定心跳时间间隔变化。
3.根据权利要求1的云计算虚拟机块存储熔断保护方法,其特征在于:所述时间记录信息无效所述时间记录信息于第一若干时间保持不变。
4.根据权利要求1的云计算虚拟机块存储熔断保护方法,其特征在于:所述心跳信息还包括进程记录信息、CRC校验记录信息。
5.根据权利要求1的云计算虚拟机块存储熔断保护方法,其特征在于:所述第一若干时间为大于3倍的心跳时间间隔。
6.根据权利要求1的云计算虚拟机块存储熔断保护方法,其特征在于:所述第二若干时间为1至1.5倍的心跳时间间隔。
7.根据权利要求1的云计算虚拟机块存储熔断保护方法,其特征在于:所述保留空间设于所述块储存的储存空间开头部分。
8.根据权利要求1的云计算虚拟机块存储熔断保护方法,其特征在于:所述保留空间仅允许所述熔断驱动程序读写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110018394.3A CN112685137A (zh) | 2021-01-07 | 2021-01-07 | 一种云计算虚拟机块存储熔断保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110018394.3A CN112685137A (zh) | 2021-01-07 | 2021-01-07 | 一种云计算虚拟机块存储熔断保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685137A true CN112685137A (zh) | 2021-04-20 |
Family
ID=75456258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110018394.3A Pending CN112685137A (zh) | 2021-01-07 | 2021-01-07 | 一种云计算虚拟机块存储熔断保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685137A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083481A1 (en) * | 2002-10-24 | 2004-04-29 | International Business Machines Corporation | System and method for transferring data between virtual machines or other computer entities |
CN102339283A (zh) * | 2010-07-20 | 2012-02-01 | 中兴通讯股份有限公司 | 集群文件系统访问控制方法及集群节点 |
CN103458036A (zh) * | 2013-09-03 | 2013-12-18 | 杭州华三通信技术有限公司 | 一种集群文件系统的访问装置和方法 |
CN108038384A (zh) * | 2017-11-29 | 2018-05-15 | 北京京航计算通讯研究所 | 一种高安全的集群共享存储虚拟化方法 |
CN109144947A (zh) * | 2018-09-04 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种虚拟化系统的集群文件系统的控制方法和装置 |
CN109684032A (zh) * | 2018-12-04 | 2019-04-26 | 武汉烽火信息集成技术有限公司 | 防脑裂的OpenStack虚拟机高可用计算节点装置及管理方法 |
CN112148485A (zh) * | 2020-09-16 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 超融合平台故障恢复方法、装置、电子装置和存储介质 |
-
2021
- 2021-01-07 CN CN202110018394.3A patent/CN112685137A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083481A1 (en) * | 2002-10-24 | 2004-04-29 | International Business Machines Corporation | System and method for transferring data between virtual machines or other computer entities |
CN102339283A (zh) * | 2010-07-20 | 2012-02-01 | 中兴通讯股份有限公司 | 集群文件系统访问控制方法及集群节点 |
CN103458036A (zh) * | 2013-09-03 | 2013-12-18 | 杭州华三通信技术有限公司 | 一种集群文件系统的访问装置和方法 |
CN108038384A (zh) * | 2017-11-29 | 2018-05-15 | 北京京航计算通讯研究所 | 一种高安全的集群共享存储虚拟化方法 |
CN109144947A (zh) * | 2018-09-04 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种虚拟化系统的集群文件系统的控制方法和装置 |
CN109684032A (zh) * | 2018-12-04 | 2019-04-26 | 武汉烽火信息集成技术有限公司 | 防脑裂的OpenStack虚拟机高可用计算节点装置及管理方法 |
CN112148485A (zh) * | 2020-09-16 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 超融合平台故障恢复方法、装置、电子装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1585022B1 (en) | Disk array device and data processing method thereof | |
US7496796B2 (en) | Apparatus, system, and method for predicting storage device failure | |
CN102880522B (zh) | 面向硬件故障的系统关键文件故障纠正方法及装置 | |
US9081697B2 (en) | Storage control apparatus and storage control method | |
JPH07500203A (ja) | ロールバックのためのデータ・バックアップ・システム | |
CN109656895B (zh) | 分布式存储系统、数据写入方法、装置和存储介质 | |
CN103262054A (zh) | 用于自动提交存储器的装置、系统和方法 | |
CN103516549B (zh) | 一种基于共享对象存储的文件系统元数据日志机制 | |
US20150378858A1 (en) | Storage system and memory device fault recovery method | |
WO2014101412A1 (zh) | 一种磁盘重构方法及其装置 | |
AU2010256179B2 (en) | Method and device for reading and writing a memory card | |
JP2004021811A (ja) | 不揮発メモリを使用したディスク制御装置 | |
CN105607973B (zh) | 一种虚拟机系统中设备故障处理的方法、装置及系统 | |
CN111984365B (zh) | 一种虚拟机虚拟磁盘双活实现方法及系统 | |
CN113377569A (zh) | 用于恢复数据的方法、设备和计算机程序产品 | |
US9619330B2 (en) | Protecting volatile data of a storage device in response to a state reset | |
EP4027243A1 (en) | Data recovery method and related device | |
CN103186348A (zh) | 存储系统及其数据读写方法 | |
CN103297264B (zh) | 一种云平台故障恢复方法和系统 | |
CN109445708A (zh) | 一种基于数据库私有云平台的透明故障转移方法 | |
CN117093325A (zh) | 虚拟机高可用实现方法、设备及计算机可读介质 | |
CN112685137A (zh) | 一种云计算虚拟机块存储熔断保护方法 | |
JPH1195933A (ja) | ディスクアレイ装置 | |
CN105094712A (zh) | 一种数据处理方法及装置 | |
CN100524239C (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210420 |
|
RJ01 | Rejection of invention patent application after publication |