CN105487984B - 一种主机系统对虚拟机磁盘数据的动态压缩方法及装置 - Google Patents

一种主机系统对虚拟机磁盘数据的动态压缩方法及装置 Download PDF

Info

Publication number
CN105487984B
CN105487984B CN201410474827.6A CN201410474827A CN105487984B CN 105487984 B CN105487984 B CN 105487984B CN 201410474827 A CN201410474827 A CN 201410474827A CN 105487984 B CN105487984 B CN 105487984B
Authority
CN
China
Prior art keywords
data
sector
virtual machine
preset
disk
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.)
Active
Application number
CN201410474827.6A
Other languages
English (en)
Other versions
CN105487984A (zh
Inventor
佘文魁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201410474827.6A priority Critical patent/CN105487984B/zh
Priority to PCT/CN2015/074645 priority patent/WO2015154617A1/zh
Publication of CN105487984A publication Critical patent/CN105487984A/zh
Application granted granted Critical
Publication of CN105487984B publication Critical patent/CN105487984B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明提供一种主机系统对虚拟机磁盘数据的动态压缩方法及装置,解决需要在关闭虚拟机的情况下,才能对虚拟机磁盘镜像进行压缩的问题。其中该动态压缩方法包括:依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,则控制虚拟机暂停,其中该空洞扇区为仅包含预设标识字段的扇区;获取该虚拟机的虚拟磁盘的预设数据,将该预设数据搬移后替换该空洞扇区的该预设标识字段;在该预设数据搬移且替换该预设标识字段完成之后,控制该虚拟机恢复工作,继续扫描下一个扇区,直至完成该虚拟磁盘文件的剩余扇区的扫描。这样边扫描到空洞扇区边搬移数据,从而实现实时压缩,保证虚拟机在不中断业务的情况下完成磁盘压缩,以节省存储空间。

Description

一种主机系统对虚拟机磁盘数据的动态压缩方法及装置
技术领域
本发明涉及开放源代码虚拟机监视器Xen平台的磁盘虚拟化技术,特别是涉及一种主机系统对虚拟机磁盘数据的动态压缩方法及装置。
背景技术
随着计算机处理能力在快速增长,硬件资源的规模和种类在不断扩展,与此同时,在数据中心内,应用和需求越来越复杂、灵活,传统服务器的利用效率日趋降低,因此,虚拟化技术成为了一个重要的解决方案。虚拟化技术能够在单个计算机上运行多个相互隔离的虚拟机Virtual Machine,动态提供透明化的可伸缩的计算机硬件资源,从而灵活构建满足需求的计算机软硬件环境。目前虚拟化技术已经成为数据中心的支撑性技术,出现了很多比较优秀的虚拟化平台和产品,如Xen、Vmware(Virtual Machine ware的简称,是一个“虚拟PC”软件公司,提供服务器、桌面虚拟化的解决方案)、KVM(Kernel-based VirtualMachine的简称,是一个开源的系统虚拟化模块)和QEMU(Quick EMUlator的简称)等。按照硬件资源的种类可以将虚拟化技术划分为CPU虚拟化、内存虚拟化和I/O虚拟化。对于I/O虚拟化来说,对于不同的虚拟机磁盘镜像将会有不同的I/O方法,如目前看磁盘有VHD(Microsoft Virtual Hard Disk的简称,是一种虚拟磁盘的实现方式,即通过文件来模拟物理磁盘的方式来存储数据。如同正常的物理磁盘一样,可以分区,格式化等)的镜像格式、QCOW(QEMU Copy On Write)的镜像格式、RAW(RAW Image Format原图像格式)的镜像格式等。对于数据量的增加,虚拟机的磁盘压缩显得尤为重要。对于微软来说目前提供一种VHD格式磁盘静态压缩的方法,该方法一个重大的缺陷是需要在关闭虚拟机的情况下,才能对虚拟机磁盘镜像进行压缩。
发明内容
本发明的目的在于提供一种主机系统对虚拟机磁盘数据的动态压缩方法及装置,解决需要在关闭虚拟机的情况下,才能对虚拟机磁盘镜像进行压缩的问题。
为了解决上述技术问题,本发明实施例提供的一种主机系统对虚拟机磁盘数据的动态压缩方法,其中,包括:
依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,则控制虚拟机暂停,其中,所述空洞扇区为仅包含一预设标识字段的扇区;
获取所述虚拟机的虚拟磁盘的预设数据,将所述预设数据搬移后替换所述空洞扇区的所述预设标识字段;
在所述预设数据搬移且替换所述预设标识字段完成之后,控制所述虚拟机恢复工作,继续扫描下一个扇区,直至完成所述虚拟磁盘文件的剩余扇区的扫描。
进一步的,所述预设标识字段用于标识被所述虚拟机删除的扇区的原始数据的位置。
进一步的,获取所述虚拟机的虚拟磁盘的预设数据,将所述预设数据搬移后替换所述空洞扇区的所述预设标识字段的步骤包括:
扫描具有数据块偏移地址的全部位图BAT表,并排序具有数据的所述数据块偏移地址,得到所述BAT表中的数据块的最大偏移地址,获取所述最大偏移地址对应数据块的数据作为预设数据;
所述预设数据搬移后替换所述空洞扇区的所述预设标识字段。
其中,依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,则控制虚拟机暂停,其中,所述空洞扇区为仅包含一预设标识字段的扇区之前,所述的动态压缩方法还包括:
获取虚拟化管理中心的开启压缩指令。
其中所述的动态压缩方法还包括:接收用户强制停止的命令。
为了解决上述技术问题,本发明实施例还提供一种主机系统对虚拟机磁盘数据的动态压缩装置,其中,包括:
第一处理模块,用于依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,则控制虚拟机暂停,其中,所述空洞扇区为仅包含一预设标识字段的扇区;
第二处理模块,用于获取所述虚拟机的虚拟磁盘的预设数据,将所述预设数据搬移后替换所述空洞扇区的所述预设标识字段;
第三处理模块,用于在所述预设数据搬移且替换所述预设标识字段完成之后,控制所述虚拟机恢复工作,继续扫描下一个扇区,直至完成所述虚拟磁盘文件的剩余扇区的扫描。
进一步的,所述预设标识字段用于标识被所述虚拟机删除的扇区的原始数据的位置。
进一步的,所述第二处理模块包括:
第一子模块,用于扫描具有数据块偏移地址的全部位图BAT表,并排序具有数据的所述数据块偏移地址,得到所述BAT表中的数据块的最大偏移地址,获取所述最大偏移地址对应数据块的数据作为预设数据;
第二子模块,用于所述预设数据搬移后替换所述空洞扇区的所述预设标识字段。
其中,所述的动态压缩装置还包括:获取模块,用于获取虚拟化管理中心的压缩指令。
其中,所述的动态压缩装置还包括:接收模块,用于接收用户强制停止的命令。
本发明的上述技术方案的有益效果如下:
本发明的方案中,通过依次扫描虚拟机的虚拟磁盘的各个扇区,若扫描到当前扇区为仅有预设标识字段的空洞扇区,就会暂停虚拟机,用预设虚拟磁盘的预设数据替换空洞扇区的预设标识字段,然后恢复虚拟机工作,继续扫描下一个扇区,直至完成所述虚拟磁盘文件的剩余扇区的扫描。这样边扫描找到空洞扇区边搬移数据,实现对虚拟机磁盘镜像的实时压缩,保证虚拟机在不中断业务的情况下完成磁盘压缩,以节省存储空间。
附图说明
图1为本发明实施例的主机系统对虚拟机磁盘数据的动态压缩方法的流程图;
图2为本发明实施例的磁盘扫描过程及压缩过程的流程图;
图3为本发明实施例的磁盘动态压缩过程的详细流程图;
图4为本发明实施例的虚拟化管理中心与动态压缩方法的协作示意图;
图5为本发明实施例的主机系统对虚拟机磁盘数据的动态压缩装置的结构图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有技术中需要在关闭虚拟机的情况下,才能对虚拟机磁盘镜像进行压缩的问题,提供一种主机系统对虚拟机磁盘数据的动态压缩方法及装置,通过扫描虚拟磁盘文件的各个扇区,然后即时扫描到预设标识字段的空洞扇区,就控制虚拟机暂停,用预设数据替换空洞扇区的预设标识字段,以完成虚拟磁盘的压缩。
如图1至5所示,本发明实施例的主机系统对虚拟机磁盘数据的动态压缩方法,其中,包括:
步骤101,依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,则控制虚拟机暂停,其中,所述空洞扇区为仅包含一预设标识字段的扇区;
其中所述预设标识字段是用于标识被所述虚拟机删除的扇区的原始数据的位置。通过所述虚拟机内部服务程序捕获删除数据的扇区,并将扇区写入MAGIC字段作标记;承载虚拟机运行的主机系统运行磁盘扫描进程,扫描磁盘VHD文件的各个扇区,捕获被写入MAGIC字段标记的扇区,作为空洞扇区。不仅可以通过MAGIC字段进行标识,也可以是使用其他字母或者数据标识,只要能够显示被删除过的数据区域的其他标识,均属于本发明实施例的保护范围。
其中所述空洞扇区具有存储预设数据长度,且其中数据均为预设标识字段,例如可以存储2G的数据大小。
其中所述预设数据是指与所述空洞扇区的数据长度相同的一个独立的数据块,例如也可以是2G的数据大小,这样就可以将2G的预设数据直接替换能容纳数据大小为2G的空洞扇区。
其中控制所述虚拟机暂停是因为虚拟机目前处于运行态,数据有可能在不断在写入,VHD文件的尾部会不断增大,必须要保证在暂停虚拟机时这个尾部是VHD文件真正的尾部,否则会压缩掉有效的数据;为了防止被搬移的数据在不断变化,防止替换的数据出现差错,提高了替换数据的准确性。
步骤102,获取所述虚拟机的虚拟磁盘的预设数据,将所述预设数据搬移后替换所述空洞扇区的所述预设标识字段;
步骤103,在所述预设数据搬移且替换所述预设标识字段完成之后,控制所述虚拟机恢复工作,继续扫描下一个扇区,直至完成所述虚拟磁盘文件的剩余扇区的扫描。
如果未捕获被标记的空洞扇区,则继续扫描下一个扇区;
扫描和压缩操作会一直运行下去,直到扫描完虚拟机磁盘的所有扇区。
此处实现方式为自动模式,磁盘扫描压缩进程伴随虚拟机的启动而启动,关闭而关闭,从而周期性(可以根据需求设定可以使每天的某个时间段或者是每周的每几天)的对虚拟机的所有磁盘进行扫描压缩操作。最后通过恢复虚拟机,将磁盘预设数据搬移后不再占用,从而释放之前的占用空间,完成压缩使得虚拟机镜像变小。
通过步骤101依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,通过暂停虚拟机,然后步骤102可以搬移预设数据到该空洞扇区,用来替换掉原本的全部预设标识字段,最后步骤103在所述预设数据搬移且替换所述预设标识字段完成之后,控制所述虚拟机恢复工作,继续扫描下一个扇区,直至完成所述虚拟磁盘文件的剩余扇区的扫描,这样边扫描找到空洞扇区边搬移数据,实现对虚拟机磁盘镜像的实时压缩,保证虚拟机在不中断业务的情况下完成磁盘压缩,以节省存储空间。
如图2所示,本发明的具体实施例的磁盘扫描过程及压缩过程举例如下。
步骤201,虚拟机内部服务程序捕获删除数据时的扇区,并在虚拟机内部的扇区填充特定MAGIC标记;
步骤201,承载虚拟机运行的主机系统运行磁盘扫描进程,扫描磁盘VHD文件的各个扇区,将步骤201中被虚拟机标记MAGIC字段的扇区捕获出来,作为空洞扇区;
步骤203,判断在虚拟机外部扫描磁盘VHD文件的数据块是否全是MAGIC字段,如果全是MAGIC字段才标记为空闲数据块;如果不全是MAGIC字段,则不是空闲数据块,则返回执行步骤202,继续扫描磁盘VHD文件的各个扇区的下一个数据块;
步骤204,如果全是MAGIC字段,则标记为空闲数据块并暂停虚拟机;
步骤205,暂停虚拟机后,把磁盘预设数据搬移到空闲数据块处,替换空闲数据块(其中搬移且替换就是压缩);
步骤206,恢复虚拟机,将磁盘预设数据裁剪(即搬移后不再占用,从而释放之前的占用空间)此时,虚拟机镜像变小。
进一步的,本发明实施例的主机系统对虚拟机磁盘数据的动态压缩方法中,步骤102包括:
步骤21,扫描具有数据块偏移地址的全部位图BAT表,并排序具有数据的所述数据块偏移地址,得到所述BAT表中的数据块的最大偏移地址,获取所述最大偏移地址对应数据块的数据作为预设数据;其中,所述BAT指Block allocation table,非常重要,表示虚拟磁盘地址到VHD文件地址的块映射表;所述排序是采用冒泡排序法,只是为了找到最大的偏移地址的数据块,该排序不会去扫描BAT表。
步骤22,所述预设数据搬移后替换所述空洞扇区的所述预设标识字段。
通过步骤21扫描虚拟机的虚拟磁盘文件的头部BAT表,扫描到所述BAT表的数据块的扇区都有数据时,排序具有数据的数据块偏移地址,得到所述BAT表中的数据块的最大偏移地址,获取最大偏移地址对应数据块的数据作为预设数据,然后再通过步骤22将预设数据搬移后替换空洞扇区的预设标识字段。实现对数据的压缩,以节省存储空间。
如图3所示,本发明的具体实施例的磁盘动态压缩的详细过程举例如下。
步骤301,打开虚拟磁盘VHD文件;
步骤302,扫描BAT表,每个BAT占有8个字节,表示对应数据区的偏移量,其中0xFFFFFFFF表示BAT对应的数据块为空。否则,表示BAT对应的数据块有数据,并且是该数据块的偏移地址;
对于非空数据块,根据偏移量找到对应的数据区,这个数据区由512个字节的头部BIT表和2M(兆)字节的数据区组成。对于BIT表头部来说,1位代表一个扇区,因此该头部总共对应4096个扇区,每个扇区的大小是512个字节,因此总共是2M字节的数据。其中,BIT表头部用0和1表示该扇区是否有数据;
步骤303,检查BIT表,如果全为1,表示该数据块所有扇区都有数据。比较扇区中每个元数据是否为MAGIC字段,如果扇区中每个元数据不是MAGIC字段,表示该数据块中数据依然有效,虚拟机可能随时访问,不能删除,则返回执行步骤302,重新检查下一个BAT表及对应的数据块;
步骤304,如果扇区中每个元数据是MAGIC字段,表示该数据块中的数据实际已经在虚拟机内部被删除,属于空洞数据块,记录该数据块在BAT表中的偏移地址及BAT表的位置,暂停虚拟机;
步骤305,扫描所有BAT表,对具有数据的所有数据块的偏移地址进行排序,在BAT表中找出偏移最大的地址,选出偏移最大的地址为VHD文件的尾部,确认该数据块是在VHD文件的尾部,如果确认该数据块不是在VHD文件的尾部,则返回执行步骤302;(优选的,如果此步骤305在暂停虚拟机后,再搬移替换预设标识字段,由于暂停与搬移的两个动作会有一个动作切换过程,从而会花费一段的时间,在这段时间内,有新的数据填充进来在偏移最大的地址后面的数据块区,然后比较该偏移最大地址是否真在VHD文件的尾部,此时发现最大偏移地址不是在VHD文件的尾部,则需要重新扫描出现误差的该扇区,如果发现最大偏移地址是在VHD文件的尾部,则继续执行步骤306)
步骤306,如果确认该数据块确实是在VHD文件的尾部,暂停虚拟机,记录下该数据块在BAT表中的位置,将该数据块(最大数据块)移入到上面空洞数据块(MAGIC字段的数据块)处;
步骤307,修改BAT表中的值为上面记录的偏移值,并将上面BAT表位置对应的值赋值为0xFFFFFFFF;
步骤308,恢复虚拟机;
步骤309,在原有最大数据块加入尾部(非LVHD需要裁减);其中LVHD是LVM(Logical Volume Management逻辑卷管理)Virtual Hard Disk的简称。
步骤310,判断所有的数据区是否扫描完成,如果没有扫描完成,则返回执行步骤302;
步骤311,如果扫描完成所有的数据区,则退出结束。
记录数据删除时的扇区,可以通过虚拟机内部驱动实现;扫描磁盘使用过程中的空洞区,可以通过磁盘扫描程序实现;在虚拟机在线运行下,对虚拟机磁盘映像进行压缩,可以通过磁盘压缩程序实现。
为了实现人为可操作性来控制压缩进程,因此本发明实施例的主机系统对虚拟机磁盘数据的动态压缩方法中,在步骤101之前还包括:获取虚拟化管理中心的开启压缩指令。
如图4所示手动模式下的压缩过程如下。
步骤402,承载虚拟机主机系统403接收虚拟机化管理中心VMC401发起的压缩命令;
步骤404,主机系统403收到命令后,启动虚拟机405;
步骤406,主机系统403开始磁盘扫描文件;
步骤408,如果主机系统403扫描到磁盘空洞区域,则暂停虚拟机405并对磁盘进行压缩操作,压缩完成恢复虚拟机405;
步骤410,主机系统403进行文件压缩;
步骤412,在当前压缩完成后,主机系统403控制取消暂停虚拟机405,恢复虚拟机405工作;
步骤414,在恢复虚拟机405工作后,主机系统403查看是否接收到VMC401的退出指令,在主机系统403没有接收到VMC401的退出指令时,主机系统403继续扫描剩余磁盘文件过程;
步骤416,VMC401可以随时发送退出指令给主机系统403;
步骤418,主机系统403直到扫描完虚拟机磁盘的所有扇区或者收到VCM401发出的退出指令(强制用户停止的命令);
步骤420,然后主机系统403结束压缩进程。
通过手动实现整个压缩过程的开启,提高了本方案的实用性及可控性。
如果在扫描过程中,人为想中断或者去控制,因此本发明实施例的主机系统对虚拟机磁盘数据的动态压缩方法中,还包括:接收用户强制停止的命令。
该步骤不管压缩进程如何,只要接收到用户强制停止的命令立即停止,方便了用户使用,增强了用户体验,同时也可以完成部分压缩,节约磁盘空间。
如图5所示,为了解决上述技术问题,相应的,本发明实施例还提供一种主机系统对虚拟机磁盘数据的动态压缩装置,其中,包括:
第一处理模块501,用于依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,则控制虚拟机暂停,其中,所述空洞扇区为仅包含一预设标识字段的扇区;
第二处理模块502,用于获取所述虚拟机的虚拟磁盘的预设数据,将所述预设数据搬移后替换所述空洞扇区的所述预设标识字段;
第三处理模块503,用于在所述预设数据搬移且替换所述预设标识字段完成之后,控制所述虚拟机恢复工作,继续扫描下一个扇区,直至完成所述虚拟磁盘文件的剩余扇区的扫描。
通过第一处理模块501依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,通过暂停虚拟机,然后第二处理模块502可以搬移预设数据到该空洞扇区,用来替换掉原本的全部预设标识字段,最后第三处理模块503在所述预设数据搬移且替换所述预设标识字段完成之后,控制所述虚拟机恢复工作,继续扫描下一个扇区,直至完成所述虚拟磁盘文件的剩余扇区的扫描,这样边扫描找到空洞扇区边搬移数据,实现对虚拟机磁盘镜像的实时压缩,保证虚拟机在不中断业务的情况下完成磁盘压缩,以节省存储空间。
进一步的,本发明的又一实施例的主机系统对虚拟机磁盘数据的动态压缩装置中,所述预设标识字段用于标识被所述虚拟机删除的扇区的原始数据的位置。
进一步的,本发明的又一实施例的主机系统对虚拟机磁盘数据的动态压缩装置中,所述第二处理模块502包括:
第一子模块,用于扫描具有数据块偏移地址的全部位图BAT表,并排序具有数据的所述数据块偏移地址,得到所述BAT表中的数据块的最大偏移地址,获取所述最大偏移地址对应数据块的数据作为预设数据;
第二子模块,用于所述预设数据搬移后替换所述空洞扇区的所述预设标识字段。
本发明的又一实施例的主机系统对虚拟机磁盘数据的动态压缩装置中,所述的动态压缩装置还包括:获取模块,用于获取虚拟化管理中心的压缩指令。
本发明的又一实施例的主机系统对虚拟机磁盘数据的动态压缩装置中,所述的动态压缩装置还包括:接收模块,用于接收用户强制停止的命令。
需要说明的是,本发明提供的装置是应用上述主机系统对虚拟机磁盘数据的动态压缩方法的装置,则上述主机系统对虚拟机磁盘数据的动态压缩方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种主机系统对虚拟机磁盘数据的动态压缩方法,其特征在于,包括:
依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,则控制虚拟机暂停,其中,所述空洞扇区为数据均为预设标识字段的扇区;
获取所述虚拟机的虚拟磁盘的预设数据,所述预设数据的长度与所述空洞扇区的数据长度相同,将所述预设数据搬移后替换所述空洞扇区的所述预设标识字段;
在所述预设数据搬移且替换所述预设标识字段完成之后,控制所述虚拟机恢复工作,继续扫描下一个扇区,直至完成所述虚拟磁盘文件的剩余扇区的扫描。
2.根据权利要求1所述的动态压缩方法,其特征在于,所述预设标识字段用于标识被所述虚拟机删除的扇区的原始数据的位置。
3.根据权利要求1所述的动态压缩方法,其特征在于,获取所述虚拟机的虚拟磁盘的预设数据,将所述预设数据搬移后替换所述空洞扇区的所述预设标识字段的步骤包括:
扫描具有数据块偏移地址的全部位图BAT表,并排序具有数据的所述数据块偏移地址,得到所述BAT表中的数据块的最大偏移地址,获取所述最大偏移地址对应数据块的数据作为预设数据;
所述预设数据搬移后替换所述空洞扇区的所述预设标识字段。
4.根据权利要求1所述的动态压缩方法,其特征在于,依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,则控制虚拟机暂停,其中,所述空洞扇区为仅包含一预设标识字段的扇区之前还包括:
获取虚拟化管理中心的开启压缩指令。
5.根据权利要求1所述的动态压缩方法,其特征在于,还包括:接收用户强制停止的命令。
6.一种主机系统对虚拟机磁盘数据的动态压缩装置,其特征在于,包括:
第一处理模块,用于依次扫描虚拟机的虚拟磁盘文件的各个扇区,若扫描到当前扇区为空洞扇区,则控制虚拟机暂停,其中,所述空洞扇区为数据均为预设标识字段的扇区;
第二处理模块,用于获取所述虚拟机的虚拟磁盘的预设数据,所述预设数据的长度与所述空洞扇区的数据长度相同,将所述预设数据搬移后替换所述空洞扇区的所述预设标识字段;
第三处理模块,用于在所述预设数据搬移且替换所述预设标识字段完成之后,控制所述虚拟机恢复工作,继续扫描下一个扇区,直至完成所述虚拟磁盘文件的剩余扇区的扫描。
7.根据权利要求6所述的动态压缩装置,其特征在于,所述预设标识字段用于标识被所述虚拟机删除的扇区的原始数据的位置。
8.根据权利要求6所述的动态压缩装置,其特征在于,所述第二处理模块包括:
第一子模块,用于扫描具有数据块偏移地址的全部位图BAT表,并排序具有数据的所述数据块偏移地址,得到所述BAT表中的数据块的最大偏移地址,获取所述最大偏移地址对应数据块的数据作为预设数据;
第二子模块,用于所述预设数据搬移后替换所述空洞扇区的所述预设标识字段。
9.根据权利要求6所述的动态压缩装置,其特征在于,还包括:获取模块,用于获取虚拟化管理中心的压缩指令。
10.根据权利要求6所述的动态压缩装置,其特征在于,还包括:接收模块,用于接收用户强制停止的命令。
CN201410474827.6A 2014-09-17 2014-09-17 一种主机系统对虚拟机磁盘数据的动态压缩方法及装置 Active CN105487984B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410474827.6A CN105487984B (zh) 2014-09-17 2014-09-17 一种主机系统对虚拟机磁盘数据的动态压缩方法及装置
PCT/CN2015/074645 WO2015154617A1 (zh) 2014-09-17 2015-03-19 一种主机系统对虚拟机磁盘数据的动态压缩方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410474827.6A CN105487984B (zh) 2014-09-17 2014-09-17 一种主机系统对虚拟机磁盘数据的动态压缩方法及装置

Publications (2)

Publication Number Publication Date
CN105487984A CN105487984A (zh) 2016-04-13
CN105487984B true CN105487984B (zh) 2020-04-03

Family

ID=54287315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410474827.6A Active CN105487984B (zh) 2014-09-17 2014-09-17 一种主机系统对虚拟机磁盘数据的动态压缩方法及装置

Country Status (2)

Country Link
CN (1) CN105487984B (zh)
WO (1) WO2015154617A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073352B (zh) * 2016-11-15 2021-01-01 华为技术有限公司 虚拟磁盘处理方法及装置
CN109753307B (zh) * 2017-11-03 2020-08-11 北京思朗科技有限责任公司 指令存储方法
CN108509252B (zh) * 2018-03-26 2021-04-06 新华三云计算技术有限公司 虚拟机启动装置、方法及主机
CN109710581B (zh) * 2018-12-25 2023-05-30 四川巧夺天工信息安全智能设备有限公司 一种解压qcow镜像文件中压缩数据的方法
CN112306378B (zh) * 2019-08-01 2024-04-09 兆易创新科技集团股份有限公司 用户数据搬移的恢复方法、装置、电子设备及存储介质
CN110825712B (zh) * 2019-10-31 2023-08-01 四川效率源科技有限责任公司 一种逻辑卷管理的磁盘簇数据的恢复方法
CN112148228A (zh) * 2020-09-29 2020-12-29 上海摩勤智能技术有限公司 存储空间的释放方法、终端及存储介质
CN113342471A (zh) * 2021-06-25 2021-09-03 航天云网科技发展有限责任公司 虚拟机迁移方法、系统及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1162786A (zh) * 1996-01-31 1997-10-22 株式会社东芝 用于多任务设施信息处理系统的资源管理方法和设备
CN101122884A (zh) * 2006-08-07 2008-02-13 国际商业机器公司 增量压缩堆时用于更新引用的系统和方法
CN101661486A (zh) * 2008-08-28 2010-03-03 国际商业机器公司 对包含虚拟机的宿主机硬盘进行碎片整理的方法和系统
CN102541461A (zh) * 2010-12-31 2012-07-04 阿里巴巴集团控股有限公司 远程数据存储的数据读写方法、装置及其系统
CN103383648A (zh) * 2012-12-21 2013-11-06 北京安天电子设备有限公司 一种可压缩式的虚拟机磁盘大小回收的方法及系统
CN103729305A (zh) * 2012-10-11 2014-04-16 财团法人工业技术研究院 虚拟机的存储器管理的方法和计算机系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6602531B2 (en) * 2001-07-12 2003-08-05 Kazuo Naka Method for pre-processing of dried food
US20090133129A1 (en) * 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1162786A (zh) * 1996-01-31 1997-10-22 株式会社东芝 用于多任务设施信息处理系统的资源管理方法和设备
CN101122884A (zh) * 2006-08-07 2008-02-13 国际商业机器公司 增量压缩堆时用于更新引用的系统和方法
CN101661486A (zh) * 2008-08-28 2010-03-03 国际商业机器公司 对包含虚拟机的宿主机硬盘进行碎片整理的方法和系统
CN102541461A (zh) * 2010-12-31 2012-07-04 阿里巴巴集团控股有限公司 远程数据存储的数据读写方法、装置及其系统
CN103729305A (zh) * 2012-10-11 2014-04-16 财团法人工业技术研究院 虚拟机的存储器管理的方法和计算机系统
CN103383648A (zh) * 2012-12-21 2013-11-06 北京安天电子设备有限公司 一种可压缩式的虚拟机磁盘大小回收的方法及系统

Also Published As

Publication number Publication date
CN105487984A (zh) 2016-04-13
WO2015154617A1 (zh) 2015-10-15

Similar Documents

Publication Publication Date Title
CN105487984B (zh) 一种主机系统对虚拟机磁盘数据的动态压缩方法及装置
US8738883B2 (en) Snapshot creation from block lists
US9870288B2 (en) Container-based processing method, apparatus, and system
US8996468B1 (en) Block status mapping system for reducing virtual machine backup storage
US10324748B2 (en) Augmented tracking of modified memory pages during live migration of virtual machines from/to host computers with graphics processors
US7904914B2 (en) On-the-fly replacement of physical hardware with emulation
US9454489B2 (en) Exporting guest spatial locality to hypervisors
CN102081552A (zh) 一种物理机到虚拟机的在线迁移方法、装置和系统
WO2013123405A1 (en) Profiling and sequencing operators executable in an emulated computing system
US9983826B2 (en) Data storage device deferred secure delete
CN102446119A (zh) 基于Passthrough I/O的虚拟机动态迁移方法
CN111736945B (zh) 基于智能网卡的虚拟机热迁移方法、装置、设备及介质
US20120265920A1 (en) Storage block deallocation in virtual environments
CN103593227A (zh) 在客户端运行桌面虚拟系统的方法及客户端
US20160055027A1 (en) Virtual machine image disk usage
CN108475230A (zh) 一种存储系统和系统垃圾回收方法
CN107168769B (zh) 一种信息处理方法及电子设备
CN114765051A (zh) 内存测试方法及装置、可读存储介质、电子设备
KR101996641B1 (ko) 메모리 오버레이 장치 및 방법
CN112596950A (zh) 虚拟机数据备份方法、装置、设备及存储介质
CN108369624B (zh) 用于以最小性能降级检测恶意软件的技术
US20190324677A1 (en) Information processing apparatus
WO2021057698A1 (zh) 一种虚拟机的迁移方法及装置、电子设备、存储介质
CN106970830B (zh) 一种分布式虚拟机的存储控制方法及虚拟机
US9535796B2 (en) Method, apparatus and computer for data operation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant