CN101986285A - 虚拟机存储空间管理方法、系统及物理主机 - Google Patents
虚拟机存储空间管理方法、系统及物理主机 Download PDFInfo
- Publication number
- CN101986285A CN101986285A CN 201010530638 CN201010530638A CN101986285A CN 101986285 A CN101986285 A CN 101986285A CN 201010530638 CN201010530638 CN 201010530638 CN 201010530638 A CN201010530638 A CN 201010530638A CN 101986285 A CN101986285 A CN 101986285A
- Authority
- CN
- China
- Prior art keywords
- virtual
- storage
- virtual store
- file
- balloon
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
Abstract
本发明公开了一种虚拟机存储空间管理方法,该方法采用部署于虚拟机中的存储气球代理模块直接获取虚拟存储空闲块信息,将获取的虚拟存储空闲块信息传递给部署于虚拟机监控单元层的存储气球守护进程模块,该存储气球守护进程模块将该虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。本发明还公开了相应的系统及物理主机。采用本发明方法,可以实时获取虚拟存储空间使用情况,可以避免大量存储系统读写操作,对于动态分配格式和预先分配格式的虚拟存储系统都能适用。
Description
技术领域
本发明涉及计算机虚拟化技术领域,具体涉及一种虚拟机存储空间管理方法、系统及物理主机。
背景技术
计算机虚拟化技术是一种将计算机底层硬件设备与上层操作系统、应用程序分离的去耦合方法,其引入虚拟机监控器(VMM,Virtual Machine Monitor)层来直接管理底层硬件资源,并创建与底层硬件无关的虚拟机(VM,VirtualMachine)供上层操作系统和应用程序使用,相应的虚拟机架构如图1所示。虚拟化技术作为当前流行的云计算(Cloud Computing)平台的底层重要支撑技术之一,可以大大提高物理设备的资源使用效率。与传统的物理机相比,虚拟机具有更好的隔离性和封装性,其可以将整个虚拟机的信息保存到虚拟磁盘映像(VDI,Virtual Disk Image)中,从而可以方便地对虚拟机进行快照、备份、克隆和分发等操作。
虚拟磁盘(Virtual Disk)是虚拟机监控器提供给虚拟机使用的虚拟存储设备,其对应的物理存储空间既可以是宿主机(Host)的本地存储系统,也可以是数据中心的网络存储系统,如网络附加存储(NAS,Network Attached Storage)文件服务器、存储区域网(SAN,Storage Area Network)、存储集群或者云存储(Storage Cloud)等。其对应在宿主机里面的存在形式可以是文件,也可以是块设备(如磁盘分区、逻辑卷等)。
虚拟机存储空间分配一般有两种方法:预先分配和动态分配。其中预先分配是为每个虚拟机一次性分配好指定大小的存储空间,当虚拟机数据较少时,预先分配空间浪费较大。而动态分配方式的虚拟存储空间可以一定程度减少存储资源的浪费,刚开始的时候,虚拟存储空间占用很少的实际存储空间,随着用户的使用,虚拟机存储空间上会创建越来越多的文件,而其占有的存储空间也会变得原来越大。
虽然现有动态分配的存储空间管理方法可以按需进行分配,但当虚拟机内部执行文件删除操作时,如果宿主机无法感知到此操作,就不能释放这些虚拟机已释放的空闲空间。比如,一个拥有20GB虚拟存储设备的虚拟机,在任务最繁忙的时候基本上用完了所有的存储空间作为临时文件,而当任务空闲下来以后,这些临时文件都被删除,系统中又出现了15GB的空闲空间,但是这15GB占用的宿主机的存储资源并没有被释放。
现有技术中,虚拟计算机软件VM ware Workstation提供VM wareShrinking Virtual Disk功能,其可以对VMDK(VM Ware Virtual Machine DiskFormat)动态虚拟磁盘中的空闲数据块(以下将数据块简称为块)进行释放,主要步骤如下:
虚拟机内部执行磁盘碎片整理(可选);
虚拟机内部通过VM Tools工具将虚拟磁盘中的空闲块清“0”;
宿主机上配套工具扫描虚拟磁盘对应的文件或者块设备,识别出“0”块,利用动态映像格式特性进行映像收缩,完成空闲数据块的释放。
发明人在实现本发明的过程中,发现:上述方法中,VM Tools将虚拟磁盘中的空闲块清“0”的过程,需要对所有空闲块执行写操作;宿主机上识别“0”块时,需要对所有数据块执行读操作,即现有方法具有比较大的操作开销,较多的磁盘读写操作浪费大量的磁盘带宽且耗时较长;而且,现有方法中宿主机通过识别“0”块间接判断虚拟磁盘中每一数据块的空间占用情况,故无法实时获取虚拟机磁盘全局空闲数据块信息;此外,该现有方法应用受限,只适用于动态分配的映像格式,对于预先分配的镜像格式则无法进行空闲块释放。
发明内容
本发明实施例提供一种虚拟机存储空间管理方法及物理主机,以有效地进行存储空间管理,提高存储系统的利用率。
一种虚拟机存储空间管理方法,应用于物理主机,该物理主机包括:硬件层,运行在该硬件层之上的虚拟机监控单元层,运行在该虚拟机监控单元层之上的虚拟机,其中,该虚拟机部署有存储气球代理模块,该虚拟机监控单元层部署有存储气球守护进程模块,该方法包括:
该存储气球代理模块根据预定义文件占用虚拟存储空间的大小获取所占用的部分虚拟存储块,将该虚拟存储块对应的虚拟存储空闲块信息传递给存储气球守护进程模块;
该存储气球守护进程模块将虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
一种虚拟机存储空间管理系统,包括部署于虚拟机中的存储气球代理模块和部署于虚拟机监控单元层中的存储气球守护进程模块;
该存储气球代理模块,用于根据预定义文件占用虚拟存储空间的大小获取所占用的部分虚拟存储块,将该虚拟存储块对应的虚拟存储空闲块信息传递给存储气球守护进程模块;
该存储气球守护进程模块,用于将虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
一种物理主机,包括:硬件层,运行在该硬件层之上的虚拟机监控单元层,运行在该虚拟机监控单元层之上的至少一个虚拟机,其中,该虚拟机部署有存储气球代理模块,该虚拟机监控单元层部署有存储气球守护进程模块:
该存储气球代理模块,用于根据预定义文件占用虚拟存储空间的大小获取所占用的部分虚拟存储块,将该部分虚拟存储块对应的虚拟存储空闲块信息传递给存储气球守护进程模块;
该存储气球守护进程模块,用于将该虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
本发明实施例采用在虚拟机部署存储气球代理模块,在虚拟机监控单元层部署存储气球守护进程模块,由存储气球代理模块根据预定义文件占用虚拟存储空间情况获取虚拟存储空闲块信息,并将该虚拟存储空闲块信息传递给存储气球守护进程模块,由存储气球守护进程模块将该虚拟存储空闲块信息对应的物理存储空间释放的技术方案。采用该技术方案,一方面可以实时获取虚拟存储空闲块信息,实时性好;另一方面避免了大量存储系统读写操作,系统开销小;并且该方法通过文件系统接口来获取虚拟存储空闲块信息,无需了解文件系统的实现细节,通用性好,对于动态分配的映像格式和预先分配的镜像格式都能适用。
附图说明
图1是虚拟机架构示意图;
图2是本发明实施例一种虚拟机存储空间管理方法的流程示意图;
图2a是存储图2所示方法的步骤100的具体步骤流程示意图;
图2b是图2所示方法的步骤200的具体步骤流程示意图;
图3是本发明实施例一种虚拟机存储空间管理系统的逻辑结构图;
图4是本发明实施例一种物理主机的逻辑结构示意图;
图5a是本发明应用场景例一种虚拟机存储空间管理方法的流程示意图;
图5b是本发明应用场景例一种虚拟机存储空间管理方法的流程示意图。
具体实施方式
本发明实施例提供一种虚拟机存储空间管理方法,应用于物理主机,该物理主机包括:硬件层,运行在硬件层之上的虚拟机监控单元层VMM,运行在虚拟机监控单元层VMM之上的虚拟机,其中,虚拟机中部署有存储气球代理(SBA,Storage Balloon Agent)模块,虚拟机监控单元层VMM中部署有存储气球守护进程(SBD,Storage Balloon Daemon)模块;该方法通过部署在虚拟机中的SBA用直接的方法获得虚拟存储空闲块信息,将获取的虚拟存储空闲块信息传递给虚拟机监控单元层VMM里面与SBA配合的SBD,SBD在虚拟机存储格式里标记并释放虚拟存储空闲块信息对应的物理存储空间。本发明实施例还提供相应的虚拟机存储空间管理系统和物理主机。以下分别进行详细说明。
如图2所示,本发明实施例提供的虚拟机存储空间管理方法,该方法可以应用于物理主机,该物理主机包括:硬件层,运行在该硬件层之上的虚拟机监控单元层,运行在该虚拟机监控单元层之上的虚拟机,其中,该虚拟机部署有存储气球代理模块,该虚拟机监控单元层部署有存储气球守护进程模块,该方法可以包括如下步骤:
100、存储气球代理模块根据预定义文件占用虚拟存储空间的大小获取所占用的部分虚拟存储块,将该虚拟存储块对应的虚拟存储空闲块信息传递给存储气球守护进程模块。
本步骤中,部署于虚拟机中的SBA根据预定义文件占用虚拟存储空间情况可以直接获取虚拟存储空闲块信息,无需对每一空闲块执行清“0”的写操作;
并且,在一种实现方式下,存储气球代理模块SBA可以通过共享内存的方式将虚拟存储块对应的虚拟存储空闲块信息传递给部署于虚拟机监控器层的存储气球守护进程模块SBD,从而无需对每一空闲块执行读操作。
其中,该预定义文件可以是预先定义的任意类型的文件,其作用是占据一定的虚拟存储空闲空间。例如,对于虚拟机视窗操作系统(Windows)的C盘可以为C:\balloon.sys。本发明实施例可以使用已有的文件作为预定义文件,也可以创建新的文件作为预定义文件。
200、存储气球守护进程模块将该虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
本步骤中,SBD执行释放空闲块的操作。在一种实现方式下,根据预设的策略,SBD可以将部分或者全部标记为空闲的虚拟存储块对应的物理存储空间释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
应当理解的是,当物理主机的存储系统为磁盘时,预定义文件占用的是虚拟磁盘空间,释放和标记的物理存储空间具体为物理磁盘空间。
请参阅图2a,在一个优选方案中,步骤100可以具体包括以下步骤:
110、部署于虚拟机中的SBA将预定义文件占用虚拟存储空间的大小与获得的限值范围进行比较。
需要说明的是,针对将预定义文件占用虚拟存储空间的大小与限值范围进行比较所获得的不同结果,将执行不同的操作。该限值范围可以是预先设置的固定值,也可以根据获取的其它参数通过规定的算法来获得。在一种实现方式下,该步骤110具体可以包括:
111、SBA调用文件系统获取虚拟存储空闲空间的大小和预定义文件占用虚拟存储空间的大小,从存储气球守护进程模块获得允许预定义文件占用虚拟存储空闲空间的下限比例和上限比例。
其中,虚拟机通过文件系统接口获取虚拟存储空闲空间信息,该步骤按一定周期重复执行,例如,相邻两次执行的时间间隔可选1-5秒。
允许预定义文件占用虚拟存储空闲空间的下限比例和上限比例在存储气球守护进程模块中预先设置。其中上限比例优选为80~90%,下限比例优选为60~70%。
112、SBA将下限比例和上限比例分别与虚拟存储空闲空间的大小的乘积作为预先设置的限值范围的下限值和上限值。
假定虚拟存储空闲空间的大小为X,下限比例为L1%,上限比例为L2%,则限值范围的下限值为X*L1%,上限值为X*L2%。
113、虚拟机将预定义文件占用虚拟存储空间的大小分别与限值范围的下限值和上限值进行比较。
假定预定义文件占用虚拟存储空间的大小为S,则分别判断S与X*L1%、X*L2%的大小。
120、若预定义文件占用的虚拟存储空间的大小小于限值范围的下限值,SBA调用文件系统扩大预定义文件,为扩大后的预定义文件分配虚拟存储块。
需要说明的是,预定义文件小于下限值,说明虚拟存储的空闲空间过大,此时有必要将一部分空闲空间释放。为了释放部分空闲空间,首先需要扩大预定义文件,增加其占用的空闲空间,从而将其扩大部分占用的空闲空间释放。在一种实现方式下,该步骤120具体可以包括:
121、SBA调用文件系统预分配接口,传入限值范围的中间值作为扩大后预定义文件的大小,中间值等于下限值和上限值的和的一半。
下限值为X*L1%,上限值为X*L2%时,中间值为X*(L1%+L2%)/2。
122、SBA虚拟机文件系统为扩大后的预定义文件分配虚拟存储块。
例如,对于大小为X*(L1%+L2%)/2的预定义文件,分配虚拟存储块可以为[b1,b2,...bn]。
123、SBA调用文件系统锁(lock)接口,锁定为扩大后的预定义文件分配的虚拟存储块,以不被存储设备碎片整理工具修改。
130、SBA调用文件系统获得预定义文件的扩大部分所占用的虚拟存储块。
对于预定义文件的扩大部分,即[S,X*(L1%+L2%)/2]区间,虚拟机调用文件系统“问价偏移->数据块”映射(bmap)接口,获得占用的虚拟存储块[bs,...bn]。
140、SBA将表示该虚拟存储块的第一虚拟存储空闲块信息通过共享内存的方式传递给存储气球守护进程模块。
第一虚拟存储空闲块信息被传递给存储气球守护进程模块,其对应的物理存储空间作为回收释放的候选。第一虚拟存储空闲块信息的传递方式以共享内存方式进行,该方式简单可靠。
请参阅图2b,在一种实现方式下,步骤200具体可以包括以下步骤:
210、部署于虚拟机监控单元层VMM中的SBD判断第一虚拟存储空闲块信息对应的虚拟存储块是否可用,若可用,则将该虚拟存储块标记为空闲。
SBD通过共享内存方式,获取第一虚拟存储空闲块信息,判断其对应的虚拟存储块是否可用,若可用,则将该虚拟存储块标记为空闲;若不可用,则不作处理。处理完毕后,SBD应答SBA。
220、SBD将部分或者全部标记为空闲的虚拟存储块对应的物理存储空间释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
本步骤中,SBD执行释放空闲块的操作。根据预设的策略,SBD可以将部分或者全部标记为空闲的虚拟存储块对应的物理存储空间释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
在实际执行中,简单起见,可以执行一种简单的策略,即:对于标记为空闲的虚拟存储块,将该虚拟存储块对应的物理存储空间全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
出于提高虚拟存储管理水平的目的,也可以执行一种优选的策略,即:当虚拟机内部分配和/或释放存储空间的操作频率等于或者大于阈值(这里的阈值可以是预先设置的,也可以是动态计算得到的)时,SBD减少释放空闲块的比例;当虚拟机内部分配和/或释放存储空间的操作较少时,SBD增加释放空闲块的比例。具体为:SBD判断虚拟机内部分配或释放存储空间的操作频率是否等于或大于预先设置的阀值,若否,按照预先设置的比例释放标记为空闲的虚拟存储块对应的物理存储空间,例如按80%的比例释放;若是,则按照预先设置的速率降低预先设置的比例,按照降低后的比例释放标记为空闲的虚拟存储块对应的物理存储空间,例如按每秒1%的速度降低预先设这的比例80%,并按降低后的比例例如75%或者70%等释放。降低空闲块释放比例的原因在于,这些空闲块在短期内很可能被再次使用,这样可以减少因频繁释放和再分配带来的开销。当然,虚拟机内部分配和释放存储空间的操作较少时,应适当增加释放空闲块的比例。若空闲块对应的存储空间为文件,则释放空闲数据块功能依赖于导出宿主机文件系统内部接口(free_blocks(start_block,count));若虚拟存储块对应的存储空间为块设备,则释放空闲块时通知底层数据块存储系统释放。
请参阅图2a,本发明实施例提供的方法,在步骤110、SBA将预定义文件占用虚拟存储空间的大小与获得的限值范围进行比较之后,还可以包括:
150、若预定义文件占用的虚拟存储空间大于限值范围的上限值,调用文件系统获得预定义文件的待缩减部分所占用的虚拟存储块。
预定义文件大于上限值,说明虚拟存储的空闲空间过小,此时有必要将一部分预定义文件占用的空闲空间返还给虚拟机文件系统。为了返还部分空闲空间,就需要收缩预定义文件,减少其占用的空闲空间,从而将其缩减部分占用的空闲空间释放。
SBA获取一个目标值作为收缩后预定义文件的大小,大于该目标值的部分是待缩减部分,将被截断去掉。一种实现方式中,预定义文件的收缩以限值范围的中间值作为目标大小,在预定义文件的原大小为S,中间值为X*(L1%+L2%)/2时,预定义文件的待收缩部分为[X*(L1%+L2%)/2,S]区间,对于该区间,虚拟机调用“文件系统->数据块”映射(bmap)接口,获得对应的虚拟存储块。
160、SBA将表示该待缩减部分所占用的虚拟存储块的第二虚拟存储空闲块信息传递给SBD,通知SBD禁止标记该待缩减部分所占用的虚拟存储块为空闲状态。
假若该待缩减部分所占用的虚拟存储块被标记为空闲状态,将被SBD进行释放,无法返还给虚拟机文件系统,因而,有必要及时通知SBD确保该缩减部分所占用的虚拟存储块不被标记为空闲。在一种实现方式下,第二虚拟存储空闲块信息的传递方式以共享内存方式进行,该方式简单可靠。
SBD收到SBA传递的第二虚拟存储空闲块信息后,将执行步骤:230、SBD判断第二虚拟存储空闲块信息对应的虚拟存储块是否为空闲,若为空闲,则将该虚拟存储块标记为可用。
SBD通过共享内存方式,获取第二虚拟存储空闲块信息,判断该第二虚拟存储空闲块信息对应的虚拟存储块是否为空闲,若为空闲则标记为可用;若该第二虚拟存储空闲块信息对应的虚拟存储块为不可用,则不作处理。需要注意,虚拟机中分配数据块仅为虚拟层面,真正的物理存储空间的数据块分配是在写操作发生时进行的。处理完毕后,SBD应答SBA。
170、SBA调用文件系统收缩所述预定义文件。
SBA调用文件系统截断(truncate)接口,传入预先设置的限值范围的中间值作为收缩后预定义文件的大小,中间值等于下限值和上限值的和的一半;
将标记为可用的、该预定义文件的待缩减部分即截断部分所占用的虚拟存储块(即第二虚拟存储空闲块信息对应的虚拟存储块)返还给虚拟机文件系统。
上述的方法的优选方案分别对预定义文件占用的虚拟存储空间小于限值范围的下限值和大于限值范围的上限值时进行了处理。
需要注意的是,在预定义文件的大小介于限值范围的下限值和上限值之间时,说明虚拟存储的空闲空间大小合适,将不予处理。
本发明实施例提供的虚拟机存储空间管理方法,是按一定周期循环执行的。在步骤110、部署于虚拟机中的SBA将预定义文件占用虚拟存储空间的大小与获得的限值范围进行比较之后,针对比较的结果分别执行不同的操作,在执行完毕后,无论预定义文件的大小和获得的限值范围是否发生变化,返回重新进行下一个循环周期。
综上所述,本发明实施例提供的虚拟机存储空间管理方法中:虚拟机中通过SBA实时获取虚拟存储空闲数据块信息,主动向宿主机告知虚拟机存储空间使用情况,将待释放的空闲块信息传递给部署于虚拟机监控器层(即宿主机)的SBD,宿主机通过SBD进行虚拟存储空闲块的释放和再分配,可见,宿主机可以实时获取虚拟机存储空间使用情况,实时性好;
以及,本发明实施例提供的虚拟机存储空间管理方法,避免了大量存储系统读写操作,从而系统开销小;并且,通过文件系统接口来获取虚拟存储空闲块,无需了解文件系统的实现细节,通用性好;
而且,本发明实施例提供的虚拟机存储空间管理方法,对于动态分配的映像格式和预先分配的镜像格式都能适用。
本发明实施例提供的虚拟机存储空间管理方法中,通过实时识别虚拟机存储空间使用情况(即识别虚拟机存储系统中的有效数据块和空闲数据块),可以释放该虚拟存储空闲块对应的物理存储空间,从而可以从而有效地进行存储空间管理,,提高底层存储系统的利用率。此外,通过识别有效数据块,还可以有效提升存储在线迁移、虚拟机克隆、映像备份这类I/O密集型操作的效率。可见,本发明实施例提供的虚拟机存储空间管理方案可用于存储系统自动精简部署空间管理。
如图3所示,本发明实施例提供一种虚拟机存储空间管理系统,包括部署于虚拟机中的存储气球代理(SBA,Storage Balloon Agent)模块和部署于虚拟机监控单元层中的存储气球守护进程(SBD,Storage Balloon Daemon)模块。该系统运行于物理主机中。
下面,首先对运行虚拟机存储空间管理系统的物理主机的逻辑架构进行说明,如图4所示,该物理主机包括:
硬件层:硬件层是虚拟化环境运行的整个硬件平台,可以包括处理器(如CPU)、内存Memory、存储系统(如磁盘Disk,硬盘Hard Disk)、网卡和存储等高速I/O设备和基本输入输出等低速设备。
宿主机:即虚拟机监控器(VMM)层,它作为一个管理层,完成硬件资源的管理、分配;为虚拟机呈现一个虚拟硬件平台;虚拟机的调度和隔离。有些VMM的实现里面需要一个特权虚拟机配合,两者结合组成宿主机(HOST)。虚拟硬件平台对其上的虚拟机提供各种硬件资源,如VCPU、虚拟内存、虚拟磁盘VDisk、虚拟网卡等。其中虚拟磁盘对应宿主机里面的一个文件,或者一个逻辑块设备。由于虚拟磁盘的连续块在宿主机中可以是离散存放的,为了便于组织和管理,虚拟机磁盘映像一般通过映像格式来描述,其中的元数据区用于存放虚拟磁盘数据块与宿主机中数据块之间的映射关系。
虚拟机:虚拟机运行宿主机为其准备的虚拟平台中。大多数时间虚拟机的执行不受宿主机的影响。
下面,对存储气球代理模块(SBA)和存储气球守护进程(SBD)模块进行说明。其中,SBA部署于虚拟机中,SBD部署于虚拟机监控器层。
存储气球代理模块401,用于根据预定义文件占用虚拟存储空间的大小获取所占用的部分虚拟存储块,将该虚拟存储块对应的虚拟存储空闲块信息传递给存储气球守护进程模块。
存储气球守护进程模块402,用于将虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
在一种实现方式下,存储气球代理模块401可以具体包括:
比较单元,用于将预定义文件占用虚拟存储空间的大小与获得的限值范围进行比较;
扩大单元,用于若预定义文件占用的虚拟存储空间小于限值范围的下限值,则调用文件系统扩大预定义文件,为扩大后的预定义文件分配数据块;
获取单元,用于调用文件系统获取预定义文件的扩大部分所占用的虚拟存储块;
传递模块,用于将表示该虚拟存储块的第一虚拟存储空闲块信息传递给存储气球守护进程模块。
在一种实现方式下,存储气球守护进程模块402可以具体包括:
判断单元,用于判断第一虚拟存储空闲块信息对应的虚拟存储块是否可用,若可用,则将该虚拟存储块标记为空闲;
释放及标记单元,用于根据策略将部分或者全部标记为空闲的虚拟存储块对应的物理存储空间释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
综上所述,本发明实施例提供的虚拟机存储空间管理系统中:虚拟机中通过SBA实时获取虚拟存储空闲数据块信息,主动向宿主机告知虚拟机存储空间使用情况,将待释放的空闲块信息传递给部署于虚拟机监控器层(即宿主机)的SBD,宿主机通过SBD进行虚拟存储空闲块的释放和再分配,可见,宿主机可以实时获取虚拟机存储空间使用情况,实时性好;
以及,本发明实施例提供的虚拟机存储空间管理系统,避免了大量存储系统读写操作,从而系统开销小;并且,通过文件系统接口来获取虚拟存储空闲块,无需了解文件系统的实现细节,通用性好;
而且,本发明实施例提供的虚拟机存储空间管理系统,对于动态分配的映像格式和预先分配的镜像格式都能适用。
本发明实施例提供的虚拟机存储空间管理系统中,通过实时识别虚拟机存储空间使用情况(即识别虚拟机存储系统中的有效数据块和空闲数据块),可以释放该虚拟存储空闲块对应的物理存储空间,从而可以从而有效地进行存储空间管理,,提高底层存储系统的利用率。此外,通过识别有效数据块,还可以有效提升存储在线迁移、虚拟机克隆、映像备份这类I/O密集型操作的效率。可见,本发明实施例提供的虚拟机存储空间管理方案可用于存储系统自动精简部署空间管理。
如图4所示,本发明实施例还提供一种物理主机,包括硬件层,运行在硬件层之上的虚拟机监控单元层VMM,运行在虚拟机监控单元层VMM之上的至少一个虚拟机,其中,该虚拟机部署有存储气球代理,该虚拟机监控单元层部署有存储气球守护进程:
存储气球代理模块,用于根据预定义文件占用虚拟存储空间的大小获取所占用的部分虚拟存储块,将该部分虚拟存储块对应的虚拟存储空闲块信息传递给存储气球守护进程模块。
存储气球守护进程模块,用于将该虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
在一种实现方式下,该存储气球代理模块具体用于将该预定义文件占用虚拟存储空间的大小与获得的限值范围进行比较,若该预定义文件占用的虚拟存储空间小于限值范围的下限值,则调用文件系统扩大预定义文件,为扩大后的预定义文件分配虚拟存储块,调用文件系统获得预定义文件的扩大部分所占用的虚拟存储块,将表示该虚拟存储块的第一虚拟存储空闲块信息传递给存储气球守护进程模块;
该存储气球守护进程模块具体用于判断第一虚拟存储空闲块信息对应的虚拟存储块是否可用,若可用,则将该虚拟存储块标记为空闲,根据策略将部分或者全部标记为空闲的虚拟存储块对应的物理存储空间释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
在一种实现方式下,该存储气球代理模块进一步用于:若预定义文件占用的虚拟存储空间大于限值范围的上限值,调用文件系统获得预定义文件的待缩减部分所占用的虚拟存储块,将表示虚拟存储块的第二虚拟存储空闲块信息传递给存储气球守护进程模块;以及,调用文件系统收缩预定义文件。
该存储气球守护进程模块进一步用于:判断该第二虚拟存储空闲块信息对应的虚拟存储块是否为空闲,若为空闲,则将该虚拟存储块标记为可用。
综上所述,本发明实施例提供的物理主机中:虚拟机中通过SBA实时获取虚拟存储空闲数据块信息,主动向宿主机告知虚拟机存储空间使用情况,将待释放的空闲块信息传递给部署于虚拟机监控器层(即宿主机)的SBD,宿主机通过SBD进行虚拟存储空闲块的释放和再分配,可见,宿主机可以实时获取虚拟机存储空间使用情况,实时性好;
以及,本发明实施例提供的物理主机,避免了大量存储系统读写操作,从而系统开销小;并且,通过文件系统接口来获取虚拟存储空闲块,无需了解文件系统的实现细节,通用性好;
而且,本发明实施例提供的物理主机,对于动态分配的映像格式和预先分配的镜像格式都能适用。
本发明实施例提供的物理主机中,通过实时识别虚拟机存储空间使用情况(即识别虚拟机存储系统中的有效数据块和空闲数据块),可以释放该虚拟存储空闲块对应的物理存储空间,从而可以从而有效地进行存储空间管理,提高底层存储系统的利用率。此外,通过识别有效数据块,还可以有效提升存储在线迁移、虚拟机克隆、映像备份这类I/O密集型操作的效率。可见,本发明实施例提供的虚拟机存储空间管理方案可用于存储系统自动精简部署空间管理。
为便于理解,下面以一具体的应用场景对上述实施例中描述的虚拟机存储空间管理方法进行详细描述。为清楚起见,将SBA和SBD各自执行的步骤分开描述。在本实施例中,以底层存储系统为磁盘为例进行说明,相应的,物理存储空间为物理磁盘空间,虚拟存储空间为虚拟磁盘空间。
如图5a所示,下面首先描述SBA执行的步骤,包括:
201、如果预定义文件(F,比如对于Windows的C盘可以为C:\balloon.sys)不存在,则创建预定义文件。
202、获取预定义文件F的文件大小S。
203、通过文件系统接口获得虚拟磁盘的空闲空间信息,包括空闲空间的大小X。
204、从SBD获取允许F占用虚拟磁盘空闲空间的下限(L1%)和上限比例(L2%)的配置,如图4所示。
205、将预定义文件的大小S与预先设置的限值范围进行比较,如果S<X*L1%,说明预定义文件F占用空闲空间过小,则扩大预定义文件。
2011、调用文件系统预分配(fallocate)接口,传入X*(L1%+L2%)/2作为预定义文件F的大小,文件系统为该文件分配数据块[b1,b2,...bn]。
2022、调用文件系统锁(lock)接口,确保预定义文件F对应虚拟磁盘的数据块不会被磁盘碎片整理类工具修改。
2023、对于预定义文件的扩大部分,即[S,X*(L1%+L2%)/2]区间,调用文件系统“文件偏移->数据块”映射(bmap)接口,获得对应的虚拟磁盘块组。
2024、把该虚拟磁盘块组对应的第一虚拟磁盘空闲块信息通过共享内存的方式传递给SBD,该虚拟磁盘块组将作为回收释放的候选。如图4所示,第一虚拟磁盘空闲块信息,例如[2,3,14,15,16,17,18,19,20,...,24]。同时将一个扩大消息传递给SBD,用于通知SBD进行相应的操作。
206、如果S>X*L2%,说明预定义文件F占用空闲空间过大,则收缩预定义文件。
2061、系统将以X*(L1%+L2%)/2作为收缩后F的大小,因而对于[X*(L1%+L2%)/2,S]区间,调用文件系统“文件偏移->数据块”映射接口(bmap),获得对应的虚拟磁盘块组。
2062、将该虚拟磁盘块组对应的第二虚拟磁盘空闲块信息通过共享内存的方式传递给SBD。同时将一个收缩消息传递给SBD,用于通知SBD进行相应的操作,以及确保该虚拟磁盘块组没有被SBD标记为空闲状态。
2063、调用文件系统的截断(truncate)接口,传入X*(L1%+L2%)/2作为收缩后F的大小,把该虚拟磁盘块组返还给虚拟机文件系统。
207、如果X*L1%<=S<=X*L2%,说明预定义文件F占用空闲空间大小适应,无需执行扩大或收缩操作。
208、等待适当时间后,转到步骤202。
需要注意的是,当预定义文件F的大小受限于文件系统时,可能需要创建多个预定义文件F。
如图5b所示,下面描述SBD执行的步骤,包括:
301、提供用户接口,配置SBA允许预定义文件占用虚拟磁盘空闲空间的下限、上限比例。该上、下限比例可以灵活设置,比如在存储在线迁移时,适当提高比例可以达到进一步减少虚拟磁盘空闲空间拷贝的目的。一般可以将下限比例设置在60%左右,上限比例设置在80%~90%之间。
302、处理所收到的SBA发出的扩大消息。该步骤中,SBD通过共享内存方式获取需要释放的虚拟磁盘块对应的第一虚拟磁盘空闲块信息,对相应的虚拟磁盘块进行标记处理,具体包括以下步骤:
3031、判断该第一虚拟磁盘空闲块信息对应的虚拟磁盘块是否可用,若可用,则标记为空闲;若不可用,不做处理。
3032、在判断和标记完毕后,应答SBA。
3033、根据策略,释放部分或者全部空闲块对应的磁盘空间,标记相应块为不可用。
一种简单的策略:对于所有标记为空闲的块,全部释放并且标记为不可用。
一种更优的策略:当虚拟机内部分配和释放磁盘空间的操作频率等于或者大于某个阈值时,SBD减少释放空闲数据块的比例,因为这些空闲数据块在短期内很可能被再次用到,这样可以减少因为频繁释放和再分配带来的开销;当虚拟机内部分配和释放磁盘空间的操作较少时,SBD增加释放空闲数据块的比例。
需要注意的是,数据块为文件方式时,释放空闲块功能依赖于导出宿主机文件系统内部接口(free_blocks(st art_block,count));数据块为块接口方式时,通知底层块存储系统释放。
303、处理所收到的SBA发出的收缩消息。该步骤中,SBD通过共享内存方式获取需要收回的虚拟磁盘块对应的第二虚拟磁盘空闲块信息,对相应的虚拟磁盘块进行标记处理,具体包括以下步骤:
3031、判断虚拟磁盘格式中相应虚拟磁盘块是否为空闲,若是,则标记为可用。
3032、判断虚拟磁盘格式中相应虚拟磁盘块是否为不可用,若是则不作处理。需要注意,真正的数据块分配在写操作发生时进行。
3033、应答SBA。
综上所述,本发明实施例提供的虚拟机存储空间管理方案中:虚拟机中通过SBA实时获取虚拟存储空闲数据块信息,主动向宿主机告知虚拟机存储空间使用情况,将待释放的空闲块信息传递给部署于虚拟机监控器层(即宿主机)的SBD,宿主机通过SBD进行虚拟存储空闲块的释放和再分配,可见,宿主机可以实时获取虚拟机存储空间使用情况,实时性好;
以及,本发明实施例提供的虚拟机存储空间管理方案,避免了大量存储系统读写操作,从而系统开销小;并且,通过文件系统接口来获取虚拟存储空闲块,无需了解文件系统的实现细节,通用性好;
而且,本发明实施例提供的虚拟机存储空间管理方案,对于动态分配的映像格式和预先分配的镜像格式都能适用。
本发明实施例提供的虚拟机存储空间管理方案中,通过实时识别虚拟机存储空间使用情况(即识别虚拟机存储系统中的有效数据块和空闲数据块),可以释放该虚拟存储空闲块对应的物理存储空间,从而可以从而有效地进行存储空间管理,提高底层存储系统的利用率。此外,通过识别有效数据块,还可以有效提升存储在线迁移、虚拟机克隆、映像备份这类I/O密集型操作的效率。可见,本发明实施例提供的虚拟机存储空间管理方案可用于存储系统自动精简部署空间管理。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,random access memory)、磁盘或光盘等。
以上对本发明实施例所提供的虚拟机存储空间管理方法、系统以及计算机终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种虚拟机存储空间管理方法,其特征在于,应用于物理主机,所述物理主机包括:硬件层,运行在所述硬件层之上的虚拟机监控单元层,运行在所述虚拟机监控单元层之上的虚拟机,其中,所述虚拟机部署有存储气球代理模块,所述虚拟机监控单元层部署有存储气球守护进程模块,该方法包括:
所述存储气球代理模块根据预定义文件占用虚拟存储空间的大小获取所占用的部分虚拟存储块,将所述虚拟存储块对应的虚拟存储空闲块信息传递给所述存储气球守护进程模块;
所述存储气球守护进程模块将所述虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
2.根据权利要求1所述的方法,其特征在于,所述存储气球代理模块根据预定义文件占用虚拟存储空间的大小获取所占用的部分虚拟存储块,将所述虚拟存储块对应的虚拟存储空闲块信息传递给所述存储气球守护进程模块包括:
所述存储气球代理模块将所述预定义文件占用虚拟存储空间的大小与获得的限值范围进行比较;
若所述预定义文件占用的虚拟存储空间小于所述限值范围的下限值,则调用文件系统扩大所述预定义文件,为扩大后的预定义文件分配虚拟存储块;
调用文件系统获得所述预定义文件的扩大部分所占用的虚拟存储块;
将表示所述虚拟存储块的第一虚拟存储空闲块信息传递给所述存储气球守护进程模块。
3.根据权利要求2所述的方法,其特征在于,所述存储气球守护进程模块将所述虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用包括:
所述存储气球守护进程模块判断所述第一虚拟存储空闲块信息对应的虚拟存储块是否可用,若可用,则将所述虚拟存储块标记为空闲;
根据策略将部分或者全部标记为空闲的虚拟存储块对应的物理存储空间释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
4.根据权利要求2所述的方法,其特征在于,所述存储气球代理模块将所述预定义文件占用虚拟存储空间的大小与获得的限值范围进行比较之后还包括:
若所述预定义文件占用的虚拟存储空间大于所述限值范围的上限值,调用文件系统获得所述预定义文件的待缩减部分所占用的虚拟存储块;
将表示所述虚拟存储块的第二虚拟存储空闲块信息传递给所述存储气球守护进程模块。
5.根据权利要求4所述的方法,其特征在于,所述将表示所述虚拟存储块的第二虚拟存储空闲块信息传递给所述存储气球守护进程模块之后还包括:
所述存储气球守护进程模块判断所述第二虚拟存储空闲块信息对应的虚拟存储块是否为空闲,若为空闲,则将该虚拟存储块标记为可用;所述存储气球代理模块调用文件系统收缩所述预定义文件。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述存储气球代理模块将所述预定义文件占用虚拟存储空间的大小与获得的限值范围进行比较包括:
所述存储气球代理模块调用文件系统获取所述虚拟存储空闲空间的大小和所述预定义文件占用虚拟存储空间的大小,从所述存储气球守护进程模块获得允许所述预定义文件占用所述虚拟存储空闲空间的下限比例和上限比例;
将所述下限比例和上限比例分别与所述虚拟存储空闲空间的大小的乘积作为所述限值范围的下限值和上限值;
将所述预定义文件占用虚拟存储空间的大小分别与所述限值范围的下限值和上限值进行比较。
7.根据权利要求2或3所述的方法,其特征在于,所述调用文件系统扩大所述预定义文件包括:
所述存储气球代理模块调用文件系统预分配接口,传入所述限值范围的中间值作为扩大后预定义文件的大小,所述中间值等于所述限值范围的下限值和上限值的和的一半。
8.根据权利要求5所述的方法,其特征在于,所述调用文件系统收缩所述预定义文件包括:
所述存储气球代理模块调用文件系统截断接口,传入所述限值范围的中间值作为收缩后预定义文件的大小,所述中间值等于所述限值范围的下限值和上限值的和的一半;
将标记为可用的、所述预定义文件的截断部分对应的虚拟存储块返还给文件系统。
9.根据权利要求2或3所述的方法,其特征在于,所述为扩大后的预定义文件分配虚拟存储块之后还包括:
所述存储气球代理模块调用文件系统锁接口,锁定为扩大后的预定义文件分配的虚拟存储块。
10.根据权利要求3所述的方法,其特征在于,所述根据策略将部分或者全部标记为空闲的虚拟存储块对应的物理存储空间释放包括:判断虚拟机内部分配或释放存储空间的操作频率是否大于预先设置的阀值,若否,按照预先设置的比例释放所述标记为空闲的虚拟存储块对应的物理存储空间;若是,则按照预先设置的速率降低该预先设置的比例,按照降低后的比例释放所述标记为空闲的虚拟存储块对应的物理存储空间。
11.根据权利要求1至5任一项所述的方法,其特征在于,所述将所述虚拟存储块对应的虚拟存储空闲块信息传递给所述存储气球守护进程模块,包括:
所述存储气球代理模块将所述虚拟存储块对应的虚拟存储空闲块信息通过共享内存通道传递给所述存储气球守护进程模块。
12.一种虚拟机存储空间管理系统,其特征在于,包括部署于虚拟机中的存储气球代理模块和部署于虚拟机监控单元层中的存储气球守护进程模块;
所述存储气球代理模块,用于根据预定义文件占用虚拟存储空间的大小获取所占用的部分虚拟存储块,将所述虚拟存储块对应的虚拟存储空闲块信息传递给所述存储气球守护进程模块;
所述存储气球守护进程模块,用于将所述虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
13.一种物理主机,其特征在于,所述物理主机包括:硬件层,运行在所述硬件层之上的虚拟机监控单元层,运行在所述虚拟机监控单元层之上的至少一个虚拟机,其中,所述虚拟机部署有存储气球代理模块,所述虚拟机监控单元层部署有存储气球守护进程模块:
所述存储气球代理模块,用于根据预定义文件占用虚拟存储空间的大小获取所占用的部分虚拟存储块,将所述部分虚拟存储块对应的虚拟存储空闲块信息传递给所述存储气球守护进程模块;
所述存储气球守护进程模块,用于将所述虚拟存储空闲块信息对应的物理存储空间进行部分或全部释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
14.根据权利要求13所述的物理主机,其特征在于,所述存储气球代理模块具体用于将所述预定义文件占用虚拟存储空间的大小与获得的限值范围进行比较,若所述预定义文件占用的虚拟存储空间小于所述限值范围的下限值,则调用文件系统扩大所述预定义文件,为扩大后的预定义文件分配虚拟存储块,调用文件系统获得所述预定义文件的扩大部分所占用的虚拟存储块,将表示所述虚拟存储块的第一虚拟存储空闲块信息传递给所述存储气球守护进程模块;
所述存储气球守护进程模块具体用于判断所述第一虚拟存储空闲块信息对应的虚拟存储块是否可用,若可用,则将所述虚拟存储块标记为空闲,根据策略将部分或者全部标记为空闲的虚拟存储块对应的物理存储空间释放,并将已释放的物理存储空间对应的虚拟存储块标记为不可用。
15.根据权利要求14所述的物理主机,其特征在于,所述存储气球代理模块进一步用于:若所述预定义文件占用的虚拟存储空间大于所述限值范围的上限值,调用文件系统获得所述预定义文件的待缩减部分所占用的虚拟存储块,将表示所述虚拟存储块的第二虚拟存储空闲块信息传递给所述存储气球守护进程模块,以及调用文件系统收缩所述预定义文件;
所述存储气球守护进程模块进一步用于:判断所述第二虚拟存储空闲块信息对应的虚拟存储块是否为空闲,若为空闲,则将该虚拟存储块标记为可用。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010530638 CN101986285B (zh) | 2010-11-03 | 2010-11-03 | 虚拟机存储空间管理方法、系统及物理主机 |
EP11779077A EP2479677A4 (en) | 2010-11-03 | 2011-05-13 | METHOD, SYSTEM AND PHYSICAL HOST FOR MEMORY CONTROL MANAGEMENT OF A VIRTUAL MACHINE (VM) |
PCT/CN2011/074025 WO2012058917A1 (zh) | 2010-11-03 | 2011-05-13 | 虚拟机存储空间管理方法、系统及物理主机 |
JP2012542354A JP5510556B2 (ja) | 2010-11-03 | 2011-05-13 | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム |
KR1020127012967A KR101403416B1 (ko) | 2010-11-03 | 2011-05-13 | 가상 머신 저장 공간 관리를 위한 방법 및 시스템, 및 물리적 호스트 |
US13/339,209 US8850156B2 (en) | 2010-11-03 | 2011-12-28 | Method and system for managing virtual machine storage space and physical host |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010530638 CN101986285B (zh) | 2010-11-03 | 2010-11-03 | 虚拟机存储空间管理方法、系统及物理主机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101986285A true CN101986285A (zh) | 2011-03-16 |
CN101986285B CN101986285B (zh) | 2012-09-19 |
Family
ID=43710634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010530638 Active CN101986285B (zh) | 2010-11-03 | 2010-11-03 | 虚拟机存储空间管理方法、系统及物理主机 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2479677A4 (zh) |
JP (1) | JP5510556B2 (zh) |
KR (1) | KR101403416B1 (zh) |
CN (1) | CN101986285B (zh) |
WO (1) | WO2012058917A1 (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012834A (zh) * | 2010-12-20 | 2011-04-13 | 复旦大学 | 基于用户空闲进程的提高虚拟机性能与可伸缩性的方法 |
CN102222014A (zh) * | 2011-06-16 | 2011-10-19 | 华中科技大学 | 基于内存热插拔的虚拟机动态内存管理系统 |
WO2012058917A1 (zh) * | 2010-11-03 | 2012-05-10 | 华为技术有限公司 | 虚拟机存储空间管理方法、系统及物理主机 |
CN102779074A (zh) * | 2012-06-18 | 2012-11-14 | 中国人民解放军国防科学技术大学 | 基于内存空洞机制的虚拟机内存资源分配方法 |
CN102968380A (zh) * | 2012-11-02 | 2013-03-13 | 深圳市同洲电子股份有限公司 | 内存文件系统中内存分区的管理方法和装置 |
CN103226518A (zh) * | 2012-01-31 | 2013-07-31 | 国际商业机器公司 | 一种在存储管理系统中进行卷扩展的方法和装置 |
CN103744622A (zh) * | 2014-01-10 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种实现存储系统自动精简配置异步全额分配的方法 |
US8850156B2 (en) | 2010-11-03 | 2014-09-30 | Huawei Technologies Co., Ltd. | Method and system for managing virtual machine storage space and physical host |
CN104636080A (zh) * | 2013-11-12 | 2015-05-20 | 国际商业机器公司 | 存储系统及用于其的方法 |
US9069669B2 (en) | 2012-10-11 | 2015-06-30 | Industrial Technology Research Institute | Method and computer system for memory management on virtual machine |
CN105138284A (zh) * | 2015-08-11 | 2015-12-09 | 上海交通大学 | 虚拟机磁盘镜像同步操作优化的系统及方法 |
CN105550111A (zh) * | 2015-12-16 | 2016-05-04 | 浪潮(北京)电子信息产业有限公司 | 虚拟环境下操作系统io性能基准的测试调优方法及系统 |
CN106502762A (zh) * | 2016-10-20 | 2017-03-15 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟化技术的内存自动优化方法 |
CN107466397A (zh) * | 2015-04-07 | 2017-12-12 | 微软技术许可有限责任公司 | 由主虚拟存储器支持的虚拟机 |
CN107783722A (zh) * | 2016-08-25 | 2018-03-09 | 星辰天合(北京)数据科技有限公司 | 数据传输方法和数据转发装置 |
CN107800806A (zh) * | 2017-11-15 | 2018-03-13 | 中国联合网络通信集团有限公司 | 云环境下存储资源回收方法、共享存储系统和云服务系统 |
CN109324893A (zh) * | 2018-08-07 | 2019-02-12 | 华为技术有限公司 | 分配内存的方法和装置 |
CN109362085A (zh) * | 2011-05-23 | 2019-02-19 | 瑞典爱立信有限公司 | 通过openflow数据平面在云计算机中实现epc |
CN109697016A (zh) * | 2017-10-20 | 2019-04-30 | 伊姆西Ip控股有限责任公司 | 用于改进容器的存储性能的方法和装置 |
CN109857343A (zh) * | 2019-01-30 | 2019-06-07 | 新华三云计算技术有限公司 | 磁盘空间释放方法及装置 |
CN112148228A (zh) * | 2020-09-29 | 2020-12-29 | 上海摩勤智能技术有限公司 | 存储空间的释放方法、终端及存储介质 |
CN112286630A (zh) * | 2020-10-22 | 2021-01-29 | 烽火通信科技股份有限公司 | 一种虚拟机内存热迁移的优化方法与装置 |
CN116074003A (zh) * | 2023-03-06 | 2023-05-05 | 中安云科科技发展(山东)有限公司 | 一种密码机动态多线程负载均衡方法、系统及密码机 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404253B (zh) * | 2011-06-28 | 2014-08-06 | 西安交通大学 | 支持linux 的硬件抽象层的虚拟网卡设计方法 |
CN103713941B (zh) * | 2013-12-20 | 2018-05-04 | 汉柏科技有限公司 | 基于qcow2格式的虚拟机镜像克隆方法及系统 |
CN104156173A (zh) * | 2014-07-29 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种实现磁盘碎片整理的方法及装置 |
CN110389905B (zh) * | 2018-04-20 | 2023-12-19 | 伊姆西Ip控股有限责任公司 | 资源释放方法、资源分配方法、设备和计算机程序产品 |
CN112395045A (zh) * | 2020-11-13 | 2021-02-23 | 深圳力维智联技术有限公司 | 虚拟机回收及其资源调整方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477495A (zh) * | 2008-10-28 | 2009-07-08 | 北京航空航天大学 | 分布式内存虚拟化技术的实现方法 |
CN101587524A (zh) * | 2009-06-23 | 2009-11-25 | 上海北大方正科技电脑系统有限公司 | 一种基于虚拟系统的数据存储设备加密方法 |
US20100023941A1 (en) * | 2008-07-28 | 2010-01-28 | Fujitsu Limted | Virtual machine monitor |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000155713A (ja) * | 1998-11-24 | 2000-06-06 | Sony Corp | キャッシュサイズ制御装置 |
US7433951B1 (en) * | 2000-09-22 | 2008-10-07 | Vmware, Inc. | System and method for controlling resource revocation in a multi-guest computer system |
JP2005011208A (ja) * | 2003-06-20 | 2005-01-13 | Hitachi Ltd | ボリュームサイズ変更装置および変更方法 |
JP2006293543A (ja) * | 2005-04-07 | 2006-10-26 | Nec Corp | ストレージシステム及び物理記憶領域の動的回収方法 |
JP4765967B2 (ja) * | 2007-03-20 | 2011-09-07 | 日本電気株式会社 | 情報処理装置及び情報処理方法並びにプログラム |
US8195866B2 (en) | 2007-04-26 | 2012-06-05 | Vmware, Inc. | Adjusting available persistent storage during execution in a virtual computer system |
US8156492B2 (en) * | 2007-09-07 | 2012-04-10 | Oracle International Corporation | System and method to improve memory usage in virtual machines running as hypervisor guests |
CN101751335B (zh) * | 2008-11-28 | 2012-01-18 | 国际商业机器公司 | 调度虚拟机的垃圾收集的方法、装置和集群系统 |
CN101986285B (zh) * | 2010-11-03 | 2012-09-19 | 华为技术有限公司 | 虚拟机存储空间管理方法、系统及物理主机 |
-
2010
- 2010-11-03 CN CN 201010530638 patent/CN101986285B/zh active Active
-
2011
- 2011-05-13 KR KR1020127012967A patent/KR101403416B1/ko active IP Right Grant
- 2011-05-13 JP JP2012542354A patent/JP5510556B2/ja active Active
- 2011-05-13 WO PCT/CN2011/074025 patent/WO2012058917A1/zh active Application Filing
- 2011-05-13 EP EP11779077A patent/EP2479677A4/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100023941A1 (en) * | 2008-07-28 | 2010-01-28 | Fujitsu Limted | Virtual machine monitor |
CN101477495A (zh) * | 2008-10-28 | 2009-07-08 | 北京航空航天大学 | 分布式内存虚拟化技术的实现方法 |
CN101587524A (zh) * | 2009-06-23 | 2009-11-25 | 上海北大方正科技电脑系统有限公司 | 一种基于虚拟系统的数据存储设备加密方法 |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8850156B2 (en) | 2010-11-03 | 2014-09-30 | Huawei Technologies Co., Ltd. | Method and system for managing virtual machine storage space and physical host |
WO2012058917A1 (zh) * | 2010-11-03 | 2012-05-10 | 华为技术有限公司 | 虚拟机存储空间管理方法、系统及物理主机 |
CN102012834B (zh) * | 2010-12-20 | 2013-02-27 | 复旦大学 | 基于用户空闲进程的提高虚拟机性能与可伸缩性的方法 |
CN102012834A (zh) * | 2010-12-20 | 2011-04-13 | 复旦大学 | 基于用户空闲进程的提高虚拟机性能与可伸缩性的方法 |
CN109362085B (zh) * | 2011-05-23 | 2022-06-28 | 瑞典爱立信有限公司 | 通过openflow数据平面在云计算机中实现epc |
CN109362085A (zh) * | 2011-05-23 | 2019-02-19 | 瑞典爱立信有限公司 | 通过openflow数据平面在云计算机中实现epc |
CN102222014A (zh) * | 2011-06-16 | 2011-10-19 | 华中科技大学 | 基于内存热插拔的虚拟机动态内存管理系统 |
CN102222014B (zh) * | 2011-06-16 | 2013-05-22 | 华中科技大学 | 基于内存热插拔的虚拟机动态内存管理方法 |
US9772801B2 (en) | 2012-01-31 | 2017-09-26 | International Business Machines Corporation | Performing volume expansion in storage management system |
CN103226518A (zh) * | 2012-01-31 | 2013-07-31 | 国际商业机器公司 | 一种在存储管理系统中进行卷扩展的方法和装置 |
CN103226518B (zh) * | 2012-01-31 | 2016-06-22 | 国际商业机器公司 | 一种在存储管理系统中进行卷扩展的方法和装置 |
CN102779074A (zh) * | 2012-06-18 | 2012-11-14 | 中国人民解放军国防科学技术大学 | 基于内存空洞机制的虚拟机内存资源分配方法 |
TWI507870B (zh) * | 2012-10-11 | 2015-11-11 | Ind Tech Res Inst | 虛擬機的記憶體管理方法和電腦系統 |
US9069669B2 (en) | 2012-10-11 | 2015-06-30 | Industrial Technology Research Institute | Method and computer system for memory management on virtual machine |
CN102968380B (zh) * | 2012-11-02 | 2016-12-07 | 深圳市同洲电子股份有限公司 | 内存文件系统中内存分区的管理方法和装置 |
CN102968380A (zh) * | 2012-11-02 | 2013-03-13 | 深圳市同洲电子股份有限公司 | 内存文件系统中内存分区的管理方法和装置 |
CN104636080B (zh) * | 2013-11-12 | 2017-10-24 | 国际商业机器公司 | 存储系统及用于其的方法 |
CN104636080A (zh) * | 2013-11-12 | 2015-05-20 | 国际商业机器公司 | 存储系统及用于其的方法 |
CN103744622B (zh) * | 2014-01-10 | 2017-10-13 | 浪潮电子信息产业股份有限公司 | 一种实现存储系统自动精简配置异步全额分配的方法 |
CN103744622A (zh) * | 2014-01-10 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种实现存储系统自动精简配置异步全额分配的方法 |
CN107466397A (zh) * | 2015-04-07 | 2017-12-12 | 微软技术许可有限责任公司 | 由主虚拟存储器支持的虚拟机 |
CN105138284B (zh) * | 2015-08-11 | 2018-10-23 | 上海交通大学 | 虚拟机磁盘镜像同步操作优化的系统及方法 |
CN105138284A (zh) * | 2015-08-11 | 2015-12-09 | 上海交通大学 | 虚拟机磁盘镜像同步操作优化的系统及方法 |
CN105550111A (zh) * | 2015-12-16 | 2016-05-04 | 浪潮(北京)电子信息产业有限公司 | 虚拟环境下操作系统io性能基准的测试调优方法及系统 |
CN107783722B (zh) * | 2016-08-25 | 2020-08-21 | 星辰天合(北京)数据科技有限公司 | 数据传输方法和数据转发装置 |
CN107783722A (zh) * | 2016-08-25 | 2018-03-09 | 星辰天合(北京)数据科技有限公司 | 数据传输方法和数据转发装置 |
CN106502762A (zh) * | 2016-10-20 | 2017-03-15 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟化技术的内存自动优化方法 |
CN109697016A (zh) * | 2017-10-20 | 2019-04-30 | 伊姆西Ip控股有限责任公司 | 用于改进容器的存储性能的方法和装置 |
CN109697016B (zh) * | 2017-10-20 | 2022-02-15 | 伊姆西Ip控股有限责任公司 | 用于改进容器的存储性能的方法和装置 |
CN107800806A (zh) * | 2017-11-15 | 2018-03-13 | 中国联合网络通信集团有限公司 | 云环境下存储资源回收方法、共享存储系统和云服务系统 |
CN107800806B (zh) * | 2017-11-15 | 2019-08-06 | 中国联合网络通信集团有限公司 | 云环境下存储资源回收方法、共享存储系统和云服务系统 |
CN109324893B (zh) * | 2018-08-07 | 2021-08-31 | 华为技术有限公司 | 分配内存的方法和装置 |
CN109324893A (zh) * | 2018-08-07 | 2019-02-12 | 华为技术有限公司 | 分配内存的方法和装置 |
CN109857343A (zh) * | 2019-01-30 | 2019-06-07 | 新华三云计算技术有限公司 | 磁盘空间释放方法及装置 |
CN109857343B (zh) * | 2019-01-30 | 2023-02-07 | 新华三云计算技术有限公司 | 磁盘空间释放方法及装置 |
CN112148228A (zh) * | 2020-09-29 | 2020-12-29 | 上海摩勤智能技术有限公司 | 存储空间的释放方法、终端及存储介质 |
CN112286630A (zh) * | 2020-10-22 | 2021-01-29 | 烽火通信科技股份有限公司 | 一种虚拟机内存热迁移的优化方法与装置 |
CN116074003A (zh) * | 2023-03-06 | 2023-05-05 | 中安云科科技发展(山东)有限公司 | 一种密码机动态多线程负载均衡方法、系统及密码机 |
Also Published As
Publication number | Publication date |
---|---|
JP5510556B2 (ja) | 2014-06-04 |
JP2013513174A (ja) | 2013-04-18 |
EP2479677A4 (en) | 2012-08-08 |
CN101986285B (zh) | 2012-09-19 |
EP2479677A1 (en) | 2012-07-25 |
WO2012058917A1 (zh) | 2012-05-10 |
KR20120086322A (ko) | 2012-08-02 |
KR101403416B1 (ko) | 2014-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101986285B (zh) | 虚拟机存储空间管理方法、系统及物理主机 | |
US8850156B2 (en) | Method and system for managing virtual machine storage space and physical host | |
US20090089780A1 (en) | Method and apparatus to convey physical resource relationships | |
CN101351772A (zh) | 用于在不同虚拟机映像之间共享文件的方法和系统 | |
WO2009033166A1 (en) | System and method to improve memory usage in virtual machines running as hypervisor guests | |
US20220214907A1 (en) | Virtual machine memory management method and device | |
CN102141931A (zh) | 一种创建虚拟机的方法、虚拟机监控器及虚拟机系统 | |
CN109960569B (zh) | 一种虚拟化处理方法及装置 | |
WO2023284688A1 (zh) | 基于容器组pod的处理方法及相关系统、存储介质 | |
CN114089926B (zh) | 分布式存储空间的管理方法、计算设备及存储介质 | |
WO2022174767A1 (zh) | 应用管理方法和装置 | |
CN109324893B (zh) | 分配内存的方法和装置 | |
CN110750336A (zh) | 一种OpenStack虚拟机内存热扩容方法 | |
CN107329836B (zh) | 多系统的内存管理方法、管理装置以及移动终端 | |
CN105205409A (zh) | 一种防止内存复用中数据泄露的方法及计算机系统 | |
CN108667750B (zh) | 虚拟资源管理方法及装置 | |
US7840772B2 (en) | Physical memory control using memory classes | |
CN112486664A (zh) | 一种节点扩容方法、系统、终端及存储介质 | |
CN115185874B (zh) | 一种pcie资源的分配方法及相关装置 | |
CN115618409A (zh) | 数据库云服务生成方法、装置、设备及可读存储介质 | |
CN113485789B (zh) | 资源配置方法、装置及计算机架构 | |
CN111435299B (zh) | 一种应用程序的处理方法及装置 | |
CN106326170A (zh) | 一种设备索引号分配方法、装置及系统 | |
CN116303154B (zh) | 用于数据处理单元的基地址寄存器资源分配方法及介质 | |
CN113918283A (zh) | 数据存储方法、装置、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |