一种磁盘管理方法及装置的制造方法

文档序号:10593786阅读:149来源:国知局
一种磁盘管理方法及装置的制造方法
【专利摘要】本发明公开了一种磁盘管理方法和装置,所述方法包括:根据待管理虚拟机的名称,查找计算机系统中的虚拟机;若所述计算机系统中已存在所述待处理虚拟机,则根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理;将所述磁盘的存在标志位设为存在,以便于对磁盘的管理。本发明通过在计算机系统中查找虚拟机是否已经存在,当存在时,根据处理指令和处理信息,对虚拟机的磁盘进行管理,将虚拟机和磁盘进行关联管理,符合一般用户首先关注虚拟机,而后关注虚拟机中磁盘的管理习惯;同时通过磁盘的存在标志位来标识当前磁盘是否存在,能够快速有效地确定当前磁盘是否已被删除,方便对磁盘的管理。
【专利说明】
_种磁盘管理方法及装置
技术领域
[0001 ]本发明涉及磁盘管理技术领域,具体涉及一种磁盘管理方法及装置。
【背景技术】
[0002]精简配置是云计算存储领域的一种技术手段,经常用于虚拟机的磁盘管理中,当给虚拟机创建100G的磁盘,如果使用精简配置,那么就只分配一部分磁盘(比如仅分配10G,但是虚拟机中的操作系统认为还是有100G磁盘),当磁盘快用满1G时,精简配置程序会为虚拟机申请磁盘空间(比如又申请了 20G),这样就可以一点一点的增加磁盘空间,最终为虚拟机分配100G空间。
[0003]因此,使用精简配置技术时,需要对虚拟机和磁盘进行管理。现有技术中,精简配置关注的仅是磁盘,当磁盘空间不足时,会自动为磁盘扩容,并无对虚拟机的管理。

【发明内容】

