一种扩展虚拟机磁盘空间的方法、装置及虚拟机系统的制作方法_4

文档序号:8258122阅读:来源:国知局
空间不大,此时有可能扩展后的磁盘的$Bitmap的文件内容不变,仅仅是$Bitmap的位置发生了变化。即为目标磁盘的$Bitmap的文件内容与所述当前磁盘的$Bitmap的文件内容相同,对应的,所述目标磁盘的$Bitmap数据区的总簇数与所述当前磁盘的$Bitmap数据区的总簇数相同。
[0135]此时,不需要为新扩展的磁盘空间分配$Bitmap簇,只需要按照步骤S3044e所述为目标磁盘的$Bitmap的文件内容确定新的位置,即为以Icn为起始位置的连续的length个簇中。
[0136]具体的,将所述目标磁盘的$Bitmap数据区中,该目标磁盘能够管理的所有簇对应的Bitmap数据区的bit位设置为O ;将目标磁盘不能管理的簇对应的$Bitmap数据区的bit为设置为I。
[0137]具体的,如果目标磁盘相对于当前磁盘而言,其扩展的空间比较大,此时不仅仅是SBitmap的位置发生了变化,扩展后的磁盘的$Bitmap的文件内容也增加了。即为目标磁盘的$Bitmap的文件内容比所述当前磁盘的$Bitmap的文件内容多,对应的,所述目标磁盘的SBitmap数据区的总簇数比所述当前磁盘的$Bitmap数据区的总簇数多。
[0138]此时,将目标磁盘的$8^!11&?数据区中,旧分区(当前磁盘对应的分区)无法管理的簇所对应的bitmap数据区的bit位设置为O ;计算需要增加的簇数,从旧分区的总簇数之后的第一个簇开始写入新增簇数的Buffer (缓存),Buffer中的每一位均为O ;将目标磁盘的$Bitmap数据区中,目标磁盘无法管理的簇所对应的$Bitmap数据区的bit位设为I。
[0139]至此,完成了对所述目标磁盘的MBR磁盘文件系统的修改,所述VRM能够自动识别出所述目标磁盘的空间大小。
[0140]步骤S305:建立所述目标磁盘与所述待扩展磁盘的虚拟机之间的关联,并释放所述待扩展磁盘的虚拟机的当前磁盘。
[0141]本发明实施例二所述方法中,当需要对某个虚拟机的磁盘空间进行扩展时,直接由所述VRM向存储资源池为该虚拟机申请期望大小的目标磁盘,并由所述VRM直接调用磁盘扩展工具对所述目标磁盘的相关文件进行修改,由此即可实现对虚拟机的磁盘空间的扩展。由此可见,本发明实施例所述方法简便已操作,且不需要用户亲自进行文件修改操作,其可实施性较高,易于实现。
[0142]需要说明的是,本发明实施例二所述的方法中,所述VRM直接向存储资源池申请所述待扩展磁盘的虚拟机所需大小的磁盘作为所述目标磁盘。在本发明其他实施例中,所述VRM也可以向所述存储资源池申请一扩展磁盘,所述扩展磁盘的空间大小等于所述待扩展磁盘的虚拟机所需磁盘大小与当前磁盘的大小的差值,然后将所述扩展磁盘与所述当前磁盘合并后,作为所述目标磁盘。
[0143]具体的,参照图4,为本发明实施例三所述的扩展虚拟机磁盘空间的方法流程图。如图4所示,所述方法包括以下步骤:
[0144]步骤S401:所述VRM关闭待扩展磁盘的虚拟机。
[0145]步骤S402:所述VRM向存储资源池为所述待扩展磁盘的虚拟机申请扩展磁盘;所述扩展磁盘的空间大小等于所述虚拟机所需磁盘空间的期望值与所述虚拟机当前磁盘空间大小的差值。
[0146]具体的,假定所述虚拟机所需磁盘空间的期望值为De,所述虚拟机当前磁盘空间大小为Dr,则所述扩展磁盘的空间大小Dp=De-Dr。
[0147]步骤S403:合并所述虚拟机的当前磁盘和所述扩展磁盘,作为所述虚拟机的目标磁盘。
[0148]需要说明的是,本发明实施例三所述方法中,由于所述目标磁盘是由所述虚拟机的当前磁盘和所述扩展磁盘合并构成的,因此,所述虚拟机当前磁盘中的数据文件就直接存在于所述目标磁盘中了,不需要再执行复制数据文件的步骤。
[0149]但是,此时,目标磁盘中各数据文件对应的仍为所述虚拟机当前磁盘的数据信息,因此,仍然需要对所述目标磁盘中包括的相关文件进行修改,以便VRM能够识别得到扩展后的目标磁盘的相关信息。
[0150]步骤S404:所述VRM调用磁盘扩展工具(diskextend)修改所述目标磁盘的主引导记录(Main Boot Record, MBR)以及磁盘文件系统分区表。
[0151]步骤S405:建立所述目标磁盘与所述待扩展磁盘的虚拟机之间的关联,并释放所述待扩展磁盘的虚拟机的当前磁盘。
[0152]本发明实施例三所述方法中,当需要对某个虚拟机的磁盘空间进行扩展时,直接由所述VRM向存储资源池为该虚拟机申请期望大小与当前磁盘大小差值的扩展磁盘,并将虚拟机的当前磁盘与所述扩展磁盘合并后作为所述虚拟机的目标磁盘,由所述VRM直接调用磁盘扩展工具对所述目标磁盘的相关文件进行修改,由此即可实现对虚拟机的磁盘空间的扩展。由此可见,本发明实施例所述方法简便已操作,且不需要用户亲自进行文件修改操作,其可实施性较高,易于实现。
[0153]对应于本发明实施例提供的扩展虚拟机磁盘空间的方法,本发明实施例还提供一种扩展虚拟机磁盘空间的装置。参照图5,为本发明实施例提供的扩展虚拟机磁盘空间的装置结构图。
[0154]如图5所示,所述装置可以包括:虚拟机控制单元501、磁盘分配单元502、文件复制单元503、文件修改单元504和磁盘关联单元505。
[0155]所述虚拟机控制单元501,用于关闭待扩展磁盘的虚拟机。
[0156]所述磁盘分配单元502,用于为所述虚拟机分配目标磁盘,所述目标磁盘的空间大小等于所述虚拟机所需磁盘空间的期望值。
[0157]所述文件复制单元503,用于将所述虚拟机的当前磁盘中的数据文件完全复制到所述目标磁盘上。
[0158]所述文件修改单元504,用于调用磁盘扩展工具修改所述目标磁盘的主引导记录MBR以及磁盘文件系统,以便识别所述目标磁盘的空间大小。
[0159]所述磁盘关联单元505,用于建立所述目标磁盘与所述待扩展磁盘的虚拟机之间的关联,并释放所述待扩展磁盘的虚拟机的当前磁盘。
[0160]本发明实施例所述装置,当需要对某个虚拟机的磁盘空间进行扩展时,直接由VRM为该虚拟机申请期望大小的目标磁盘,并由所述VRM直接调用磁盘扩展工具对所述目标磁盘的相关文件进行修改,以实现VRM对目标磁盘的空间大小的识别,由此即可实现对虚拟机的磁盘空间的扩展。由此可见,本发明实施例所述装置,简便易操作,且不需要用户亲自进行文件修改操作,其可实施性较高,易于实现。
[0161]优选的,本发明实施例中,所述VRM直接向存储资源池申请所述待扩展磁盘的虚拟机所需大小的磁盘作为所述目标磁盘。
[0162]此时,所述磁盘分配单元502可以包括:第一申请子单元,用于向存储资源池申请空间大小等于所述虚拟机所需磁盘空间的期望值的目标磁盘。
[0163]优选的,本发明另一实施例中,所述VRM也可以向所述存储资源池申请一扩展磁盘,所述扩展磁盘的空间大小等于所述待扩展磁盘的虚拟机所需磁盘大小与当前磁盘的大小的差值,然后将所述扩展磁盘与所述当前磁盘合并后,作为所述目标磁盘。
[0164]此时,所述磁盘分配单元502也可以包括:第二申请子单元和磁盘合并子单元。
[0165]所述第二申请子单元,用于向所述存储资源池申请扩展磁盘,所述扩展磁盘的空间大小等于所述期望值与所述当前磁盘空间大小的差值。
[0166]所述合并子单元,用于合并所述虚拟机的当前磁盘和所述扩展磁盘,作为所述虚拟机的目标磁盘。
[0167]优选的,所述文件修改单元504可以包括:第一修改子单元、第二修改子单元、文件转移子单元和第三修改子单元。
[0168]所述第一修改子单元,用于修改所述目标磁盘的MBR文件中主引导扇区对应的分区表项的结束标识字,使得修改后的结束标识字对应的磁盘空间大小等于所述期望值。
[0169]所述第二修改子单元,用于修改所述目标磁盘的$Boot文件中主引导扇区包括的分区数目,使得修改后的主引导扇区包括的分区数目对应的磁盘空间大小等于所述期望值。
[0170]所述文件转移子单元,用于将所述修改后的$Boot文件备份到所述目标磁盘的最后一个分区中。
[0171]第三修改子单元,用于修改所述修改后的$Boot文件的元数据。
[0172]另外,本发明实施例还提供一种虚拟化资源管理器VRM,所述VRM可以包括前述各实施例所述的扩展虚拟机磁盘空间的装置。
[0173]另外,本发明实施例该提供一种虚拟机系统,所述系统可以包括:如前述实施例所述的虚拟化资源管理器VRM、至少一台虚拟化主机以及存储资源池;其中,每台所述虚拟化主机可以虚拟得到至少一个虚拟机VM。
[0174]所述VRM在所述存储资源池中为每个虚拟化主机虚拟得到的每个VM均分配一一对应的存储磁盘,并由所述VRM实现对整个集群中所有的虚拟化主机虚拟得到的VM以及存储资源池的统一管理。
[0175]本发明实施例所述的虚拟化系统中,当需要对某个虚拟机的磁盘空间进行扩展时,直接由所述VRM为该虚拟机申请期望大小的目标磁盘,并由所述VRM直接调用磁盘扩展工具对所述目标磁盘的相关文件进行修改,由此即可实现对虚拟机的磁盘空间的扩展。由此可见,本发明实施例所述方法简便易操作,且不需要用户亲自进行文件修改操作,其可实施性较高,易于实现。
[0176]本领
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1