[发明专利]虚拟机读写失败的处理方法及装置有效
申请号: | 201710181121.4 | 申请日: | 2017-03-23 |
公开(公告)号: | CN107153569B | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 张谦 | 申请(专利权)人: | 深信服科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518000 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 读写 失败 处理 方法 装置 | ||
本发明公开了一种虚拟机读写失败的处理方法,该方法流程包括:将虚拟机的读写请求发送至宿主机的存储系统;在接收到所述存储系统返回的读写错误的响应时,控制所述虚拟机进入暂停状态;当侦测到所述存储系统恢复正常后,调用预设加锁函数对所述虚拟机的镜像文件进行加锁处理;若加锁成功,则恢复所述虚拟机的运行,若加锁失败,则结束所述虚拟机的运行。本发明还提出一种虚拟机读写失败的处理装置。本发明解决了现有技术中在处理读写失败问题时,难以保证数据的完整性与正常性的技术问题。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种虚拟机读写失败的处理方法及装置。
背景技术
虚拟化技术可以在一台高性能物理机上虚拟化出多台物理机,通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统被称为虚拟机,例如KVM(Kernel-based Virtual Machine,基于Linux内核的虚拟机)。该高新能物理机提供存储系统用来保存镜像文件以及用户数据等。但是,在使用过程中,可能存在一些异常情况,例如,在为虚拟机建立的高可用集群中,当发生存储离线或者管理网掉线等现象时,导致宿主机出现孤立,导致虚拟机的读写无法正常进行,虚拟机这种情况一般称为“脑裂”。其中,存储离线是指由于存储口的网线掉线或者其他原因导致宿主机的存储上的虚拟机系统无法正常读写;管理网掉线是指虚拟机集群管理口网络中断,导致当前的宿主机从集群中脱离,变成离线状态。
当发生“脑裂”时,会出现在高可用集群中的其他主机节点上拉起多个相同实例的情形,当脑裂恢复后,会随机的关闭虚拟机进程,导致被关闭的虚拟机进程可能是具有最新状态的虚拟机,导致无法保证数据的完整性与正确性,进而导致虚拟机无法正常运行。
发明内容
本发明提供一种虚拟机读写失败的处理方法及装置,其主要目的在于解决现有技术中在处理读写失败问题时,难以保证数据的完整性与正常性的技术问题。
为实现上述目的,本发明提供一种虚拟机读写失败的处理方法,该虚拟机读写失败的处理方法包括:
将虚拟机的读写请求发送至宿主机的存储系统;
在接收到所述存储系统返回的读写错误的响应时,控制所述虚拟机进入暂停状态;
当侦测到所述存储系统恢复正常后,调用预设加锁函数对所述虚拟机的镜像文件进行加锁处理;
若加锁成功,则恢复所述虚拟机的运行,若加锁失败,则结束所述虚拟机的运行。
可选地,所述当侦测到所述存储系统恢复正常后,调用预设加锁函数对所述虚拟机的镜像文件进行加锁处理的步骤包括:
当侦测到所述存储系统恢复正常后,确定恢复正常后的所述存储系统的存储类型;
调用与所述存储类型匹配的预设加锁函数对所述虚拟机的镜像文件进行加锁处理。
可选地,若所述存储系统为外置存储,则在调用与所述存储类型匹配的预设加锁函数对所述虚拟机的镜像文件进行加锁处理的步骤之后,执行若加锁成功,则恢复所述虚拟机的运行,若加锁失败,则结束所述虚拟机的运行的步骤;
若所述存储系统属于分布式存储,则在调用与所述存储类型匹配的预设加锁函数对所述虚拟机的镜像文件进行加锁处理的步骤之后,所述虚拟机读写失败的处理方法还包括步骤:
若加锁成功,则恢复所述虚拟机的运行;
若加锁失败、且所述预设加锁函数返回的错误码为预设错误码,则结束所述虚拟机的运行;
若加锁失败、且所述预设加锁函数返回的错误码不是预设错误码,则保持所述虚拟机的暂停状态。
可选地,所述在接收到所述存储系统返回的读写错误的响应时,控制所述虚拟机进入暂停状态的步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深信服科技股份有限公司,未经深信服科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710181121.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于操作虚拟电力环境的系统和方法
- 下一篇:分布式任务处理方法和装置