CN104572656A - 一种磁盘镜像空间回收的方法及装置 - Google Patents
一种磁盘镜像空间回收的方法及装置 Download PDFInfo
- Publication number
- CN104572656A CN104572656A CN201310476249.5A CN201310476249A CN104572656A CN 104572656 A CN104572656 A CN 104572656A CN 201310476249 A CN201310476249 A CN 201310476249A CN 104572656 A CN104572656 A CN 104572656A
- Authority
- CN
- China
- Prior art keywords
- sector
- disk mirroring
- mark
- content
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
Abstract
本发明的实施例提供了一种磁盘镜像空间回收的方法及装置,涉及计算机领域,能够提高虚拟化场景存储空间的利用率,同时避免磁盘镜像被填满,减少了时间消耗,保证了虚拟机业务的不中断。该方法包括:在预设的主文件表MFT中,查找已删除文件以及已删除文件对应的第一扇区,其中,第一扇区为已删除文件在磁盘镜像中占用的且未保存有效数据的扇区,然后,将第一扇区的内容设置为第一标识,最后,按照预设规则,释放内容为第一标识的扇区。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种磁盘镜像空间回收的方法及装置。
背景技术
虚拟化软件通过相应的磁盘驱动程序将对应的磁盘镜像映射为虚拟机的磁盘,虚拟机运行过程中所有对虚拟机内部文件的读写,都能够被驱动最终转换为对磁盘镜像的读写。
对于虚拟机而言,磁盘镜像文件类似于实际计算机中的硬盘等外部存储设备,保存着虚拟机中一切持久性数据。它可以以文件的形式保存在物理机磁盘中,并且通过物理机系统I/O实现读写功能。在虚拟化平台下使用磁盘镜像,结合驱动程序,可以实现瘦分配、快照等高级特性。开启瘦分配特性的磁盘镜像,在虚拟机运行一段时间后,会逐渐变大;当虚拟机内部有规模的文件删除后,虚拟机内部使用的空间会远远小于磁盘镜像文件大小,存储空间存在一定浪费。
在现有技术中,分别在虚拟机在线与离线两种情况时,对磁盘镜像进行填零和回收,进而,实现在对虚拟机磁盘镜像空间的回收。当虚拟机在线时,对磁盘镜像的空闲扇区全部填写零,然后将虚拟机挂起,读取源磁盘镜像内容并将全零扇区给予丢弃,不写入目标磁盘镜像,进而缩小磁盘镜像文件大小,最后使用目标磁盘镜像替换源磁盘镜像。当虚拟机离线时,在虚拟磁盘设备创建文件,对磁盘镜像的空闲扇区全部填写零,然后读取源磁盘镜像内容并将全零扇区给予丢弃,不写入目标磁盘镜像,进而缩小磁盘镜像文件大小。
但是,无论虚拟机是在线还是离线,对磁盘镜像空闲扇区全部填写零时,磁盘镜像有可能会被填满,消耗时间;空间回收时,生成目标磁盘镜像需要额外的空间。另外,虚拟机在线时,空间回收需要挂起虚拟机,中断了虚拟机业务。
发明内容
本发明的实施例提供一种磁盘镜像空间回收的方法及装置,能够提高存储空间的利用率,同时避免磁盘镜像被填满,减少了时间消耗,保证了虚拟机业务的不中断。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种磁盘镜像空间回收的方法,应用于windows标准文件系统NTFS文件系统中,所述方法包括:
在预设的主文件表MFT中,查找已删除文件以及所述已删除文件对应的第一扇区,所述第一扇区为所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区;
将所述第一扇区的内容设置为第一标识;
按照预设规则,释放所述内容为所述第一标识的扇区。
在第一方面的第一种可能的实现方式中,所述按照预设规则,释放所述内容为所述第一标识的扇区,具体包括:
获取所述磁盘镜像的内容以及所述磁盘镜像的扇区数量值,所述内容包括存储介质或设备的全部数据,还包括元数据;
设置所述磁盘镜像的文件偏移量;
从所述磁盘镜像的文件偏移量处查找所述内容为所述第一标识的扇区;
释放所述内容为所述第一标识的扇区。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述从所述磁盘镜像的文件偏移量处查找所述内容为所述第一标识的扇区,具体包括:
从所述磁盘镜像的文件偏移量处获取并缓存所述磁盘镜像的N个扇区的内容,所述N为第一数量值和预设第二数量值中的最小值,所述第一数量值为所述磁盘镜像的扇区数量值减去所述磁盘镜像文件偏移变量后得到的数量值;
设置缓冲区中所述N个扇区的偏移量,并从所述N个扇区的偏移量处开始查找内容为第一标识的连续扇区,所述N个扇区的偏移量是相对于所述磁盘镜像的偏移量;
若存在内容为第一标识的扇区,则记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,在所述记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度之后,所述方法还包括:
调用系统函数,释放所述磁盘镜像起始于第一偏移量乘以512,长度为所述内容为第一标识的扇区的长度的空间,所述第一偏移量是所述磁盘镜像文件偏移量与所述第一标识扇区的起始位置之和的变量。
结合前述的第一方面或第一方面的第一种可能的实现方式至第三种可能的实现方式中的任一种实现方式,在第一方面的第四种可能的实现方式中,所述在查找已删除文件和所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区之前,所述方法还包括:
将磁盘镜像挂载至虚拟机管理器hypervisor。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述将磁盘镜像挂载至虚拟机管理器hypervisor之前,所述方法还包括:
若虚拟机在线时,将磁盘镜像进行在线快照,使得后续的写请求写入快照。
结合前述的第一方面或第一方面的第一种可能的实现方式至第五种可能的实现方式中的任一种实现方式,在第一方面的第六种可能的实现方式中,所述将所述第一扇区的内容设置为第一标识之后,所述方法还包括:
将所述磁盘镜像从虚拟机管理器hypervisor上卸载,以实现释放所述内容为所述第一标识的扇区。
结合前述的第一方面或第一方面的第一种可能的实现方式至第六种可能的实现方式中的任一种实现方式,在第一方面的第七种可能的实现方式中,所述按照预设规则,释放所述内容为所述第一标识的扇区之前,所述方法还包括:
若虚拟机在线时,对所述磁盘镜像创建在线磁盘快照,以实现后续的写请求写入快照。
结合前述的第一方面或第一方面的第一种可能的实现方式至第七种可能的实现方式中的任一种实现方式,在第一方面的第八种可能的实现方式中,所述按照预设规则,释放所述内容为所述第一标识的扇区之后,所述方法还包括:
若虚拟机在线时,对所述磁盘镜像进行快照合并,使得虚拟机后续的读写数据写入所述磁盘镜像。
第二方面,本发明的实施例提供一种磁盘镜像空间回收装置,应用于windows标准文件系统NTFS文件系统中,所述装置包括:
查找单元,用于在预设的主文件表MFT中,查找已删除文件以及所述已删除文件对应的第一扇区,所述第一扇区为所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区;
标记单元,用于将所述第一扇区的内容设置为第一标识;
处理单元,用于按照预设规则,释放所述内容为所述第一标识的扇区。
在第二方面的第一种可能实现方式中,所述处理单元,具体用于获取所述磁盘镜像的内容以及所述磁盘镜像的扇区数量值,设置所述磁盘镜像的文件偏移量,从所述磁盘镜像的文件偏移量处查找所述内容为所述第一标识的扇区,以及释放所述内容为所述第一标识的扇区。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理单元,具体用于从所述磁盘镜像的文件偏移量处获取并缓存所述磁盘镜像的N个扇区的内容,设置缓冲区中所述N个扇区的偏移量,并从所述N个扇区的偏移量处开始查找内容为第一标识的连续扇区,以及若存在内容为第一标识的扇区,则记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度,所述N为第一数量值和预设第二数量值中的最小值,所述第一数量值为所述磁盘镜像的扇区数量值减去所述磁盘镜像文件偏移变量后得到的数量值,所述N个扇区的偏移量是相对于所述磁盘镜像的偏移量。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述处理单元,还用于在所述记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度之后,调用系统函数,释放所述磁盘镜像起始于第一偏移量乘以512,长度为所述内容为第一标识的扇区的长度的空间,所述第一偏移量是所述磁盘镜像文件偏移量与所述第一标识扇区的起始位置之和的变量。
结合前述的第二方面或第二方面的第一种可能的实现方式至第三种可能的实现方式中的任一种实现方式,在第二方面的第四种可能的实现方式中,所述查找单元包括第一处理模块;
所述第一处理模块,用于在查找已删除文件和所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区之前,将磁盘镜像挂载至虚拟机管理器hypervisor。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述查找单元还包括预处理模块;
所述预处理模块,用于在所述第一处理模块将磁盘镜像挂载至虚拟机管理器hypervisor之前,若虚拟机在线时,将磁盘镜像进行在线快照,使得后续的写请求写入快照。
结合前述的第一方面或第一方面的第一种可能的实现方式至第五种可能的实现方式中的任一种实现方式,在第二方面的第六种可能的实现方式中,所述标记单元包括第二处理模块;
所述第二处理模块,用于在将所述已删除文件占用且未保存有效数据的扇区的内容设置为第一标识之后,将所述磁盘镜像从虚拟机管理器hypervisor上卸载,以实现释放所述内容为所述第一标识的扇区。
结合前述的第一方面或第一方面的第一种可能的实现方式至第六种可能的实现方式中的任一种实现方式,在第二方面的第七种可能的实现方式中,所述处理单元,还用于在按照预设规则,释放所述内容为所述第一标识的扇区之前,若虚拟机在线时,对所述磁盘镜像创建在线磁盘快照,以实现后续的写请求写入快照。
结合前述的第一方面或第一方面的第一种可能的实现方式至第七种可能的实现方式中的任一种实现方式,在第二方面的第八种可能的实现方式中,所述处理单元,还用于在按照预设规则,释放所述内容为所述第一标识的扇区之后,若虚拟机在线时,对所述磁盘镜像进行快照合并,使得虚拟机后续的读写数据写入所述磁盘镜像。
本发明的实施例提供一种磁盘镜像空间回收的方法及装置,通过在预设的主文件表MFT中,查找已删除文件以及已删除文件对应的第一扇区,其中,第一扇区为已删除文件在磁盘镜像中占用的且未保存有效数据的扇区,然后,将第一扇区的内容设置为第一标识,最后,按照预设规则,释放内容为第一标识的扇区。通过该方案,能够提高虚拟机存储空间的利用率,同时避免磁盘镜像被填满,减少了时间消耗,保证了虚拟机业务的不中断。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为支持瘦分配功能的磁盘镜像的布局示意图;
图2为本发明实施例提供的磁盘镜像空间回收的方法的流程示意图一;
图3为本发明实施例提供的磁盘镜像空间回收的方法的流程示意图二;
图4为本发明实施例提供的磁盘镜像空间回收装置的结构示意图一;
图5为本发明实施例提供的磁盘镜像空间回收装置的结构示意图二;
图6为本发明实施例提供的磁盘镜像空间回收装置的结构示意图三;
图7为本发明实施例提供的磁盘镜像空间回收装置的结构示意图四。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文描述的各种技术适合windows虚拟机的标准文件系统NTFS分区的磁盘镜像,在采用瘦分配技术的情况下,对磁盘镜像进行空间回收。
虚拟机是一种具有完整硬件系统功能,与实际物理系统相隔离的计算机系统。它拥有自己独立的虚拟CPU、内存、硬盘、乃至网卡,而且操作系统可以像调用实际物理资源一样使用这些设备。
标准文件系统(NTFS,New Technology File System)是Windows新技术(NT,New Technology)操作环境和Windows NT高级服务器网络操作系统环境的文件系统。NTFS是Windows NT以及之后的Windows2000、Windows XP、Windows Server2003、Windows Server2008、Windows Vista和Windows7的标准文件系统。NTFS取代了文件分配表(FAT,File Allocation Table)文件系统,为Microsoft的Windows系列操作系统提供文件系统。NTFS对FAT和高性能文件系统(HPFS,High Performance File System)作了若干改进,例如,支持元数据,并且使用了高级数据结构,以便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功能,如访问控制列表和文件系统日志。
磁盘镜像是一个单独的文件,存放着代表一个存储介质或设备的全部内容和结构,针对源存储介质进行扇区到扇区的拷贝,并能够完美地复制设备的结构和内容。磁盘镜像除包含存储介质或设备的全部数据外,还包含元数据,用于自身的数据管理,实现驱动程序对磁盘镜像的快速数据读取,以及更高级的存储特性实现。在虚拟化平台下使用磁盘镜像,结合驱动程序,可以实现瘦分配、快照等高级特性。瘦分配即精简配置,在共享存储环境优化下,优化现有存储使用率的一种方法,它依赖于按需分配的块分配方法。在磁盘镜像瘦分配场景下,由于存储空间并不是立即分配,如图1所示,磁盘镜像的格式一般采用块申请查询表+块存储区域的部署格局,其中块申请查询表中记录着每个块的使用情况,即是否已经存储数据,以及某一个被申请的块的起始逻辑地址,一般以扇区为基本单位。开启瘦分配特性的磁盘镜像,在虚拟机运行一段时间后,会逐渐变大;当虚拟机内部有规模的文件删除后,虚拟机内部使用的空间会远远小于磁盘镜像文件大小,浪费存储空间。
实施例一
本发明实施例提供一种磁盘镜像空间回收的方法,应用于windows标准文件系统NTFS文件系统中,如图2所示,该方法包括:
S101、磁盘镜像空间回收装置在预设的主文件表MFT中,查找已删除文件以及该已删除文件对应的第一扇区。
其中,第一扇区为已删除文件在磁盘镜像中占用的且未保存有效数据的扇区。
NTFS中包含一个称为主文件表(MFT,Master File Table)的文件。MFT是一个映射磁盘中储存的所有对象的索引文件。在MFT中,NTFS磁盘上的每个文件(包括MFT自身)至少有一映射项。MFT中的各项包含大小、时间及时间戳、安全属性和数据位置。
磁盘的每一面被分为很多条磁道,每一个磁道又按512个字节为单位划分为等分,即为扇区。
对虚拟机所需的磁盘镜像进行空间回收,首先需要判断虚拟机内部磁盘镜像未使用的空间。
具体的,当需要对虚拟机的磁盘镜像进行空间回收时,磁盘镜像空间回收装置需要在预设的主文件表MFT中,查找该磁盘镜像中已删除文件以及该已删除文件在磁盘镜像中占用的扇区,并进一步根据主文件表MFT,获得已删除文件在磁盘镜像中占用且未保存有效数据的扇区即已删除文件对应的第一扇区。
可选的,已删除文件对应的扇区可以为连续扇区,也可以为不连续扇区。
例如,虚拟机磁盘镜像空间大小为5M,当虚拟机内部占有空间为2M的文件删除后,磁盘镜像占用空间还是5M,但是实际使用了3M,存储空间存在一定浪费。在需要对虚拟机的磁盘镜像进行空间回收时,磁盘镜像空间回收装置在MFT中,查找该磁盘镜像中已删除占有空间为2M的文件以及该已删除文件在磁盘镜像中占用的扇区,并进一步根据主文件表MFT,获得已删除占有空间为2M的文件在磁盘镜像中占用且未保存有效数据的扇区即已删除文件对应的第一扇区。
S102、磁盘镜像空间回收装置将第一扇区的内容设置为第一标识。
可选的,第一标识可以为0,也可以为除0以外的计算机可以读的其他标识。
具体的,在磁盘镜像空间回收装置查找获得已删除文件以及已删除文件对应的第一扇区后,需要对已删除文件对应的第一扇区进行标记,使得空间回收时,可以直接找到第一扇区。
现有技术中,在对磁盘镜像进行空间回收之前,将磁盘镜像的空闲扇区全部填满0,存在磁盘镜像被填满的情况,造成了时间的浪费,。
本发明中,进行标记操作时仅仅将第一扇区的内容设置为第一标识,由于第一扇区的空间是一定的,避免了时间浪费,减少了时间消耗。
例如,磁盘镜像的空间大小为5M,磁盘镜像空间回收装置在查找获得已删除占有空间为2M的文件以及该文件对应的第一扇区后,直接对该第一扇区进行填0,以使得空间回收时,磁盘镜像空间回收装置可以直接对已填0的第一扇区进行空间回收。该第一扇区的占有空间只有2M,仅对该2M空间进行填0,而不需要将5M空间中的空闲扇区全部填0,避免了时间的浪费。
S103、磁盘镜像空间回收装置按照预设规则,释放内容为第一标识的扇区。
具体的,磁盘镜像空间回收装置在获得已删除文件对应的第一扇区,并对其进行标识后,按照预设规则,对已标识的第一扇区进行空间回收。
可选的,第一标识可以为0,也可以为除0以外的计算机可以读的其他标识。
例如,磁盘镜像空间回收装置在查找获得已删除占有空间为2M的文件以及该文件对应的第一扇区后,直接对该第一扇区进行填0,然后,按照预设规则,释放该已填满0的占有空间为2M的文件对应的第一扇区的空间。
本发明的实施例提供了一种磁盘镜像空间回收的方法,磁盘镜像空间回收装置在预设的主文件表MFT中,查找已删除文件以及已删除文件对应的第一扇区,其中,第一扇区为已删除文件在磁盘镜像中占用的且未保存有效数据的扇区,然后,将第一扇区的内容设置为第一标识,最后,按照预设规则,释放内容为第一标识的扇区。通过该方案,能够提高虚拟机存储空间的利用率,同时避免磁盘镜像被填满,减少了时间消耗,保证了虚拟机业务的不中断。
实施例二
本发明实施例提供一种磁盘镜像空间回收的方法,应用于windows标准文件系统NTFS文件系统中,如图3所示,该方法包括:
S201、若虚拟机在线时,磁盘镜像空间回收装置将磁盘镜像进行在线快照,使得后续的写请求写入快照。
虚拟机在线,对磁盘镜像中已删除文件占用的且未保存有效数据的空间进行标记时,虚拟机处于工作状态,仍然会写入数据。为了保证在进行磁盘镜像扇区内容标记时写入数据的正确性,磁盘镜像空间回收装置将磁盘镜像进行在线快照,快照将虚拟机写I/O接管,之后写入的数据写入磁盘镜像快照中,保证了虚拟机业务不中断。
需要说明的是,若虚拟机离线时,不存在这一步骤。
S202、磁盘镜像空间回收装置将磁盘镜像挂载至虚拟机管理器hypervisor。
Hypervisor是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件,也可叫做虚拟机监视器(VMM,virtual machine monitor)。hypervisor是一种在虚拟环境中的“元”操作系统,它们可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisor不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当服务器启动并执行hypervisor时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。
磁盘镜像空间回收装置将磁盘镜像挂载至虚拟机管理器hypervisor,才能完成磁盘镜像的读写操作,hypervisor与磁盘镜像视角是平行的,可对磁盘镜像内部所包含的文件或文件系统进行处理。
S203、磁盘镜像空间回收装置在预设的主文件表MFT中,查找已删除文件以及该已删除文件对应的第一扇区。
其中,第一扇区为已删除文件在磁盘镜像中占用的且未保存有效数据的扇区。
NTFS中包含一个称为主文件表(MFT,Master File Table)的文件。MFT是一个映射磁盘中储存的所有对象的索引文件。在MFT中,NTFS磁盘上的每个文件(包括MFT自身)至少有一映射项。MFT中的各项包含大小、时间及时间戳、安全属性和数据位置。
对虚拟机所需的磁盘镜像进行空间回收,首先需要判断虚拟机内部磁盘镜像未使用的空间。
具体的,当需要对虚拟机的磁盘镜像进行空间回收时,磁盘镜像空间回收装置需要在主文件表MFT中,查找该磁盘镜像中已删除文件以及该已删除文件在磁盘镜像中占用的扇区,并进一步根据主文件表MFT,获得已删除文件在磁盘镜像中占用且未保存有效数据的扇区即已删除文件对应的第一扇区。
可选的,已删除文件对应的扇区可以为连续扇区,也可以为不连续扇区。
例如,虚拟机磁盘镜像空间大小为5M,当虚拟机内部占有空间为2M的文件删除后,磁盘镜像占用空间还是5M,但是实际使用了3M,存储空间存在一定浪费。在需要对虚拟机的磁盘镜像进行空间回收时,磁盘镜像空间回收装置将磁盘镜像挂载至hypervisor,在MFT中,查找该磁盘镜像中已删除占有空间为2M的文件以及该已删除文件在磁盘镜像中占用的扇区,并进一步根据主文件表MFT,获得已删除占有空间为2M的文件在磁盘镜像中占用且未保存有效数据的扇区即已删除文件对应的第一扇区。
S204、磁盘镜像空间回收装置将第一扇区的内容设置为第一标识。
其中,第一扇区的内容包括存储介质或设备的全部数据,还包括元数据,元数据用于自身的数据管理,实现驱动程序对磁盘镜像的快速数据读取。
可选的,第一标识可以为0,也可以为除0以外计算机可以读的标识。
具体的,在磁盘镜像空间回收装置查找获得已删除文件以及已删除文件对应的第一扇区后,需要对已删除文件对应的第一扇区进行标记,使得空间回收时,可以直接找到第一扇区。
现有技术中,在对磁盘镜像进行空间回收之前,将磁盘镜像的空闲扇区全部填满0,存在磁盘镜像被填满的情况,造成了时间的浪费,。
本发明中,进行标记操作时仅仅将第一扇区的内容设置为第一标识,由于第一扇区的空间是一定的,避免了时间浪费,减少了时间消耗。
S205、磁盘镜像空间回收装置将磁盘镜像从hypervisor上卸载。
磁盘镜像空间回收装置磁盘镜像挂载至hypervisor上后,利用hypervisor将其第一扇区的内容设置为第一标识,然后,把磁盘镜像从hypervisor上卸载,以实现该磁盘镜像的空间释放操作,磁盘镜像脱离hypervisor后,作为独立个体,进行空间释放。
Hypervisor的资源十分宝贵,当hypervisor处理完某一磁盘镜像后,磁盘镜像空间回收装置将该磁盘镜像从hypervisor上卸载后,hypervisor的资源还能被其他磁盘镜像所利用。
S206、若虚拟机在线时,磁盘镜像空间回收装置对该磁盘镜像创建在线磁盘快照,以实现后续的写请求写入快照。
同理,若虚拟机在线,对磁盘镜像进行空间回收时,虚拟机依旧处于工作状态,仍然会写入数据。为了保证在进行磁盘镜像空间回收时写入数据的正确性,磁盘镜像空间回收装置将磁盘镜像进行在线快照,快照将虚拟机写I/O接管,之后写入的数据写入磁盘镜像快照中,保证了业务不中断。
需要说明的是,若虚拟机离线时,不存在这一步骤。
S207、磁盘镜像空间回收装置通过磁盘镜像工具,获取磁盘镜像的内容以及该磁盘镜像的扇区数量值。
其中,磁盘镜像的内容包括存储介质或设备的全部数据,还包括元数据。
具体的,磁盘镜像空间回收装置在获得已删除文件对应的第一扇区,并对其进行标识后,按照预设规则,对已标识的第一扇区进行空间回收。
对已标识的第一扇区进行空间回收时,磁盘镜像空间回收装置首先需要通过磁盘镜像工具,获取对其进行空间处理的磁盘镜像的内容以及该磁盘镜像的扇区数量值,磁盘镜像的内容包括存储介质或设备的全部数据,还包括元数据。
需要说明的是,获得磁盘镜像的扇区数量值是为了保证在空间回收时获得一定的扇区选择范围。
例如,磁盘镜像空间回收装置通过磁盘镜像工具,获取磁盘镜像的内容以及该磁盘镜像的扇区数量值M。
S208、磁盘镜像空间回收装置设置磁盘镜像的文件偏移量。
磁盘镜像空间回收装置在对磁盘镜像空间回收时,需要对已标识的第一扇区进行空间释放。由于已标识的第一扇区可能为连续扇区,也可能为不连续扇区,所以在空间回收时,需要进行若干次空间释放,因此,设置磁盘镜像的文件偏移量offset。
具体的,文件偏移量offset是一个变量,其初始值为0,随着对不同扇区空间释放的次数的变化为变化。
S209、磁盘镜像空间回收装置从磁盘镜像的文件偏移量处获取并缓存磁盘镜像的N个扇区的内容。
其中,N为第一数量值和预设第二数量值中的最小值,第一数量值为磁盘镜像的扇区数量值减去所述磁盘镜像文件偏移变量后得到的数量值。
具体的,磁盘镜像空间回收装置从磁盘镜像的文件偏移量offset处,向后读取磁盘镜像N个扇区的内容,并将该N个扇区的内容缓存,N为第一数量值和预设第二数量值中的最小值,第一数量值为磁盘镜像的扇区数量值减去所述磁盘镜像文件偏移变量后得到的数量值。
具体的,N的值随着磁盘镜像的文件偏移量offset的变化而变化。
可选的,预设第二数量值可以为4096,也可以为能够使得已标识的第一扇区空间全部释放的其他数量值。
例如,假设磁盘镜像的文件偏移量offset取0,该磁盘镜像的扇区数量值M为70,则N取MIN(70-0,4096)=70,即从磁盘镜像的起始位置处获取并缓存该磁盘镜像的70个扇区的内容。
S210、磁盘镜像空间回收装置设置缓冲区中所述N个扇区的偏移量,并从该N个扇区的偏移量处开始查找内容为第一标识的连续扇区。
需要说明的是,N个扇区的偏移量是相对于所述磁盘镜像的偏移量。
为了将已标识的第一扇区的空间释放,磁盘镜像空间回收装置在获取并缓存磁盘镜像N个扇区的内容后,查找该N个扇区中内容为第一标识的连续扇区。
具体的,磁盘镜像空间回收装置已经将N个扇区的内容缓存,需对该N个扇区的内容进行处理,首先设置缓冲区内该N个扇区的偏移量Q,其中偏移量Q是相对于磁盘镜像的偏移量,然后,从该偏移量Q处开始查找内容为第一标识的连续扇区。
可选的,第一标识可以为0,也可以为除0以外的计算机可以读的其他标识。
具体的,该N个扇区的偏移量是一个变量,其初始值为0,随着对缓冲区中N个扇区中连续扇区的查找与空间释放的次数的变化为变化。
例如,假设磁盘镜像的文件偏移量offset取0,该磁盘镜像的扇区数量值M为70,则从磁盘镜像的起始位置处获取并缓存该磁盘镜像的70个扇区的内容。对缓冲区中该70个扇区的内容进行处理,首先,设置该70个扇区的偏移量Q,该Q初始值为0,从该Q处开始查找内容为第一标识的连续扇区。
S211、若存在内容为第一标识的扇区,磁盘镜像空间回收装置则记录内容为第一标识的扇区的起始位置与内容为第一标识的扇区的长度。
具体的,磁盘镜像空间回收装置处理缓冲区扇区内容时,从缓冲区中扇区的偏移量开始查找内容为第一标识的连续扇区。若缓冲区中存在内容为第一标识的扇区,则记录该连续扇区的起始位置P与其长度L。
可选的,第一标识可以为0,也可以为除0以外的计算机可以读的其他标识。
具体的,该连续扇区的起始位置P与其长度L都是变量,随着对缓冲区中扇区的连续扇区的查找与空间释放的次数的变化为变化。
例如,缓冲区中有70个扇区的内容,则从该70个扇区的偏移量Q处开始查询内容为第一标识的连续扇区。若存在内容为第一标识的连续扇区,则记录其起始位置与长度。
S212、磁盘镜像空间回收装置调用系统函数,释放磁盘镜像起始于第一偏移量乘以512,长度为内容为第一标识的扇区的长度的空间。
其中,第一偏移量是磁盘镜像文件偏移量与第一标识扇区的起始位置之和的变量。
可选的,调用系统函数可以调用Linux系统中fallocate函数。
具体的,磁盘镜像空间回收装置在查找获得内容为第一标识的连续扇区后,对该连续扇区的空间进行释放。若调用Linux系统中fallocate函数,并设置FALLOC_FL_PUNCH_HOLE标识位,释放磁盘镜像起始于第一偏移量乘以512,长度为内容为第一标识的扇区的长度的空间,即(offset+P)*512,长度为L*512的空间,使其成为稀疏文件。
需要说明的是,扇区所占用的空间是512字节。
其中,稀疏文件是在文件中留有很多空余空间,以备将来插入数据使用。稀疏文件一般在建立后,并未分配相应的磁盘空间,只有真正的数据写入时,才会被分配磁盘空间。
具体的,磁盘镜像空间回收装置在释放内容为第一标识的N个扇区后,将磁盘镜像的文件偏移量后移,即磁盘镜像的文件偏移量offset=offset+N,从移动后的磁盘镜像的文件偏移量处开始查询内容为第一标识的扇区,直至调用系统函数释放完该磁盘镜像中所有内容为第一标识的扇区。
可选的,第一标识可以为0,也可以为除0以外的计算机可以读的其他标识。
例如,假设磁盘镜像的文件偏移量offset取0,该磁盘镜像的扇区数量值M为4098,则N=MIN(4098-0,4096)=4096,则从磁盘镜像的起始位置处获取并缓存该磁盘镜像的4096个扇区的内容,对缓冲区中该4096个扇区的内容进行处理,设置该4096个扇区的偏移量Q,该Q初始值为0,从该Q处开始查找释放内容为第一标识的连续扇区,直至将该4096个扇区中内容为第一标识的连续扇区的空间都释放,然后,将磁盘镜像的文件偏移量offset后移,即offset=0+4096=4096,从磁盘镜像中4096个扇区开始查询内容为第一标识的扇区,循环查找释放直至磁盘镜像中不存在内容为第一标识的扇区。
S213、若虚拟机在线时,磁盘镜像空间回收装置对磁盘镜像进行快照合并,使得虚拟机后续的读写数据写入该磁盘镜像。
同理,若虚拟机在线,对磁盘镜像进行空间回收后,磁盘镜像快照中记录了在对磁盘镜像进行空间回收时刻写入的数据,为了保证数据的完整性和正确性,磁盘镜像空间回收装置对磁盘镜像进行快照合并,合并后的磁盘镜像拥有在进行空间回收时刻写入的数据,也获得了之前占用且未保存有效数据的空间。
需要说明的是,若虚拟机离线时,不存在这一步骤。
本发明的实施例提供了一种磁盘镜像空间回收的方法,磁盘镜像空间回收装置在预设的主文件表MFT中,查找已删除文件以及已删除文件对应的第一扇区,其中,第一扇区为已删除文件在磁盘镜像中占用的且未保存有效数据的扇区,然后,将第一扇区的内容设置为第一标识,最后,按照预设规则,释放内容为第一标识的扇区。通过该方案,能够提高虚拟机存储空间的利用率,同时避免磁盘镜像被填满,减少了时间消耗,保证了虚拟机业务的不中断。
实施例三
本发明提供一种磁盘镜像空间回收装置,应用于windows标准文件系统NTFS文件系统中,如图4所示,包括:
查找单元10,用于在预设的主文件表MFT中,查找已删除文件以及所述已删除文件对应的第一扇区,所述第一扇区为所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区;
标记单元11,用于将所述第一扇区的内容设置为第一标识;
处理单元12,用于按照预设规则,释放所述内容为所述第一标识的扇区。
进一步地,所述处理单元12,具体用于获取所述磁盘镜像的内容以及所述磁盘镜像的扇区数量值,设置所述磁盘镜像的文件偏移量,从所述磁盘镜像的文件偏移量处查找所述内容为所述第一标识的扇区,以及释放所述内容为所述第一标识的扇区。
进一步地,所述处理单元12,具体用于从所述磁盘镜像的文件偏移量处获取并缓存所述磁盘镜像的N个扇区的内容,设置缓冲区中所述N个扇区的偏移量,并从所述N个扇区的偏移量处开始查找内容为第一标识的连续扇区,以及若存在内容为第一标识的扇区,则记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度,所述N为第一数量值和预设第二数量值中的最小值,所述第一数量值为所述磁盘镜像的扇区数量值减去所述磁盘镜像文件偏移变量后得到的数量值,所述N个扇区的偏移量是相对于所述磁盘镜像的偏移量。
进一步地,所述处理单元12,还用于在所述记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度之后,调用系统函数,释放所述磁盘镜像起始于第一偏移量乘以512,长度为所述内容为第一标识的扇区的长度的空间,所述第一偏移量是所述磁盘镜像文件偏移量与所述第一标识扇区的起始位置之和的变量。
进一步地,如图5所示,所述查找单元10包括第一处理模块13,所述第一处理模块13,用于在查找已删除文件和所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区之前,将磁盘镜像挂载至虚拟机管理器hypervisor。
进一步地,如图5所示,所述查找单元10还包括预处理模块14,所述预处理模块14,用于若虚拟机在线时,将磁盘镜像进行在线快照,使得后续的写请求写入快照。
进一步地,如图5所示,所述标记单元11包括第二处理模块15,所述第二处理模块15,用于在将所述已删除文件占用且未保存有效数据的扇区的内容设置为第一标识之后,将所述磁盘镜像从虚拟机管理器hypervisor上卸载,以实现释放所述内容为所述第一标识的扇区。
进一步地,所述处理单元12,还用于在按照预设规则,释放所述内容为所述第一标识的扇区之前,若虚拟机在线时,对所述磁盘镜像创建在线磁盘快照,以实现后续的写请求写入快照。
进一步地,所述处理单元12,还用于在按照预设规则,释放所述内容为所述第一标识的扇区之后,若虚拟机在线时,对所述磁盘镜像进行快照合并,使得虚拟机后续的读写数据写入所述磁盘镜像。
本发明的实施例提供了一种磁盘镜像空间回收装置,主要包括查找单元、标记单元和处理单元。磁盘镜像空间回收装置在预设的主文件表MFT中,查找已删除文件以及已删除文件对应的第一扇区,其中,第一扇区为已删除文件在磁盘镜像中占用的且未保存有效数据的扇区,然后,将第一扇区的内容设置为第一标识,最后,按照预设规则,释放内容为第一标识的扇区。通过该方案,能够提高虚拟机存储空间的利用率,同时避免磁盘镜像被填满,减少了时间消耗,保证了虚拟机业务的不中断。
实施例四
本发明提供一种磁盘镜像空间回收装置,应用于windows标准文件系统NTFS文件系统中,如图6所示,包括:
处理器20,用于在预设的主文件表MFT中,查找已删除文件以及所述已删除文件对应的第一扇区,按照预设规则,释放所述内容为所述第一标识的扇区,所述第一扇区为所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区;
存储器21,用于将所述第一扇区的内容设置为第一标识;
进一步地,所述处理器20,具体用于获取所述磁盘镜像的内容以及所述磁盘镜像的扇区数量值,设置所述磁盘镜像的文件偏移量,从所述磁盘镜像的文件偏移量处查找所述内容为所述第一标识的扇区,以及释放所述内容为所述第一标识的扇区,以及具体用于从所述磁盘镜像的文件偏移量处获取并缓存所述磁盘镜像的N个扇区的内容,设置缓冲区中所述N个扇区的偏移量,并从所述N个扇区的偏移量处开始查找内容为第一标识的连续扇区,以及若存在内容为第一标识的扇区,则记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度,所述N为第一数量值和预设第二数量值中的最小值,所述第一数量值为所述磁盘镜像的扇区数量值减去所述磁盘镜像文件偏移变量后得到的数量值,所述N个扇区的偏移量是相对于所述磁盘镜像的偏移量。
进一步地,所述处理器20,还用于在所述记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度之后,调用系统函数,释放所述磁盘镜像起始于第一偏移量乘以512,长度为所述内容为第一标识的扇区的长度的空间,所述第一偏移量是所述磁盘镜像文件偏移量与所述第一标识扇区的起始位置之和的变量,以及还用于在查找已删除文件和所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区之前,将磁盘镜像挂载至虚拟机管理器hypervisor,以及还用于在将所述已删除文件占用且未保存有效数据的扇区的内容设置为第一标识之后,将所述磁盘镜像从虚拟机管理器hypervisor上卸载,以及还用于在按照预设规则,释放所述内容为所述第一标识的扇区之前,若虚拟机在线时,对所述磁盘镜像创建在线磁盘快照,以及还用于在按照预设规则,释放所述内容为所述第一标识的扇区之后,若虚拟机在线时,对所述磁盘镜像进行快照合并,使得虚拟机后续的读写数据写入所述磁盘镜像。
进一步地,如图7所示,所述处理器20包括预处理器22,所述预处理器22,用于在将磁盘镜像挂载至虚拟机管理器hypervisor之前,若虚拟机在线时,将磁盘镜像进行在线快照,使得后续的写请求写入快照。
本发明的实施例提供了一种磁盘镜像空间回收装置,主要包括处理器和存储器。磁盘镜像空间回收装置在预设的主文件表MFT中,查找已删除文件以及已删除文件对应的第一扇区,其中,第一扇区为已删除文件在磁盘镜像中占用的且未保存有效数据的扇区,然后,将第一扇区的内容设置为第一标识,最后,按照预设规则,释放内容为第一标识的扇区。通过该方案,能够提高虚拟机存储空间的利用率,同时避免磁盘镜像被填满,减少了时间消耗,保证了虚拟机业务的不中断。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种磁盘镜像空间回收的方法,其特征在于,应用于windows标准文件系统NTFS文件系统中,所述方法包括:
在预设的主文件表MFT中,查找已删除文件以及所述已删除文件对应的第一扇区,所述第一扇区为所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区;
将所述第一扇区的内容设置为第一标识;
按照预设规则,释放所述内容为所述第一标识的扇区。
2.根据权利要求1所述的磁盘镜像空间回收的方法,其特征在于,所述按照预设规则,释放所述内容为所述第一标识的扇区,具体包括:
获取所述磁盘镜像的内容以及所述磁盘镜像的扇区数量值,所述内容包括存储介质或设备的全部数据,还包括元数据;
设置所述磁盘镜像的文件偏移量;
从所述磁盘镜像的文件偏移量处查找所述内容为所述第一标识的扇区;
释放所述内容为所述第一标识的扇区。
3.根据权利要求2所述的磁盘镜像空间回收的方法,其特征在于,所述从所述磁盘镜像的文件偏移量处查找所述内容为所述第一标识的扇区,具体包括:
从所述磁盘镜像的文件偏移量处获取并缓存所述磁盘镜像的N个扇区的内容,所述N为第一数量值和预设第二数量值中的最小值,所述第一数量值为所述磁盘镜像的扇区数量值减去所述磁盘镜像文件偏移变量后得到的数量值;
设置缓冲区中所述N个扇区的偏移量,并从所述N个扇区的偏移量处开始查找内容为第一标识的连续扇区,所述N个扇区的偏移量是相对于所述磁盘镜像的偏移量;
若存在内容为第一标识的扇区,则记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度。
4.根据权利要求3所述磁盘镜像空间回收的方法,其特征在于,在所述记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度之后,所述方法还包括:
调用系统函数,释放所述磁盘镜像起始于第一偏移量乘以512,长度为所述内容为第一标识的扇区的长度的空间,所述第一偏移量是所述磁盘镜像文件偏移量与所述第一标识扇区的起始位置之和的变量。
5.根据权利要求1-4中任一项所述的磁盘镜像空间回收的方法,其特征在于,所述在查找已删除文件和所述已删除文件对应的第一扇区之前,所述方法还包括:
将所述磁盘镜像挂载至虚拟机管理器hypervisor。
6.根据权利要求5所述的磁盘镜像空间回收的方法,其特征在于,所述将磁盘镜像挂载至虚拟机管理器hypervisor之前,所述方法还包括:
若虚拟机在线时,将所述磁盘镜像进行在线快照,使得后续的写请求写入快照。
7.根据权利要求1-6中任一项所述的磁盘镜像空间回收的方法,其特征在于,所述将所述第一扇区的内容设置为第一标识之后,所述方法还包括:
将所述磁盘镜像从虚拟机管理器hypervisor上卸载,以实现释放所述内容为所述第一标识的扇区。
8.根据权利要求1-7中任一项所述的磁盘镜像空间回收的方法,其特征在于,所述按照预设规则,释放所述内容为所述第一标识的扇区之前,所述方法还包括:
若虚拟机在线时,对所述磁盘镜像创建在线磁盘快照,以实现后续的写请求写入快照。
9.根据权利要求1-8中任一项所述的磁盘镜像空间回收的方法,其特征在于,所述按照预设规则,释放所述内容为所述第一标识的扇区之后,所述方法还包括:
若虚拟机在线时,对所述磁盘镜像进行快照合并,使得虚拟机后续的读写数据写入所述磁盘镜像。
10.一种磁盘镜像空间回收装置,其特征在于,应用于windows标准文件系统NTFS文件系统中,所述装置包括:
查找单元,用于在预设的主文件表MFT中,查找已删除文件以及所述已删除文件对应的第一扇区,所述第一扇区为所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区;
标记单元,用于将所述第一扇区的内容设置为第一标识;
处理单元,用于按照预设规则,释放所述内容为所述第一标识的扇区。
11.根据权利要求10所述的磁盘镜像空间回收装置,其特征在于,
所述处理单元,具体用于获取所述磁盘镜像的内容以及所述磁盘镜像的扇区数量值,设置所述磁盘镜像的文件偏移量,从所述磁盘镜像的文件偏移量处查找所述内容为所述第一标识的扇区,以及释放所述内容为所述第一标识的扇区。
12.根据权利要求11所述的磁盘镜像空间回收装置,其特征在于,
所述处理单元,具体用于从所述磁盘镜像的文件偏移量处获取并缓存所述磁盘镜像的N个扇区的内容,设置缓冲区中所述N个扇区的偏移量,并从所述N个扇区的偏移量处开始查找内容为第一标识的连续扇区,以及若存在内容为第一标识的扇区,则记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度,所述N为第一数量值和预设第二数量值中的最小值,所述第一数量值为所述磁盘镜像的扇区数量值减去所述磁盘镜像文件偏移变量后得到的数量值,所述N个扇区的偏移量是相对于所述磁盘镜像的偏移量。
13.根据权利要求12所述的磁盘镜像空间回收装置,其特征在于,
所述处理单元,还用于在所述记录所述内容为第一标识的扇区的起始位置与所述内容为第一标识的扇区的长度之后,调用系统函数,释放所述磁盘镜像起始于第一偏移量乘以512,长度为所述内容为第一标识的扇区的长度的空间,所述第一偏移量是所述磁盘镜像文件偏移量与所述第一标识扇区的起始位置之和的变量。
14.根据权利要求10-13中任一项所述的磁盘镜像空间回收装置,其特征在于,所述查找单元包括第一处理模块;
所述第一处理模块,用于在查找已删除文件和所述已删除文件在磁盘镜像中占用的且未保存有效数据的扇区之前,将磁盘镜像挂载至虚拟机管理器hypervisor。
15.根据权利要求14所述的磁盘镜像空间回收装置,其特征在于,所述查找单元还包括预处理模块;
所述预处理模块,用于在所述第一处理模块将磁盘镜像挂载至虚拟机管理器hypervisor之前,若虚拟机在线时,将磁盘镜像进行在线快照,使得后续的写请求写入快照。
16.根据权利要10-15中任一项所述的磁盘镜像空间回收装置,其特征在于,所述标记单元包括第二处理模块;
所述第二处理模块,用于在将所述已删除文件占用且未保存有效数据的扇区的内容设置为第一标识之后,将所述磁盘镜像从虚拟机管理器hypervisor上卸载,以实现释放所述内容为所述第一标识的扇区。
17.根据权利要求10-16中任一项所述的磁盘镜像空间回收装置,其特征在于,
所述处理单元,还用于在按照预设规则,释放所述内容为所述第一标识的扇区之前,在若虚拟机在线时,对所述磁盘镜像创建在线磁盘快照,以实现后续的写请求写入快照。
18.根据权利要求10-17中任一项所述的磁盘镜像空间回收装置,其特征在于,
所述处理单元,还用于在按照预设规则,释放所述内容为所述第一标识的扇区之后,若虚拟机在线时,对所述磁盘镜像进行快照合并,使得虚拟机后续的读写数据写入所述磁盘镜像。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310476249.5A CN104572656B (zh) | 2013-10-12 | 2013-10-12 | 一种磁盘镜像空间回收的方法及装置 |
PCT/CN2014/078364 WO2015051641A1 (zh) | 2013-10-12 | 2014-05-26 | 一种磁盘镜像空间回收的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310476249.5A CN104572656B (zh) | 2013-10-12 | 2013-10-12 | 一种磁盘镜像空间回收的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572656A true CN104572656A (zh) | 2015-04-29 |
CN104572656B CN104572656B (zh) | 2019-02-19 |
Family
ID=52812499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310476249.5A Active CN104572656B (zh) | 2013-10-12 | 2013-10-12 | 一种磁盘镜像空间回收的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104572656B (zh) |
WO (1) | WO2015051641A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598503A (zh) * | 2016-12-23 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种云平台下优化虚拟磁盘占用存储空间的方法和装置 |
CN106919471A (zh) * | 2015-12-25 | 2017-07-04 | 中国电信股份有限公司 | 用于快照建立的方法和系统 |
CN107544834A (zh) * | 2017-07-28 | 2018-01-05 | 新华三云计算技术有限公司 | 一种镜像文件收缩方法、装置和机器可读存储介质 |
CN108363552A (zh) * | 2018-01-31 | 2018-08-03 | 华为技术有限公司 | 虚拟机磁盘空间回收方法和系统 |
CN109871183A (zh) * | 2018-07-10 | 2019-06-11 | 四川中电启明星信息技术有限公司 | 一种虚拟机磁盘精简的方法及装置 |
CN112148228A (zh) * | 2020-09-29 | 2020-12-29 | 上海摩勤智能技术有限公司 | 存储空间的释放方法、终端及存储介质 |
CN113553142A (zh) * | 2021-09-18 | 2021-10-26 | 云宏信息科技股份有限公司 | 云平台的存储空间整理方法、配置方法及可读存储介质 |
CN114281239A (zh) * | 2020-09-28 | 2022-04-05 | 华为云计算技术有限公司 | 一种镜像文件写入方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399248B (zh) * | 2018-04-25 | 2023-08-15 | 阿里巴巴集团控股有限公司 | 一种镜像文件创建、获取方法、装置及服务器 |
CN109117251B (zh) * | 2018-08-09 | 2020-10-30 | 郑州云海信息技术有限公司 | 一种虚拟机回收站的实现方法、装置和可读存储介质 |
CN109710377B (zh) * | 2018-12-14 | 2023-06-30 | 国云科技股份有限公司 | 一种从故障的分布式存储里恢复kvm虚拟机的方法 |
CN114356232B (zh) * | 2021-12-30 | 2024-04-09 | 西北工业大学 | 数据读写方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030165A (zh) * | 2006-03-02 | 2007-09-05 | 腾讯科技(深圳)有限公司 | 一种磁盘空间管理方法及系统 |
US7814272B2 (en) * | 2004-11-05 | 2010-10-12 | Data Robotics, Inc. | Dynamically upgradeable fault-tolerant storage system permitting variously sized storage devices and method |
CN101986284A (zh) * | 2010-11-04 | 2011-03-16 | 华中科技大学 | 一种虚拟机镜像文件的废弃空间动态回收系统 |
CN103092678A (zh) * | 2013-01-22 | 2013-05-08 | 华中科技大学 | 一种多增量虚拟机内存管理系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609419B (zh) * | 2009-06-29 | 2012-05-30 | 北京航空航天大学 | 虚拟机持续在线迁移的数据备份方法及装置 |
CN102929788B (zh) * | 2012-09-14 | 2015-07-22 | 浪潮(北京)电子信息产业有限公司 | 一种存储系统及存储空间回收的方法 |
-
2013
- 2013-10-12 CN CN201310476249.5A patent/CN104572656B/zh active Active
-
2014
- 2014-05-26 WO PCT/CN2014/078364 patent/WO2015051641A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814272B2 (en) * | 2004-11-05 | 2010-10-12 | Data Robotics, Inc. | Dynamically upgradeable fault-tolerant storage system permitting variously sized storage devices and method |
CN101030165A (zh) * | 2006-03-02 | 2007-09-05 | 腾讯科技(深圳)有限公司 | 一种磁盘空间管理方法及系统 |
CN101986284A (zh) * | 2010-11-04 | 2011-03-16 | 华中科技大学 | 一种虚拟机镜像文件的废弃空间动态回收系统 |
CN103092678A (zh) * | 2013-01-22 | 2013-05-08 | 华中科技大学 | 一种多增量虚拟机内存管理系统和方法 |
Non-Patent Citations (1)
Title |
---|
凌笑: "虚拟机镜像文件的废弃空间回收系统", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919471A (zh) * | 2015-12-25 | 2017-07-04 | 中国电信股份有限公司 | 用于快照建立的方法和系统 |
CN106919471B (zh) * | 2015-12-25 | 2020-03-20 | 中国电信股份有限公司 | 用于快照建立的方法和系统 |
CN106598503A (zh) * | 2016-12-23 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种云平台下优化虚拟磁盘占用存储空间的方法和装置 |
CN106598503B (zh) * | 2016-12-23 | 2019-09-24 | 郑州云海信息技术有限公司 | 一种云平台下优化虚拟磁盘占用存储空间的方法和装置 |
CN107544834A (zh) * | 2017-07-28 | 2018-01-05 | 新华三云计算技术有限公司 | 一种镜像文件收缩方法、装置和机器可读存储介质 |
CN108363552A (zh) * | 2018-01-31 | 2018-08-03 | 华为技术有限公司 | 虚拟机磁盘空间回收方法和系统 |
WO2019149184A1 (zh) * | 2018-01-31 | 2019-08-08 | 华为技术有限公司 | 虚拟机磁盘空间回收方法和系统 |
CN109871183A (zh) * | 2018-07-10 | 2019-06-11 | 四川中电启明星信息技术有限公司 | 一种虚拟机磁盘精简的方法及装置 |
CN109871183B (zh) * | 2018-07-10 | 2022-04-15 | 四川中电启明星信息技术有限公司 | 一种虚拟机磁盘精简的方法及装置 |
CN114281239A (zh) * | 2020-09-28 | 2022-04-05 | 华为云计算技术有限公司 | 一种镜像文件写入方法及装置 |
CN112148228A (zh) * | 2020-09-29 | 2020-12-29 | 上海摩勤智能技术有限公司 | 存储空间的释放方法、终端及存储介质 |
CN113553142A (zh) * | 2021-09-18 | 2021-10-26 | 云宏信息科技股份有限公司 | 云平台的存储空间整理方法、配置方法及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104572656B (zh) | 2019-02-19 |
WO2015051641A1 (zh) | 2015-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572656A (zh) | 一种磁盘镜像空间回收的方法及装置 | |
US9904473B2 (en) | Memory and processor affinity in a deduplicated environment | |
US8924664B2 (en) | Logical object deletion | |
US11314420B2 (en) | Data replica control | |
CN109697016B (zh) | 用于改进容器的存储性能的方法和装置 | |
CN103577345A (zh) | 提高由多个系统共享的存储高速缓存灵活性的方法和结构 | |
CN111949605A (zh) | 用于实现文件系统的方法、设备和计算机程序产品 | |
CN105027070A (zh) | 卷操作的安全性 | |
US9436601B2 (en) | Categorizing memory pages based on page residences | |
CN108733309B (zh) | 存储管理方法、设备和计算机可读介质 | |
CN112346647B (zh) | 数据存储方法、装置、设备和介质 | |
US9471366B2 (en) | Virtual machine disk image backup using block allocation area | |
US11112986B2 (en) | Systems and methods for storing information within hybrid storage with local and cloud-based storage devices | |
US11199990B2 (en) | Data reduction reporting in storage systems | |
EP3865992A2 (en) | Distributed block storage system, method, apparatus and medium | |
US8504764B2 (en) | Method and apparatus to manage object-based tiers | |
US10747452B1 (en) | Hybrid log-structured array and allocated storage device | |
US11847052B2 (en) | Memory allocation apparatus and method | |
US10235083B1 (en) | Systems and methods for efficiently moving data within a filesystem | |
US9152347B2 (en) | Storage and retrieval of high importance pages in an active memory sharing environment | |
CN109343928B (zh) | 虚拟化集群中虚拟机的虚拟内存文件重定向方法及其系统 | |
CN107168646B (zh) | 一种分布式数据存储控制方法及服务器 | |
US10140038B2 (en) | Utilization of a thin provision grid storage array | |
WO2014064547A1 (en) | In-memory continuous data protection | |
US11947799B1 (en) | Systems and methods for using the TRIM command with solid state devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |