[发明专利]一种虚拟机磁盘访问的方法、系统及电子设备在审
申请号: | 202210461675.0 | 申请日: | 2022-04-28 |
公开(公告)号: | CN114756330A | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 韦家鹏 | 申请(专利权)人: | 成都易我科技开发有限责任公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F3/06 |
代理公司: | 成都市集智汇华知识产权代理事务所(普通合伙) 51237 | 代理人: | 李华 |
地址: | 610044 四川省成都市武侯*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 磁盘 访问 方法 系统 电子设备 | ||
本发明公开了一种虚拟机磁盘访问的方法、系统及电子设备,该方法包括:把虚拟机磁盘V的磁盘信息传递给Ramdisk读写处理模块;Ramdisk读写处理模块创建与Ramdisk驱动模块的通信通道T;Ramdisk驱动模块创建设备对象虚拟磁盘D;当应用程序试图通过Windows文件系统对虚拟磁盘D进行读写操作从而操作虚拟机磁盘V时,Ramdisk驱动模块把Windows文件系统对虚拟磁盘D的读写命令通过通信信道T传递给Ramdisk读写处理模块;Ramdisk读写处理模块对虚拟机磁盘V进行读写,并将读写后的结果通过通信信道T反馈至Ramdisk驱动模块;Ramdisk驱动模块将读写后的结果转发至Windows文件系统,再由Windows文件系统反馈至应用程序。本发明将本来在内核层运行的虚拟机磁盘文件读写模块提到了应用层执行,避免了在内核开发诸多限制。
技术领域
本发明涉及一种用于访问虚拟机磁盘的方法、系统及电子设备。
背景技术
虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
把当前windows系统或备份的windows系统转换成虚拟机并在磁盘数据转换完成后,有可能需要对目标虚拟机磁盘文件进行读写,例如修改其中的system分区和boot分区做修改,修改启动相关的参数和添加虚拟机启动相关的驱动等等。转换程序需要访问到虚拟机磁盘文件上分区中的文件系统的文件。
虚拟机的磁盘主要是以文件的方式存放在宿主机上,现有技术中通过虚拟磁盘驱动可以把虚拟机磁盘文件模拟成磁盘设备供应用程序访问,其访问流程如图1所示:
1、应用程序调用系统读写API,产生请求发送到文件系统驱动。
2、文件系统解析请求的内容,定位到文件的存储位置,转换成对虚拟磁盘的块读写发送请求到虚拟磁盘驱动。
3、虚拟磁盘驱动调用虚拟机镜像读写模块去读写虚拟机磁盘文件对应的内容,把结果逐层原路返回给上层。
上述构架中,文件系统驱动、虚拟磁盘驱动、虚拟机读写模块都处于系统内核,想要调用较为复杂,通用性较差,另外调用系统内核也容易造成系统崩溃。
发明内容
有鉴于此,本发明提供一种虚拟机磁盘访问的方法、系统及电子设备,把本来在内核层运行的虚拟机磁盘读写模块提到了应用层来执行。
为解决以上技术问题,本发明的技术方案为采用一种虚拟机磁盘访问方法,包括:
把虚拟机磁盘V的磁盘信息传递给Ramdisk读写处理模块;
Ramdisk读写处理模块创建与Ramdisk驱动模块的通信通道T;
Ramdisk驱动模块创建设备对象虚拟磁盘D;
当应用程序试图通过Windows文件系统对虚拟磁盘D进行读写操作从而操作虚拟机磁盘V时,Ramdisk驱动模块把Windows文件系统对虚拟磁盘D的读写命令通过通信信道T传递给Ramdisk读写处理模块;
Ramdisk读写处理模块对虚拟机磁盘V进行读写,并将读写后的结果通过通信信道T反馈至Ramdisk驱动模块;
Ramdisk驱动模块将读写后的结果转发至Windows文件系统,再由Windows文件系统反馈至应用程序。
作为一种改进,所述Ramdisk读写处理模块通过共享内存的方式建立与Ramdisk驱动模块的通信通道T。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都易我科技开发有限责任公司,未经成都易我科技开发有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210461675.0/2.html,转载请声明来源钻瓜专利网。