The embodiment of the invention provides a data storage method and device of a virtual machine, the method comprises: receiving the original data in the virtual machine host sends the write request; request type detection the write request; when the request type is the first written request, the original data to the first storage device. The embodiment of the invention avoids the direct persistence to the second storage device, greatly reduces the storage I/O path, reduces the time and equipment resource consumption, and improves the writing performance of the distributed storage in the virtual machine environment.
【技术实现步骤摘要】
一种虚拟机的数据存储方法和装置
本申请涉及计算机处理的
,特别是涉及一种虚拟机的数据存储方法和一种虚拟机的数据存储装置。
技术介绍
在云计算的IaaS(InfrastructureasaService,基础设施即服务)中,云运营商提供托管的物理机、虚拟机及其他设施,供不同的用户根据自己的实际需要进行使用。虚拟机(VirtualMachine)服务是IaaS的核心服务之一,是指系统虚拟机,即可以进行模拟的、具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统。在云计算中,对于存储服务的I/O(input/output,输入/输出)等要求比较高,并且为了避免硬件错误导致的用户服务中断或者数据丢失,通常应用分布式文件系统进行镜像备份及存储用户数据。在虚拟机的环境下,若后端应用分布式文件系统存储数据,用户每次在虚拟机的用户态触发的数据的写请求,都需要先从虚拟机的内核态传送到宿主机的内核态,然后再将写请求传送到宿主机的用户态,再将数据以多副本方式写到不同的分布式文件系统中。分布式文件系统收到数据,在处理完写请求之后,沿上述I/O路径反向返回给虚拟机的用户态,最终完成用户写请求。这种数据的写方式,存储的I/O路径较长,使得每次写数据,都会消耗较多的时间和设备资源,导致虚拟机环境下分布式存储的写性能比较差。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种虚拟机的数据存储方法和相应的一种虚拟机的数据存储装置。为了解决上述问题,本申请实施例公开了一种虚拟机的数据存储方法,包括:在宿主机中接收虚拟机发送的原 ...
【技术保护点】
一种虚拟机的数据存储方法,其特征在于,包括:在宿主机中接收虚拟机发送的原数据的写请求;检测所述写请求的请求类型;当所述请求类型为第一写请求时,将所述原数据存储至第一存储设备中。
【技术特征摘要】
1.一种虚拟机的数据存储方法,其特征在于,包括:在宿主机中接收虚拟机发送的原数据的写请求;检测所述写请求的请求类型;当所述请求类型为第一写请求时,将所述原数据存储至第一存储设备中。2.根据权利要求1所述的方法,其特征在于,还包括:判断所述第一存储设备中脏数据的数据量是否超过预设的阈值;若是,则将所述原数据发送至第二存储设备进行存储;若否,则对存储在所述第一存储设备的所述原数据标记为脏数据。3.根据权利要求1或2所述的方法,其特征在于,还包括:在设定的时间将存储在所述第一存储设备的脏数据发送至第二存储设备进行存储;当存储成功时,取消所述脏数据的标记,以识别为原数据。4.根据权利要求1或2或3所述的方法,其特征在于,还包括:当所述请求类型为第二写请求时,读取存储在所述第一存储设备的全部脏数据;将读取的脏数据发送至第二存储设备进行存储;当存储成功时,取消所述脏数据的标记,以识别为原数据。5.根据权利要求1或2或3所述的方法,其特征在于,还包括:当所述请求类型为第三写请求时,将所述原数据存储至第一存储设备中;将所述原数据发送至第二存储设备进行存储。6.根据权利要求1或2或3或4或5所述的方法,其特征在于,所述在宿主机中接收虚拟机发送的原数据的写请求的步骤包括:由位于宿主机内核态中的块设备后端驱动接收、由位于虚拟机内核态中的块设备前端驱动发送的原数据的写请求;所述检测所述写请求的请求类型的步骤包括:由位于宿主机内核态中的块设备后端驱动从所述写请求中读取请求类型标识,以识别所述写请求的请求类型;所述将所述原数据存储至第一存储设备中的步骤包括:由位于宿主机内核态的缓存服务对象将所述原数据写入位于宿主机中的第一存储设备中;更新所述原数据的索引信息。7.根据权利要求6所述的方法,其特征在于,所述将所述原数据发送至第二存储设备进行存储的步骤包括:由所述缓存服务对象将所述原数据发送至位于宿主机用户态的存储客户端;由所述存储客户端发送所述原数据至位于宿主机之外的第二存储设备进行存储;所述在设定的时间将存储在所述第一存储设备的脏数据发送至第二存储设备进行存储的步骤包括:当超过预设的休眠时间,唤醒位于宿主机内核态的回写线程;由所述回写线程按照所述索引信息读取部分存储在所述第一存储设备的脏数据;由所述回写线程将读取的脏数据发送至位于宿主机用户态的存储客户端;由所述存储客户端...
【专利技术属性】
技术研发人员:王强,朱延海,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。