[0004]由于现有技术中,精简配置关注的仅是磁盘,当磁盘空间不足时,会自动为磁盘扩容,并无对虚拟机的管理的问题,本发明提出一种磁盘管理方法及装置。
[0005]第一方面,本发明提出一种磁盘管理方法,包括:
[0006]根据待管理虚拟机的名称,查找计算机系统中的虚拟机;
[0007]若所述计算机系统中已存在所述待处理虚拟机,则根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理;
[0008]将所述磁盘的存在标志位设为存在,以便于对磁盘的管理。
[0009]优选地,所述根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理,进一步包括:
[0010]若所述处理指令为添加磁盘,则根据所述处理信息在所述待处理虚拟机中建立新磁盘,并为所述新磁盘申请预设磁盘空间的内存;
[0011]其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。
[0012]优选地,所述根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理,进一步包括:
[0013]若所述处理指令为修改磁盘,则根据所述处理信息在所述待处理虚拟机中修改磁盘信息;
[0014]其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。
[0015]优选地,还包括:
[0016]将所述待管理虚拟机的所有磁盘的存在标志位设为不存在;
[0017]读取数据库中所述待管理虚拟机的磁盘,如果所述数据库中存在当前磁盘,则将当前磁盘的存在标志位设为存在;
[0018]将存在标志位为不存在的磁盘从所述待管理虚拟机中删除。
[0019]优选地,还包括:
[0020]若所述计算机系统中不存在所述待处理虚拟机,则根据所述处理信息在所述计算机系统中创建新虚拟机,并为所述新虚拟机申请预设虚拟机空间的内存;
[0021 ] 其中,所述处理信息包括虚拟机名称和虚拟机空间;所述虚拟机空间包括已分配虚拟机空间和定义虚拟机空间。
[0022 ]第二方面,本发明还提出一种磁盘管理装置,包括:
[0023]虚拟机查找模块,用于根据待管理虚拟机的名称,查找计算机系统中的虚拟机;
[0024]磁盘管理模块,用于当所述计算机系统中已存在所述待处理虚拟机时,根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理;
[0025]标志位设置模块,用于将所述磁盘的存在标志位设为存在,以便于对磁盘的管理。
[0026]优选地,所述磁盘管理模块进一步用于当所述处理指令为添加磁盘时,根据所述处理信息在所述待处理虚拟机中建立新磁盘,并为所述新磁盘申请预设磁盘空间的内存;
[0027]其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。
[0028]优选地,所述磁盘管理模块进一步用于当所述处理指令为修改磁盘时,根据所述处理信息在所述待处理虚拟机中修改磁盘信息;
[0029]其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。
[0030]优选地,还包括:
[0031 ]磁盘删除模块,用于将所述待管理虚拟机的所有磁盘的存在标志位设为不存在;读取数据库中所述待管理虚拟机的磁盘,如果所述数据库中存在当前磁盘,则将当前磁盘的存在标志位设为存在;并将存在标志位为不存在的磁盘从所述待管理虚拟机中删除。
[0032]优选地,还包括:
[0033]虚拟机删除模块,用于当所述计算机系统中不存在所述待处理虚拟机时,根据所述处理信息在所述计算机系统中创建新虚拟机,并为所述新虚拟机申请预设虚拟机空间的内存;
[0034]其中,所述处理信息包括虚拟机名称和虚拟机空间;所述虚拟机空间包括已分配虚拟机空间和定义虚拟机空间。
[0035]由上述技术方案可知,本发明通过在计算机系统中查找虚拟机是否已经存在,当存在时,根据处理指令和处理信息,对虚拟机的磁盘进行管理,将虚拟机和磁盘进行关联管理,符合一般用户首先关注虚拟机,而后关注虚拟机中磁盘的管理习惯,可以快速有效地定位到虚拟机有哪些磁盘,磁盘属于哪个虚拟机,便于用户对磁盘的管理;同时通过磁盘的存在标志位来标识当前磁盘是否存在,能够快速有效地确定当前磁盘是否已被删除,方便对磁盘的管理。
【附图说明】
[0036]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
[0037]图1为本发明一实施例提供的一种磁盘管理方法的流程示意图;
[0038]图2为本发明一实施例提供的另一种磁盘管理方法的流程图;
[0039]图3为本发明一实施例提供的一种磁盘管理装置的结构示意图。
【具体实施方式】
[0040]下面结合附图,对发明的【具体实施方式】作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0041 ] 实施例1:
[0042]图1示出了本发明一实施例提供的一种磁盘管理方法的流程示意图,包括:
[0043]S1、根据待管理虚拟机的名称,查找计算机系统中的虚拟机;
[0044]其中,一个计算机系统中包括多个虚拟机。
[0045]S2、若所述计算机系统中已存在所述待处理虚拟机,则根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理;
[0046]S3、将所述磁盘的存在标志位设为存在,以便于对磁盘的管理。
[0047]本实施例通过在计算机系统中查找虚拟机是否已经存在,当存在时,根据处理指令和处理信息,对虚拟机的磁盘进行管理,将虚拟机和磁盘进行关联管理,符合一般用户首先关注虚拟机,而后关注虚拟机中磁盘的管理习惯,可以快速有效地定位到虚拟机有哪些磁盘,磁盘属于哪个虚拟机,便于用户对磁盘的管理;同时通过磁盘的存在标志位来标识当前磁盘是否存在,能够快速有效地确定当前磁盘是否已被删除,方便对磁盘的管理。
[0048]进一步地,在上述实施例1的基础上,步骤S2中所述根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理,进一步包括:
[0049]S21、若所述处理指令为添加磁盘,则根据所述处理信息在所述待处理虚拟机中建立新磁盘,并为所述新磁盘申请预设磁盘空间的内存;
[0050]其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。
[0051 ] 通过为待处理虚拟机添加新磁盘,能够将虚拟机与磁盘进行关联,便于管理。
[0052]进一步地,在上述实施例1的基础上,步骤S2中所述根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理,进一步包括:
[0053]S22、若所述处理指令为修改磁盘,则根据所述处理信息在所述待处理虚拟机中修改磁盘信息;
[0054]其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。
[0055]通过查找虚拟机来找到待修改的磁盘,并对磁盘进行修改,快速方便。
[0056]进一步地,在上述实施例1的基础上,步骤S3之后,还包括:
[0057]S4、将所述待管理虚拟机的所有磁盘的存在标志位设为不存在;
[0058]S5、读取数据库中所述待管理虚拟机的磁盘,如果所述数据库中存在当前磁盘,则将当前磁盘的存在标志位设为存在;
[0059]S6、将存在标志位为不存在的磁盘从所述待管理虚拟机中删除。
[0060]通过读取数据库中的数据来确认当前磁盘是否存在,以便及时删除虚拟机中不存在的磁盘。
[0061]若所述待管理虚拟机的所有磁盘的存在标志位均为不存在,则删除所述待管理虚拟机。
[0062]精简配置程序,会读取数据库中当前存在的虚拟机、磁盘的信息。但是由于无法读取出已经删除的虚拟机、磁盘的信息,因此需要做特殊处理,以确保删除虚拟机时不会误删虚拟机中的磁盘。
[0063]更进一步地,所述方法还包括:
[0064]S4、若所述计算机系统中不存在所述待处理虚拟机,则根据所述处理信息在所述计算机系统中创建新虚拟机,并为所述新虚拟机申请预设虚拟机空间的内存;
[0065]其中,所述处理信息包括虚拟机名称和虚拟机空间;所述虚拟机空间包括已分配虚拟机空间和定义虚拟机空间。
[0066]通过判断计算机系统中不存在所述待处理虚拟机,则创建新虚拟机,能够提高用户体验。
[0067]具体地,当创建新虚拟机时,记录下新虚拟机相关信息,包括:
[0068]虚拟机在程序中的名字,程序中为了查找方便等原因,通常给虚拟机起一个独一无二的名字,用来快速的区分虚拟机;
[0069]虚拟机的别名,记录了人能够理解的虚拟机的名字,该名字是创建虚拟机时人为起的名字,是人可以理解的;
[0070]链表结构,用来将各个虚拟机关联成链表;
[0071 ]磁盘信息表,该信息表包括了当前虚拟机可用的磁盘信息,以及当前虚拟机不可用的磁盘信息。
[0072]当创建虚拟机时,还需要给虚拟机添加磁盘,因此需要对磁盘进行管理,要记录下磁盘的信息,包括:
[0073]磁盘的名字,同样是为了区分磁盘,人可以识别;
[0074]磁盘的路径,对于磁盘来说,虚拟机中的操作系统认为是磁盘,虚拟机是位于主机的,那么该磁盘对于主机来说,可能就是主机的一个特殊格式的文件,也可能是主机可以识别的某个块设备,无论是文件也好,块设备也好,必然要有一个路径,这样根据路径就可以访问到磁盘;
[0075]定义的磁盘大小,在创建虚拟机时,给虚拟机分配的磁盘大小,比如分配了 100G,虽然在使用精简配置时,没有立刻分配100G,而是只分配了一部分(比如20G),但是磁盘的定义的大小永远是创建时定义的,对于本例来说就是100G;
[0076]当前已经分配的大小,当前为虚拟机分配了多大的空间,比如20G,当然虚拟机可能仅用了 5G;
[0077]磁盘链表,用于将磁盘关联起来;
[0078]虚拟机的信息,这就是前面记录的虚拟机信息。这样通过磁盘信息可以方便的找到虚拟机信息;
[0079]定时器句柄,通过该句柄可以获取到定时器的一些资源信息。因为精简配置程序要不停的监控磁盘,因此需要启动定时器来定时监控,定时器也包括了很多信息,那么通过该句柄就可以获取到定时器的信息,比如定时器的定时间隔,定时器的状态等等;
[0080]存在标志位,表明磁盘在数据库中是存在还是不存在的,用于添加、删除磁盘时对磁盘状态的获取。
[0081 ] 具体地,当创建虚拟机时:
[0082]Al、根据虚拟机在程序中的名字(该名字是系统内部定义的、独一无二的名字)来查找是否已经创建了该虚拟机。如果是则转到A2,如果否则A3;
[0083]A2、已经创建了虚拟机,那么说明本次其实不是创建虚拟机而可能是为虚拟机添加磁盘,那么直接转到A4,也可能是修改了虚拟机磁盘的一些信息(比如名字,定时器信息等等),那么转到A5,当然也可以是什么都不修改,那么直接转到A6;
[0084]A3、此时是新创建虚拟机,那么就分配内存,用来记录虚拟机的信息;
[0085]A4、无论是新创建虚拟机还是为老虚拟机添加磁盘,都重新申请一块内存用来记录磁盘的信息;
[0086]A5、如果是修改老磁盘的信息,那么就找到对应的老磁盘信息,直接修改即可;
[0087]A6、设置磁盘存在标志位。
[0088]对于精简配置来说,需要监控的是虚拟机中的磁盘信息,当一个虚拟机中没有任何磁盘的时候,那么就不需要任何虚拟机的信息了,而只要虚拟机中有磁盘,那么就需要记录虚拟机的信息。
[0089]在创建虚拟机时,虚拟机和磁盘的各种信息,都来自于数据库,这是创建虚拟机的程序自己写入的,且数据库中仅保存当前存在的虚拟机,这样做是为了减少数据库的大小,否则已经删除的虚拟机的信息也记录下来,那么信息量太大,也没有意义。
[0090]精简配置程序,会读取数据库,读取到当前存在的虚拟机、磁盘的信息。但是由于无法读取出已经删除的虚拟机、磁盘的信息,因此需要做特殊处理。
[0091 ]具体地,当需要删除虚拟机时:
[0092]B1、设置所有虚拟机的所有磁盘信息中的存在标志位为不存在;
[0093]B2、读取数据库信息;
[0094]B3、根据读取到的数据库信息,执行创建虚拟机的步骤A 1-A6,由于该流程是复用的,对于添加磁盘,修改磁盘等也是有效的;
[0095]B4、在创建虚拟机流程中,最终需要再次为磁盘设置存在标志位,表明磁盘存在;
[0096]B5、遍历所有虚拟机下的所有磁盘,如果有磁盘已经被删除了的话,那么在B4中是不会设置存在标志位的,也就是说,此时该磁盘已经被删除了,那么就可以安全的将该磁盘删除了。
[0097]B6、如果某个虚拟机下的所有磁盘都被删除了,那么就可以安全的删除该虚拟机了。
[0098]举例来说,假设当前有一个虚拟机,该虚拟机有两个磁盘,A和B;
[0099]BI,、设置A和B为Not Exist,表明A和B存在;
[0100]B2’、读取数据库信息,此时,仅仅读取到B的信息;
[0101]B3’、根据B的信息,走创建虚拟机的流程;
[0102]B4’、在创建虚拟机的流程最后,对磁盘B重新设置为Exist,表明磁盘存在;
[0103]B5’、遍历所有虚拟机下的所有磁盘,对于本例来说,就是A和B,发现A还是NotExist,而B是Exist,那么说明A已经被删除了,可以安全的删除掉了。
[0104]B6’、由于当前虚拟机的磁盘B未被删除,因此不能直接删除当前虚拟机。
[0105]图3示出了本发明一实施例提供的一种磁盘管理装置的结构示意图,所述装置包括虚拟机查找模块31、磁盘管理模块32和标志位设置模块33,其中,
[0106]所述虚拟机查找模块31用于根据待管理虚拟机的名称,查找计算机系统中的虚拟机;
[0107]所述磁盘管理模块32用于当所述计算机系统中已存在所述待处理虚拟机时,根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理;
[0108]所述标志位设置模块33用于将所述磁盘的存在标志位设为存在,以便于对磁盘的管理。
[0109]具体地,所述虚拟机查找模块31根据待管理虚拟机的名称,查找计算机系统中的虚拟机;当所述计算机系统中已存在所述待处理虚拟机时,所述磁盘管理模块32根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理;所述标志位设置模块33将所述磁盘的存在标志位设为存在,以便于对磁盘的管理。
[0110]本实施例通过在计算机系统中查找虚拟机是否已经存在,当存在时,根据处理指令和处理信息,对虚拟机的磁盘进行管理,将虚拟机和磁盘进行关联管理,符合一般用户首先关注虚拟机,而后关注虚拟机中磁盘的管理习惯,可以快速有效地定位到虚拟机有哪些磁盘,磁盘属于哪个虚拟机,便于用户对磁盘的管理;同时通过磁盘的存在标志位来标识当前磁盘是否存在,能够快速有效地确定当前磁盘是否已被删除,方便对磁盘的管理。
[0111]进一步地,所述磁盘管理模块用于当所述处理指令为添加磁盘时,根据所述处理信息在所述待处理虚拟机中建立新磁盘,并为所述新磁盘申请预设磁盘空间的内存;
[0112]其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。
[0113]进一步地,所述磁盘管理模块用于当所述处理指令为修改磁盘时,根据所述处理信息在所述待处理虚拟机中修改磁盘信息;
[0114]其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。
[0115]进一步地,所述装置还包括:
[0116]磁盘删除模块34,用于将所述待管理虚拟机的所有磁盘的存在标志位设为不存在;读取数据库中所述待管理虚拟机的磁盘,如果所述数据库中存在当前磁盘,则将当前磁盘的存在标志位设为存在;并将存在标志位为不存在的磁盘从所述待管理虚拟机中删除。
[0117]更进一步地,所述装置还包括:
[0118]虚拟机删除模块35,用于当所述计算机系统中不存在所述待处理虚拟机时,根据所述处理信息在所述计算机系统中创建新虚拟机,并为所述新虚拟机申请预设虚拟机空间的内存;
[0119]其中,所述处理信息包括虚拟机名称和虚拟机空间;所述虚拟机空间包括已分配虚拟机空间和定义虚拟机空间。
[0120]本实施例所述的磁盘管理装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
[0121]本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
【主权项】
1.一种磁盘管理方法,其特征在于,包括: 根据待管理虚拟机的名称,查找计算机系统中的虚拟机; 若所述计算机系统中已存在所述待处理虚拟机,则根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理; 将所述磁盘的存在标志位设为存在,以便于对磁盘的管理。2.根据权利要求1所述的方法,其特征在于,所述根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理,进一步包括: 若所述处理指令为添加磁盘,则根据所述处理信息在所述待处理虚拟机中建立新磁盘,并为所述新磁盘申请预设磁盘空间的内存; 其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。3.根据权利要求1所述的方法,其特征在于,所述根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理,进一步包括: 若所述处理指令为修改磁盘,则根据所述处理信息在所述待处理虚拟机中修改磁盘信息; 其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。4.根据权利要求1所述的方法,其特征在于,所述将所述磁盘的存在标志位设为存在,以便于对磁盘的管理之后,还包括: 将所述待管理虚拟机的所有磁盘的存在标志位设为不存在; 读取数据库中所述待管理虚拟机的磁盘,如果所述数据库中存在当前磁盘,则将当前磁盘的存在标志位设为存在; 将存在标志位为不存在的磁盘从所述待管理虚拟机中删除。5.根据权利要求1所述的方法,其特征在于,还包括: 若所述计算机系统中不存在所述待处理虚拟机,则根据所述处理信息在所述计算机系统中创建新虚拟机,并为所述新虚拟机申请预设虚拟机空间的内存; 其中,所述处理信息包括虚拟机名称和虚拟机空间;所述虚拟机空间包括已分配虚拟机空间和定义虚拟机空间。6.一种磁盘管理装置,其特征在于,包括: 虚拟机查找模块,用于根据待管理虚拟机的名称,查找计算机系统中的虚拟机; 磁盘管理模块,用于当所述计算机系统中已存在所述待处理虚拟机时,根据处理指令和处理信息,对所述待处理虚拟机的磁盘进行管理; 标志位设置模块,用于将所述磁盘的存在标志位设为存在,以便于对磁盘的管理。7.根据权利要求6所述的装置,其特征在于,所述磁盘管理模块进一步用于当所述处理指令为添加磁盘时,根据所述处理信息在所述待处理虚拟机中建立新磁盘,并为所述新磁盘申请预设磁盘空间的内存; 其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。8.根据权利要求6所述的装置,其特征在于,所述磁盘管理模块进一步用于当所述处理指令为修改磁盘时,根据所述处理信息在所述待处理虚拟机中修改磁盘信息; 其中,所述处理信息包括磁盘名称和磁盘空间;所述磁盘空间包括已分配磁盘空间和定义磁盘空间。9.根据权利要求6所述的装置,其特征在于,还包括: 磁盘删除模块,用于将所述待管理虚拟机的所有磁盘的存在标志位设为不存在;读取数据库中所述待管理虚拟机的磁盘,如果所述数据库中存在当前磁盘,则将当前磁盘的存在标志位设为存在;并将存在标志位为不存在的磁盘从所述待管理虚拟机中删除。10.根据权利要求6所述的装置,其特征在于,还包括: 虚拟机删除模块,用于当所述计算机系统中不存在所述待处理虚拟机时,根据所述处理信息在所述计算机系统中创建新虚拟机,并为所述新虚拟机申请预设虚拟机空间的内存; 其中,所述处理信息包括虚拟机名称和虚拟机空间;所述虚拟机空间包括已分配虚拟机空间和定义虚拟机空间。
【文档编号】G06F3/06GK105955671SQ201610323317
【公开日】2016年9月21日
【申请日】2016年5月16日
【发明人】李鹏
【申请人】汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1