[发明专利]虚拟机读写失败的处理方法及装置有效
申请号: | 201710181121.4 | 申请日: | 2017-03-23 |
公开(公告)号: | CN107153569B | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 张谦 | 申请(专利权)人: | 深信服科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518000 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 读写 失败 处理 方法 装置 | ||
1.一种虚拟机读写失败的处理方法,其特征在于,所述虚拟机读写失败的处理方法包括:
将虚拟机的读写请求发送至宿主机的存储系统;
在接收到所述存储系统返回的读写错误的响应时,控制所述虚拟机进入暂停状态;
当侦测到所述存储系统恢复正常后,确定恢复正常后的所述存储系统的存储类型;
调用与所述存储类型匹配的预设加锁函数对所述虚拟机的镜像文件进行加锁处理;
若加锁成功,则恢复所述虚拟机的运行,若加锁失败,则结束所述虚拟机的运行。
2.根据权利要求1所述的虚拟机读写失败的处理方法,其特征在于,若所述存储系统为外置存储,则在调用与所述存储类型匹配的预设加锁函数对所述虚拟机的镜像文件进行加锁处理的步骤之后,执行若加锁成功,则恢复所述虚拟机的运行,若加锁失败,则结束所述虚拟机的运行的步骤;
若所述存储系统属于分布式存储,则在调用与所述存储类型匹配的预设加锁函数对所述虚拟机的镜像文件进行加锁处理的步骤之后,所述虚拟机读写失败的处理方法还包括步骤:
若加锁成功,则恢复所述虚拟机的运行;
若加锁失败、且所述预设加锁函数返回的错误码为预设错误码,则结束所述虚拟机的运行;
若加锁失败、且所述预设加锁函数返回的错误码不是预设错误码,则保持所述虚拟机的暂停状态。
3.根据权利要求1所述的虚拟机读写失败的处理方法,其特征在于,所述在接收到所述存储系统返回的读写错误的响应时,控制所述虚拟机进入暂停状态的步骤包括:
在接收到所述存储系统返回的读写错误的响应时,确定所述读写错误的错误类型;
若所述错误类型属于预设错误类型,则控制所述虚拟机重新发送所述读写请求直至重复发送所述读写请求的次数达到预设次数后,控制所述虚拟机进入暂停状态;
若所述错误类型不属于所述预设错误类型,则控制所述虚拟机进入暂停状态。
4.根据权利要求1或2所述的虚拟机读写失败的处理方法,其特征在于,所述虚拟机读写失败的处理方法还包括:
在接收到所述存储系统返回的读写错误的响应时,记录所述读写请求的相关数据;
在侦测到所述虚拟机恢复运行后,根据记录的所述相关数据重新发送所述读写请求。
5.一种虚拟机读写失败的处理装置,其特征在于,所述虚拟机读写失败的处理装置包括:
发送模块,用于将虚拟机的读写请求发送至宿主机的存储系统;
休眠模块,用于在接收到所述存储系统返回的读写错误的响应时,控制所述虚拟机进入暂停状态;
加锁模块,用于当侦测到所述存储系统恢复正常后,确定恢复正常后的所述存储系统的存储类型;
调用与所述存储类型匹配的预设加锁函数对所述虚拟机的镜像文件进行加锁处理;
控制模块,用于若加锁成功,则恢复所述虚拟机的运行,若加锁失败,则结束所述虚拟机的运行。
6.根据权利要求5所述的虚拟机读写失败的处理装置,其特征在于,若所述存储系统为外置存储,则在所述加锁模块调用与所述存储类型匹配的预设加锁函数对所述虚拟机的镜像文件进行加锁处理之后,若加锁成功,则所述控制模块恢复所述虚拟机的运行,若加锁失败,则所述控制模块结束所述虚拟机的运行;
若所述存储属于分布式存储,则在所述加锁模块调用与所述存储类型匹配的预设加锁函数对所述虚拟机的镜像文件进行加锁处理之后,所述控制模块还用于:
若加锁成功,则恢复所述虚拟机的运行;
若加锁失败、且所述预设加锁函数返回的错误码为预设错误码,则结束所述虚拟机的运行;
若加锁失败、且所述预设加锁函数返回的错误码不是预设错误码,则保持所述虚拟机的暂停状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深信服科技股份有限公司,未经深信服科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710181121.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于操作虚拟电力环境的系统和方法
- 下一篇:分布式任务处理方法和装置