CN113961147A - 在云平台上从已删除的块中回收空间的方法及应用 - Google Patents
在云平台上从已删除的块中回收空间的方法及应用 Download PDFInfo
- Publication number
- CN113961147A CN113961147A CN202111249829.1A CN202111249829A CN113961147A CN 113961147 A CN113961147 A CN 113961147A CN 202111249829 A CN202111249829 A CN 202111249829A CN 113961147 A CN113961147 A CN 113961147A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- management platform
- cloud
- cloud management
- storage
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004064 recycling Methods 0.000 title description 2
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 abstract description 33
- 230000037430 deletion Effects 0.000 abstract description 33
- 230000001360 synchronised effect Effects 0.000 abstract description 3
- 239000002699 waste material Substances 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 95
- 238000011084 recovery Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种在云平台上从已删除的块中回收空间的方法及应用,该方法包括以下步骤:虚拟机的操作系统按照预设周期执行丢弃服务;在云管理平台收到所述丢弃服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件;若是,所述虚拟机的存储删除所述存储文件。该方法能够实现存储系统的空间释放,保证数据在存储空间的同步删除,避免存储空间的浪费,提高存储空间利用率。
Description
技术领域
本发明是关于云存储领域,特别是关于一种在云平台上从已删除的块中回收空间的方法及应用。
背景技术
随着互联网技术的迅速发展,人们越来越多地使用计算机存储数据,这使得对数据存储的需求不断增长。由于单机的文件系统存储容量有限,因此时下各大互联网公司一般均采用自研或开源的分布式文件系统存储数据。其中,存储的数据中常常会包含较多有时效性的数据,因此分布式文件系统一般会支持数据删除操作。由于在执行数据删除操作后,删除数据所占用的存储空间处于空闲状态,出于合理利用存储空间的目的,此时对这类存储空间进行回收显得尤为重要。
在云环境的部署中,存储通常具备Thin provision的功能,这项功能实现了存储按需分配的能力。现在有这样一种场景,用户在文件系统中创建了大文件,使用结束后进行删除。但实际上,该文件在存储系统上占用的空间并没有释放。当用户在文件系统中删除一个文件,仅在磁盘的元数据结构中将这些block标记为未使用,并不会回收块设备的空间。因此,虽然文件系统知道这些block是未使用或者说可用的,但是底层的存储系统并不知道文件系统做的操作,会认为这些block仍在使用。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种在云平台上从已删除的块中回收空间的方法及应用,解决在一些场景中,文件系统进行文件删除,而存储系统中仍然存在对应的存储文件,占用的空间未被释放的问题。
为实现上述目的,本发明的实施例提供了一种在云平台上从已删除的块中回收空间的方法。
在本发明的一个或多个实施方式中,所述方法包括:虚拟机的操作系统按照预设周期执行丢弃服务;在云管理平台收到所述丢弃服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件;若是,所述虚拟机的存储删除所述存储文件。
在本发明的一个或多个实施方式中,所述虚拟机的操作系统按照预设周期执行丢弃服务,包括:给虚拟机的磁盘按照预先设置配置ftrim;查询所述虚拟机的磁盘是否配置ftrim;若是,所述虚拟机的操作系统将所述丢弃服务通过以太网发送至所述云发管理平台。
在本发明的一个或多个实施方式中,所述方法还包括:在所述云管理平台检查到虚拟机的磁盘不存在对应的存储文件时,所述云管理平台按照预设周期在数据库中检查虚拟机的磁盘是否存在对应的存储文件。
在本发明的一个或多个实施方式中,所述方法还包括:判断所述虚拟机的存储删除所述存储文件是否成功;若否,所述虚拟机通知管理员回收空间失败。
为实现上述目的,本发明的实施例提供了又一种在云平台上从已删除的块中回收空间的方法。
在本发明的一个或多个实施方式中,所述方法包括:虚拟机的操作系统按照预设周期执行qemu-guest-agent服务;在云管理平台查询到qemu-guest-agent服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件;若是,所述虚拟机的存储删除所述存储文件。
在本发明的一个或多个实施方式中,所述方法还包括:所述虚拟机的操作系统将所述qemu-guest-agent服务的信息发送至qemu-KVM的virtio-blk;以及,所述云管理平台按照预设周期查询qemu-KVM。
在本发明的一个或多个实施方式中,所述方法还包括:在所述云管理平台检查到虚拟机的磁盘不存在对应的存储文件时,按照预设周期在数据库中检查虚拟机的磁盘是否存在对应的存储文件。
在本发明的一个或多个实施方式中,所述方法还包括:判断所述虚拟机的存储删除所述存储文件是否成功;若否,所述虚拟机通知管理员回收空间失败。
为实现上述目的,本发明的实施例提供了又一种在云平台上从已删除的块中回收空间的方法。
在本发明的一个或多个实施方式中,所述方法包括:云管理平台接收虚拟机的操作系统发送的丢弃服务消息;在云管理平台收到所述丢弃服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件;若是,所述云管理平台通知所述虚拟机的存储删除所述存储文件。
在本发明的另一个方面当中,提供了一种在云平台上从已删除的块中回收空间的装置,其包括执行模块、检查模块和删除模块。
执行模块,用于虚拟机的操作系统按照预设周期执行丢弃服务。
检查模块,用于在云管理平台收到所述丢弃服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
删除模块,用于所述虚拟机的存储删除所述存储文件。
在本发明的一个或多个实施方式中,所述执行模块还用于:给虚拟机的磁盘按照预先设置配置ftrim;查询所述虚拟机的磁盘是否配置ftrim;若是,所述虚拟机的操作系统将所述丢弃服务通过以太网发送至所述云发管理平台。
在本发明的一个或多个实施方式中,所述检查模块还用于:在所述云管理平台检查到虚拟机的磁盘不存在对应的存储文件时,所述云管理平台按照预设周期在数据库中检查虚拟机的磁盘是否存在对应的存储文件。
在本发明的一个或多个实施方式中,所述删除模块还用于:判断所述虚拟机的存储删除所述存储文件是否成功;若否,所述虚拟机通知管理员回收空间失败。
在本发明的另一个方面当中,提供了又一种在云平台上从已删除的块中回收空间的装置,其包括执行模块、检查模块和删除模块。
执行模块,用于虚拟机的操作系统按照预设周期执行qemu-guest-agent服务。
检查模块,用于在云管理平台查询到qemu-guest-agent服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
删除模块,用于所述虚拟机的存储删除所述存储文件。
在本发明的一个或多个实施方式中,所述执行模块还用于:所述虚拟机的操作系统将所述qemu-guest-agent服务的信息发送至qemu-KVM的virtio-blk;以及,所述云管理平台按照预设周期查询qemu-KVM。
在本发明的一个或多个实施方式中,所述检查模块还用于:在所述云管理平台检查到虚拟机的磁盘不存在对应的存储文件时,所述云管理平台按照预设周期在数据库中检查虚拟机的磁盘是否存在对应的存储文件。
在本发明的一个或多个实施方式中,所述删除模块还用于:判断所述虚拟机的存储删除所述存储文件是否成功;若否,所述虚拟机通知管理员回收空间失败。
在本发明的另一个方面当中,提供了又一种在云平台上从已删除的块中回收空间的装置,其包括执行模块、检查模块和删除模块。
执行模块,用于云管理平台接收虚拟机的操作系统发送的丢弃服务消息。
检查模块,用于在云管理平台收到所述丢弃服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
删除模块,用于所述云管理平台通知所述虚拟机的存储删除所述存储文件。
在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在云平台上从已删除的块中回收空间方法。
在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的在云平台上从已删除的块中回收空间方法的步骤。
与现有技术相比,根据本发明实施方式的在云平台上从已删除的块中回收空间的方法及应用,其能够通过在虚拟机的操作系统安装丢弃服务,并由云管理平台找到已删除的块设备的存储文件,并将其删除,实现了存储系统的空间释放,保证数据在存储空间的同步删除。
根据本发明实施方式的在云平台上从已删除的块中回收空间的方法及应用,还能够服务于任意版本的内核和操作系统的虚拟机;虚拟机可以使用virtio-blk,且对qemu的版本没有要求,支持低版本的qemu进行服务,进而保证虚拟机在存储方面的性能。
附图说明
图1是根据本发明一实施方式的在云平台上从已删除的块中回收空间的方法的通信流程图;
图2是根据本发明一实施方式的在云平台上从已删除的块中回收空间的方法的通信具体流程图;
图3是根据本发明一实施方式的在云平台上从已删除的块中回收空间的方法的通信结构图;
图4是根据本发明一实施方式的在云平台上从已删除的块中回收空间的方法的非通信流程图;
图5是根据本发明一实施方式的在云平台上从已删除的块中回收空间的方法的非通信具体流程图;
图6是根据本发明一实施方式的在云平台上从已删除的块中回收空间的方法的非通信结构图;
图7是根据本发明一实施方式的在云平台上从已删除的块中回收空间的装置的结构图;
图8是根据本发明一实施方式的在云平台上从已删除的块中回收空间的计算设备的硬件结构图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
如图1所示,介绍本发明的一个实施例中在云平台上从已删除的块中回收空间的方法,该方法包括如下步骤。
在步骤S101中,虚拟机的操作系统按照预设周期执行丢弃服务。
在虚拟机的操作系统(Guest OS)中安装一个丢弃服务,该丢弃服务按照周期性执行。丢弃服务周期性的触发ftrim,ftrim是针对SSD提供的回收空间的接口,每次触发ftrim的时候对云管理平台发送消息,通知存储文件系统回收空间。
文件系统进行删除操作时,一般只删除索引,不删除数据。举例来说,在ext2的文件系统上有一个电影文件,删除之后,只是断开了元数据到电影本身数据链接,电影本身的数据还在磁盘上直到被重写。这也就为磁盘数据恢复提供了机会,也就是在文件删除的时候,文件系统通知SSD控制器哪些页被删除了,此时SSD控制器就会将删除的页清空,从而成为空白页。因此通过ftrim可以改善下次写操作的性能,下次写操作是将数据写入空白页。
在步骤S102中,在云管理平台收到丢弃服务的消息时,云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
云管理平台在收到操作系统发送的消息后,检查虚拟机的缓存中是否存在虚拟机磁盘和存储文件的对应关系,如果在缓存中虚拟机磁盘存在对应的存储文件,则云管理平台直接对存储下发删除操作,否则在数据库中继续检查虚拟机的缓存中是否存在虚拟机磁盘和存储文件的对应关系,直到在缓存中虚拟机磁盘存在对应的存储文件时,再对存储下发删除操作。
举例来说,虚拟机磁盘和存储文件的对应关系如下:虚拟机的名称分别是VM1、VM2、VM3,对应的虚拟机磁盘分别是sda、sda和sdb、sda,对应的存储文件分别是/storage/file1、/storage/file2和/storage/file3、/storage/file4。云管理平台查询到虚拟机VM1的磁盘sda的存储文件/storage/file1时,云管理平台直接对存储下发删除操作,将存储文件/storage/file1删除。
在步骤S103中,虚拟机的存储删除存储文件。
块设备驱动层在云管理平台下发删除指令后,会向虚拟机的存储发起释放空间的命令,虚拟机的存储删除存储文件,从而实现存储空间的自动释放,完成在云平台上从已删除的块设备中回收空间。
例如,云管理平台对虚拟机的存储下发删除命令,删减命令具体是fallocate-p-o0-l 10485760/storage/file1,该命令为将虚拟机VM1的磁盘sda的存储文件/storage/file1删除。
实施例2
如图2至图3所示,介绍本发明的一个实施例中在云平台上从已删除的块中回收空间的方法,该方法包括如下步骤。
在步骤S201中,给虚拟机的磁盘按照预先设置配置ftrim。
ftrim是针对SSD提供的回收空间的接口,给虚拟机的磁盘按照预先设置配置ftrim,可以在存储文件删除的时候,文件系统通知SSD控制器哪些页被删除了,此时SSD控制器就会将删除的页清空,从而成为空白页,实现存储空间的回收。
在步骤S202中,查询虚拟机的磁盘是否配置ftrim。
若虚拟机的磁盘配置了ftrim,虚拟机的操作系统将丢弃服务通过以太网发送至云管理平台。由云管理平台检查虚拟机的磁盘是否存在对应的存储文件,并下发删除存储文件指令。
在步骤S203中,在云管理平台收到丢弃服务的消息时,云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
云管理平台在收到操作系统发送的消息后,检查虚拟机的缓存中是否存在虚拟机磁盘和存储文件的对应关系,如果在缓存中虚拟机磁盘存在对应的存储文件,则云管理平台直接对存储下发删除操作,否则在数据库中继续检查虚拟机的缓存中是否存在虚拟机磁盘和存储文件的对应关系,直到在缓存中虚拟机磁盘存在对应的存储文件时,再对存储下发删除操作。
在步骤S204中,虚拟机的存储删除存储文件。
块设备驱动层在云管理平台下发删除指令后,会向虚拟机的存储发起释放空间的命令,虚拟机的存储删除存储文件,从而实现存储空间的自动释放,完成在云平台上从已删除的块设备中回收空间。
在步骤S205中,判断虚拟机的存储删除存储文件是否成功。
在虚拟机的存储收到删除指令删除存储文件后,判断虚拟机的存储删除存储文件是否成功,以保证虚拟机的存储文件在存储系统上占用的空间得到释放。若存储文件删除失败,则需要通知管理员回收空间失败,由管理员重新下发回收空间的指令,以保证存储中的文件不会被恢复,已删除的块设备的空间能够被回收。
实施例3
如图4所示,介绍本发明的一个实施例中在云平台上从已删除的块中回收空间的方法,该方法包括如下步骤。
在步骤S301中,虚拟机的操作系统按照预设周期执行qemu-guest-agent服务。
在虚拟机的操作系统(Guest OS)中安装一个qemu-guest-agent服务,该qemu-guest-agent服务按照周期性执行。
qemu是一个虚拟化工具,它向虚拟机的操作系统(Guest OS)模拟CPU和其他硬件,Guest OS认为自己和硬件直接工作,但实际上是Guest OS同qemu模拟出来的硬件协同工作,通过qemu将这些指令转译给真正的硬件。
由于虚拟化的隔离,以及不同操作系统间的差异,在物理服务器上很难直接管理Guest OS。目前多采用在Guest OS中安装qemu-guest-agent(qemu GA)服务的方式与之交互。qemu GA通过虚拟机内的串口总线与外部管理平台进行简单的数据交互,数据交互使用QMP协议,默认提供了一些基础的操作,并且允许开发者定义自己的扩展接口。通过qemu GA管理者可以在云平台上统一管理任意虚拟机的Guest OS。通过qemu提供的接口,开发者可以在云平台上实现众多与虚拟机的相关功能,简化云平台的管理工作。
在本实施例中,云场景是金融或者对安全要求很高的场景,每个虚拟机的操作系统中都会安装qemu-guest-agent服务,该服务主要用于监控和管理虚拟机,实时的将信息上报qemu-KVM。
在步骤S302中,在云管理平台查询到qemu-guest-agent服务的消息时,云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
云管理平台周期性的到qemu-KVM中查询qemu-guest-agent服务消息,云管理平台在查询到qemu-KVM中的qemu-guest-agent服务消息后,检查虚拟机的缓存中是否存在虚拟机磁盘和存储文件的对应关系,如果在缓存中虚拟机磁盘存在对应的存储文件,则云管理平台直接对存储下发删除操作,否则在数据库中继续检查虚拟机的缓存中是否存在虚拟机磁盘和存储文件的对应关系,直到在缓存中虚拟机磁盘存在对应的存储文件时,再对存储下发删除操作。
在现有技术中,虚拟机的操作系统也是通过qemu-KVM虚拟的,在文件系统中删除文件后会自动触发trim/discard操作,删除指令发送至qemu-KVM,由模拟虚拟机的总线virtio-blk或virtio-scsi触发unmap删除存储文件。但是如果qemu-KVM的总线使用virtio-scsi,在存储方面虚拟机的性能会衰减很多;如果qemu-KVM的总线使用virtio-blk,qemu需要最新版本,最新版本的qemu不稳定,且对虚拟机的操作系统中的kernel要求很高。
在本实施例中,qemu-KVM用于供云管理平台查询虚拟机的磁盘是否存在对应的存储文件,由云管理平台对虚拟机的存储下发删除操作。本实施例的虚拟机总线可以使用virtio-blk,对低版本的qemu也支持trim/discard操作,且不会牺牲虚拟机的性能。
在步骤S303中,虚拟机的存储删除存储文件。
块设备驱动层在云管理平台下发删除指令后,会向虚拟机的存储发起释放空间的命令,虚拟机的存储删除存储文件,从而实现存储空间的自动释放,完成在云平台上从已删除的块设备中回收空间。
实施例4
如图5至图6所示,介绍本发明的一个实施例中在云平台上从已删除的块中回收空间的方法,该方法包括如下步骤。
在步骤S401中,虚拟机的操作系统按照预设周期执行qemu-guest-agent服务。
qemu-guest-agent服务通过虚拟机内的串口总线与外部管理平台进行简单的数据交互,数据交互使用QMP协议,默认提供了一些基础的操作,并且允许开发者定义自己的扩展接口。通过qemu-guest-agent服务管理者可以在云平台上统一管理任意虚拟机的Guest OS。通过qemu提供的接口,开发者可以在云平台上实现众多与虚拟机的相关功能,简化云平台的管理工作。
在步骤S402中,虚拟机的操作系统将qemu-guest-agent服务的信息发送至qemu-KVM的virtio-blk。
对于一些安全要求很高的场景(例如:金融行业),不允许虚拟机直接与云管理平台进行通信,此时需要通过qemu-KVM将qemu-guest-agent服务的信息提供给云管理平台。虚拟机的操作系统将qemu-guest-agent服务的信息发送至qemu-KVM的virtio-blk,virtio-blk是虚拟化KVM平台下虚拟磁盘的一种实现方式,以便云管理平台通过查询qemu-KVM获取qemu-guest-agent服务的信息。
KVM负责cpu虚拟化和内存虚拟化,实现了cpu和内存的虚拟化,但KVM并不能模拟其他设备,必须需要一个运行在用户空间的工具。因此选择开源虚拟化软件qemu作为运行在用户空间的工具,qemu模拟I/O设备(网卡,磁盘等),对其进行修改,最后形成了qemu-KVM。
在步骤S403中,云管理平台按照预设周期查询qemu-KVM。
云管理平台按照预设周期查询qemu-KVM中的qemu-guest-agent服务,并将qemu-guest-agent服务消息提供给云管理平台。
在步骤S404中,在云管理平台查询到qemu-guest-agent服务的消息时,云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
云管理平台周期性的到qemu-KVM中查询qemu-guest-agent服务消息,云管理平台在查询到qemu-KVM中的qemu-guest-agent服务消息后,检查虚拟机的缓存中是否存在虚拟机磁盘和存储文件的对应关系,如果在缓存中虚拟机磁盘存在对应的存储文件,则云管理平台直接对存储下发删除操作,否则在数据库中继续检查虚拟机的缓存中是否存在虚拟机磁盘和存储文件的对应关系,直到在缓存中虚拟机磁盘存在对应的存储文件时,再对存储下发删除操作。
在步骤S405中,虚拟机的存储删除存储文件。
块设备驱动层在云管理平台下发删除指令后,会向虚拟机的存储发起释放空间的命令,虚拟机的存储删除存储文件,从而实现存储空间的自动释放,完成在云平台上从已删除的块设备中回收空间。
实施例5
介绍本发明的一个实施例中在云平台上从已删除的块中回收空间的方法,该方法包括如下步骤。
在步骤S501中,云管理平台接收虚拟机的操作系统发送的丢弃服务消息。
虚拟机的操作系统(Guest OS)中会安装一个丢弃服务,该丢弃服务按照周期性执行。丢弃服务周期性的触发ftrim,每次触发ftrim的时候,云管理平台会接收到虚拟机的操作系统发送的丢弃服务消息,并通知存储文件系统回收空间。
在步骤S502中,在云管理平台收到丢弃服务的消息时,云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
云管理平台在收到操作系统发送的消息后,检查虚拟机的缓存中是否存在虚拟机磁盘和存储文件的对应关系,如果在缓存中虚拟机磁盘存在对应的存储文件,则云管理平台直接对存储下发删除操作,否则在数据库中继续检查虚拟机的缓存中是否存在虚拟机磁盘和存储文件的对应关系,直到在缓存中虚拟机磁盘存在对应的存储文件时,再对存储下发删除操作。
在步骤S503中,云管理平台通知虚拟机的存储删除存储文件。
块设备驱动层在云管理平台下发删除指令后,会向虚拟机的存储发起释放空间的命令,虚拟机的存储删除存储文件,从而实现存储空间的自动释放,完成在云平台上从已删除的块设备中回收空间。
如图7所示,介绍根据本发明具体实施方式的在云平台上从已删除的块中回收空间的装置。
在本发明的实施方式中,在云平台上从已删除的块中回收空间的装置包括执行模块701、检查模块702和删除模块703。
执行模块701,用于虚拟机的操作系统按照预设周期执行丢弃服务。
检查模块702,用于在云管理平台收到丢弃服务的消息时,云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
删除模块703,用于虚拟机的存储删除存储文件。
执行模块701还用于:给虚拟机的磁盘按照预先设置配置ftrim;查询虚拟机的磁盘是否配置ftrim;若是,虚拟机的操作系统将丢弃服务通过以太网发送至云发管理平台。
检查模块702还用于:在云管理平台检查到虚拟机的磁盘不存在对应的存储文件时,云管理平台按照预设周期在数据库中检查虚拟机的磁盘是否存在对应的存储文件。
删除模块703还用于:判断虚拟机的存储删除存储文件是否成功;若否,虚拟机通知管理员回收空间失败。
如图7所示,介绍根据本发明又一具体实施方式的在云平台上从已删除的块中回收空间的装置。
在本发明的实施方式中,在云平台上从已删除的块中回收空间的装置包括执行模块701、检查模块702和删除模块703。
执行模块701,用于虚拟机的操作系统按照预设周期执行qemu-guest-agent服务。
检查模块702,用于在云管理平台查询到qemu-guest-agent服务的消息时,云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
删除模块703,用于虚拟机的存储删除存储文件。
执行模块701还用于:虚拟机的操作系统将qemu-guest-agent服务的信息发送至qemu-KVM;以及,云管理平台按照预设周期查询qemu-KVM。
检查模块702还用于:在云管理平台检查到虚拟机的磁盘不存在对应的存储文件时,云管理平台按照预设周期在数据库中检查虚拟机的磁盘是否存在对应的存储文件。
删除模块703还用于:判断虚拟机的存储删除存储文件是否成功;若否,虚拟机通知管理员回收空间失败。
如图7所示,介绍根据本发明又一具体实施方式的在云平台上从已删除的块中回收空间的装置。
在本发明的实施方式中,在云平台上从已删除的块中回收空间的装置包括执行模块701、检查模块702和删除模块703。
执行模块701,用于云管理平台接收虚拟机的操作系统发送的丢弃服务消息。
检查模块702,用于在云管理平台收到丢弃服务的消息时,云管理平台检查虚拟机的磁盘是否存在对应的存储文件。
删除模块703,用于云管理平台通知虚拟机的存储删除存储文件。
图8示出了根据本说明书的实施例的用于在云平台上从已删除的块中回收空间的计算设备80的硬件结构图。如图8所示,计算设备80可以包括至少一个处理器801、存储器802(例如非易失性存储器)、内存803和通信接口804,并且至少一个处理器801、存储器802、内存803和通信接口804经由总线805连接在一起。至少一个处理器801执行在存储器802中存储或编码的至少一个计算机可读指令。
应该理解,在存储器802中存储的计算机可执行指令当执行时使得至少一个处理器801进行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。
在本说明书的实施例中,计算设备80可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
根据本发明实施方式的在云平台上从已删除的块中回收空间的方法及应用,其能够通过在虚拟机的操作系统安装丢弃服务,并由云管理平台找到已删除的块设备的存储文件,并将其删除,实现了存储系统的空间释放,保证数据在存储空间的同步删除。
根据本发明实施方式的在云平台上从已删除的块中回收空间的方法及应用,还能够服务于任意版本的内核和操作系统的虚拟机;虚拟机的总线可以使用virtio-blk,且对qemu的版本没有要求,支持低版本的qemu进行服务,进而保证虚拟机在存储方面的性能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (12)
1.一种在云平台上从已删除的块中回收空间的方法,其特征在于,所述方法包括:
虚拟机的操作系统按照预设周期执行丢弃服务;
在云管理平台收到所述丢弃服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件;若是,
所述虚拟机的存储删除所述存储文件。
2.如权利要求1所述的在云平台上从已删除的块中回收空间的方法,其特征在于,所述虚拟机的操作系统按照预设周期执行丢弃服务,包括:
给虚拟机的磁盘按照预先设置配置ftrim;
查询所述虚拟机的磁盘是否配置ftrim;若是,
所述虚拟机的操作系统将所述丢弃服务通过以太网发送至所述云发管理平台。
3.如权利要求1所述的在云平台上从已删除的块中回收空间的方法,其特征在于,所述方法还包括:
在所述云管理平台检查到虚拟机的磁盘不存在对应的存储文件时,所述云管理平台按照预设周期在数据库中检查虚拟机的磁盘是否存在对应的存储文件。
4.如权利要求1所述的在云平台上从已删除的块中回收空间的方法,其特征在于,所述方法还包括:
判断所述虚拟机的存储删除所述存储文件是否成功;若否,
所述虚拟机通知管理员回收空间失败。
5.一种在云平台上从已删除的块中回收空间的方法,其特征在于,所述方法包括:
虚拟机的操作系统按照预设周期执行qemu-guest-agent服务;
在云管理平台查询到qemu-guest-agent服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件;若是,
所述虚拟机的存储删除所述存储文件。
6.如权利要求5所述的在云平台上从已删除的块中回收空间的方法,其特征在于,所述方法还包括:
所述虚拟机的操作系统将所述qemu-guest-agent服务的信息发送至qemu-KVM的virtio-blk;
所述云管理平台按照预设周期查询qemu-KVM。
7.一种在云平台上从已删除的块中回收空间的方法,其特征在于,所述方法包括:
云管理平台接收虚拟机的操作系统发送的丢弃服务消息;
在云管理平台收到所述丢弃服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件;若是,
所述云管理平台通知所述虚拟机的存储删除所述存储文件。
8.一种在云平台上从已删除的块中回收空间的装置,其特征在于,所述装置包括:
执行模块,用于虚拟机的操作系统按照预设周期执行丢弃服务;
检查模块,用于在云管理平台收到所述丢弃服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件;
删除模块,用于所述虚拟机的存储删除所述存储文件。
9.一种在云平台上从已删除的块中回收空间的装置,其特征在于,所述装置包括:
执行模块,用于虚拟机的操作系统按照预设周期执行qemu-guest-agent服务;
检查模块,用于在云管理平台查询到qemu-guest-agent服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件;
删除模块,用于所述虚拟机的存储删除所述存储文件。
10.一种在云平台上从已删除的块中回收空间的装置,其特征在于,所述装置包括:
执行模块,用于云管理平台接收虚拟机的操作系统发送的丢弃服务消息;
检查模块,用于在云管理平台收到所述丢弃服务的消息时,所述云管理平台检查虚拟机的磁盘是否存在对应的存储文件;
删除模块,用于所述云管理平台通知所述虚拟机的存储删除所述存储文件。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1至7中任一项所述的在云平台上从已删除的块中回收空间的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的在云平台上从已删除的块中回收空间的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111249829.1A CN113961147A (zh) | 2021-10-26 | 2021-10-26 | 在云平台上从已删除的块中回收空间的方法及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111249829.1A CN113961147A (zh) | 2021-10-26 | 2021-10-26 | 在云平台上从已删除的块中回收空间的方法及应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113961147A true CN113961147A (zh) | 2022-01-21 |
Family
ID=79467353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111249829.1A Pending CN113961147A (zh) | 2021-10-26 | 2021-10-26 | 在云平台上从已删除的块中回收空间的方法及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113961147A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486255A (zh) * | 2014-12-30 | 2015-04-01 | 杭州华三通信技术有限公司 | 业务资源调度方法和装置 |
CN104539708A (zh) * | 2014-12-29 | 2015-04-22 | 杭州华为数字技术有限公司 | 一种云平台资源的缩容方法、装置与系统 |
CN106462451A (zh) * | 2014-06-20 | 2017-02-22 | 华为技术有限公司 | 虚拟化平台处理中断方法和相关设备 |
CN107704312A (zh) * | 2017-10-18 | 2018-02-16 | 顺丰科技有限公司 | 一种使qemu‑kvm虚拟机执行任意命令的方法及存储介质 |
CN107800806A (zh) * | 2017-11-15 | 2018-03-13 | 中国联合网络通信集团有限公司 | 云环境下存储资源回收方法、共享存储系统和云服务系统 |
CN108363552A (zh) * | 2018-01-31 | 2018-08-03 | 华为技术有限公司 | 虚拟机磁盘空间回收方法和系统 |
CN108632360A (zh) * | 2018-04-12 | 2018-10-09 | 北京百悟科技有限公司 | 一种虚拟云终端和虚拟云终端服务器 |
CN109684035A (zh) * | 2018-12-17 | 2019-04-26 | 武汉烽火信息集成技术有限公司 | 一种自适应的虚拟机和宿主机通信方法及系统 |
CN111209078A (zh) * | 2019-12-27 | 2020-05-29 | 广东睿江云计算股份有限公司 | 一种自动部署并检测虚拟机Web应用的方法及其系统 |
CN111966452A (zh) * | 2020-07-25 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种基于icos云平台实现存储空间回收方法及装置 |
CN112199162A (zh) * | 2020-10-16 | 2021-01-08 | 济南浪潮数据技术有限公司 | 基于虚拟化磁盘双活容灾的磁盘快照方法、装置及介质 |
CN112732406A (zh) * | 2021-01-12 | 2021-04-30 | 华云数据控股集团有限公司 | 一种云平台虚拟机回收方法及计算机设备 |
-
2021
- 2021-10-26 CN CN202111249829.1A patent/CN113961147A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462451A (zh) * | 2014-06-20 | 2017-02-22 | 华为技术有限公司 | 虚拟化平台处理中断方法和相关设备 |
JP2017518589A (ja) * | 2014-06-20 | 2017-07-06 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 仮想化プラットホームによって割込みを処理する方法および関連デバイス |
CN104539708A (zh) * | 2014-12-29 | 2015-04-22 | 杭州华为数字技术有限公司 | 一种云平台资源的缩容方法、装置与系统 |
CN104486255A (zh) * | 2014-12-30 | 2015-04-01 | 杭州华三通信技术有限公司 | 业务资源调度方法和装置 |
CN107704312A (zh) * | 2017-10-18 | 2018-02-16 | 顺丰科技有限公司 | 一种使qemu‑kvm虚拟机执行任意命令的方法及存储介质 |
CN107800806A (zh) * | 2017-11-15 | 2018-03-13 | 中国联合网络通信集团有限公司 | 云环境下存储资源回收方法、共享存储系统和云服务系统 |
CN108363552A (zh) * | 2018-01-31 | 2018-08-03 | 华为技术有限公司 | 虚拟机磁盘空间回收方法和系统 |
CN108632360A (zh) * | 2018-04-12 | 2018-10-09 | 北京百悟科技有限公司 | 一种虚拟云终端和虚拟云终端服务器 |
CN109684035A (zh) * | 2018-12-17 | 2019-04-26 | 武汉烽火信息集成技术有限公司 | 一种自适应的虚拟机和宿主机通信方法及系统 |
CN111209078A (zh) * | 2019-12-27 | 2020-05-29 | 广东睿江云计算股份有限公司 | 一种自动部署并检测虚拟机Web应用的方法及其系统 |
CN111966452A (zh) * | 2020-07-25 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种基于icos云平台实现存储空间回收方法及装置 |
CN112199162A (zh) * | 2020-10-16 | 2021-01-08 | 济南浪潮数据技术有限公司 | 基于虚拟化磁盘双活容灾的磁盘快照方法、装置及介质 |
CN112732406A (zh) * | 2021-01-12 | 2021-04-30 | 华云数据控股集团有限公司 | 一种云平台虚拟机回收方法及计算机设备 |
Non-Patent Citations (4)
Title |
---|
HONGWEI TANG ET AL.: "IOMMU Para-Virtualization for Efficient and Secure DMA in Virtual Machines", 《KSII TRANSACTIONS ON INTERNET AND INFORMATION SYSTEMS》 * |
凌笑: "虚拟机镜像文件的废弃空间回收系统", 《万方数据库》 * |
宋振华: "虚拟化技术中的存储管理问题研究", 《万方数据库》 * |
尹航 等: "基于大数据应用的虚拟化云平台建设方法研究", 《软件》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102707990B (zh) | 基于容器的处理方法和装置 | |
CN112035293B (zh) | 确定虚拟机节点所有权的方法、计算机系统和程序产品 | |
CN111338854B (zh) | 基于Kubernetes集群快速恢复数据的方法及系统 | |
EP2731013B1 (en) | Backing up method, device, and system for virtual machine | |
CN102331949B (zh) | 一种虚拟机内存快照生成和恢复方法、装置及系统 | |
CN108469986B (zh) | 一种数据迁移方法及装置 | |
US9600369B2 (en) | Operating system recovery method and apparatus, and terminal device | |
US8881144B1 (en) | Systems and methods for reclaiming storage space from virtual machine disk images | |
US10445186B1 (en) | Associating a guest application within a virtual machine to create dependencies in backup/restore policy | |
EP2905700B1 (en) | Operating system recovery method, apparatus and terminal device | |
CN111679889B (zh) | 一种虚拟机的转换迁移方法和系统 | |
WO2015051641A1 (zh) | 一种磁盘镜像空间回收的方法及装置 | |
CN104572242A (zh) | 一种扩展虚拟机磁盘空间的方法、装置及虚拟机系统 | |
CN111290836B (zh) | 虚拟机快照创建方法、装置、存储介质及计算机设备 | |
US10191817B2 (en) | Systems and methods for backing up large distributed scale-out data systems | |
CN111506389A (zh) | 一种虚拟机启动方法及装置 | |
US10795579B2 (en) | Methods, apparatuses, system and computer program products for reclaiming storage units | |
CN112256400A (zh) | 一种虚拟机快照管理方法及装置 | |
US9177177B1 (en) | Systems and methods for securing storage space | |
CN111475100A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN107395429A (zh) | 云数据中心中管理虚拟机的方法和装置 | |
CN113961147A (zh) | 在云平台上从已删除的块中回收空间的方法及应用 | |
CN109947704B (zh) | 一种锁类型切换方法、装置及集群文件系统 | |
CN107783826A (zh) | 一种虚拟机迁移方法、装置及系统 | |
CN106933604A (zh) | 一种系统升级方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220121 |