虚拟机映像的存储方法、管理方法、存储管理装置及系统与流程

文档序号:11294161阅读:240来源:国知局
虚拟机映像的存储方法、管理方法、存储管理装置及系统与流程
本发明涉及计算机技术领域,尤其涉及一种基于分布式键-值型数据库虚拟机映像的存储方法、管理方法、存储管理装置及系统。

背景技术:
虚拟机(VirtualMachine,VM)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在虚拟机上运行所面对的不是实际的物理硬件设备,实际物理设备的实现对虚拟机来说是透明的,可以用不同的方法为虚拟机提供虚拟硬件环境。其中,宿主机可访问一个或若干个文件,作为虚拟机运行所需的虚拟硬盘,这种虚拟硬盘称为虚拟机映像(VirtualMachineImage,VMI)。虚拟机映像管理技术包含两方面的内容,一是映像的存储技术,二是映像的组织管理技术。虚拟机映像载体为一个大文件,虚拟机映像存储技术本质上是文件存储技术。虚拟机映像的组织管理技术则针对虚拟机映像的特点,记录维护其相关的特殊属性,诸如所属用户、文件类型,所拥有的权限等。在虚拟机映像存储技术方面有很多方法,比如构建全局存储系统,或是采用数据库系统等。但是,专业的全局存储系统构建不灵活,通常需要专业人士进行部署并维护,并不是针对虚拟机映像存储专门设计的。而虚拟机映像通常较大,也不太适合存储在传统的关系型数据库中。还有一种方法是将大文件分块存储在分布式的服务器上,设置一定的文件冗余,同时维护分块元数据信息,便于利用元数据重组虚拟机映像。但是,将文件切块设置冗余并维护元数据的方式不利于存储系统的动态扩减容,增加或去除存储节点或元数据存储节点都会对系统带来巨大的冲击。在虚拟机映像组织管理技术方面一般采用数据库来维护虚拟机映像的相关信息,通过操作数据库,结合虚拟机映像存储来共同完成对虚拟机映像的管理。无论采用分块存储和元数据服务器的存储方案,还是采用集中数据库管理的方案都有可用性差、容错性不高的缺陷。上述方法都存在单一故障点。元数据服务器或者数据库服务器的失效都会造成整个系统失效。授权公告号为CN101419535B的中国专利提供了一种为虚拟机提供分布式存储的系统。但该系统不是针对上述问题的,而是为了满足虚拟机存储的某些特殊需求。因此如何灵活构建虚拟机映像存储管理系统,同时提高可用性和容错性,成为本领域技术人员亟待解决的问题。

技术实现要素:
本发明所要解决的技术问题是要解决虚拟机映像存储管理系统的灵活构建、高可用和高容错问题。为了解决上述问题,一种基于分布式键-值型数据库的虚拟机映像存储方法,包括:为各虚拟机映像分配唯一的识别码;将各虚拟机映像分别存储于所述分布式键-值型数据库为其分配的存储桶中,所述存储桶以所述虚拟机映像的识别码命名。可选的,所述存储方法还包括:将所有虚拟机映像的元数据集中存储于所述分布式键-值型数据库中的元数据桶内,所述元数据桶通过命名与所述存储桶相区分。可选的,所述元数据以键-值的形式存储于所述元数据桶内,所述键为各虚拟机映像的属性识别码,所述值为各虚拟机映像元数据中所述属性的值。可选的,所述将各虚拟机映像分别存储于存储桶中,包括:为各虚拟机映像分别分配以所述虚拟机映像的识别码命名的存储桶;将各虚拟机映像分为多个固定粒度的文件块,为每个文件块生成一个位置偏移量;向所述分布式键-值型数据库发出上传请求;请求获响应后,将所述文件块以键-值的形式依次上传至所述存储桶中,所述键为位置偏移量,所述值为文件块所存储的数据内容。可选的,所述存储方法还包括:获得各虚拟机映像的元数据;找到分布式键-值型数据库中的元数据桶,根据获得的元数据对桶内元数据进行更新。可选的,所述文件块的分块粒度能调整。本发明还提供了一种基于分布式键-值型数据库的虚拟机映像管理方法,所述虚拟机映像以上述存储方法存储于所述分布式键-值型数据库中,所述管理方法接收来自虚拟机的操作请求;根据操作请求中的识别码,在所述分布式键-值型数据库中找到相应的存储桶;对存储桶内的数据进行相应操作。可选的,所述虚拟机映像管理方法还包括:接收来自虚拟机的元数据操作请求;在所述分布式键-值型数据库中找到元数据桶;根据元数据操作请求,对元数据桶内的元数据进行相应操作。可选的,所述元数据操作请求为查询请求时,所述相应操作包括:在元数据桶内,基于键-值的简单查找实现按字段匹配查询;对匹配上述值中对应的字段求交集,获得查询结果。可选的,所述操作请求为下载请求时,所述相应操作包括:获取所述存储桶中所有的键,并按键值进行排序;向所述分布式键-值型数据库发出下载请求;请求获响应后,按照排序后的键,找到对应的值,并下载其中存储的数据内容;将下载的数据内容在本地按序写入,完成所述虚拟机映像的重组。可选的,所述操作请求为删除请求时,所述相应操作包括:删除所述存储桶。可选的,所述操作请求为删除请求时,所述相应操作还包括:删除所述分布式键-值型数据库中元数据桶内该虚拟机映像的元数据。本发明还提供了一种虚拟机映像存储管理装置,包括:分配单元,用于在分布式键-值型数据库中为虚拟机映像分配存储桶;映像存储单元,用于将虚拟机映像存储于所述存储桶中。可选的,所述虚拟机映像存储管理装置还包括:元数据存储单元,用于将所有虚拟机映像的元数据集中存储于所述分布式键-值型数据库中的元数据桶内。可选的,所述虚拟机映像存储管理装置还包括:查询单元,用于根据虚拟机的查询请求,实现查询;下载单元,用于根据虚拟机的下载请求,下载虚拟机映像;删除单元,用于根据虚拟机的删除请求,删除虚拟机映像。可选的,所述映像存储单元还包括分块粒度设定单元,用于设定文件块的分块粒度。可选的,所述映像存储单元和/或下载单元还包括报警单元,所述报警单元用于在完成存储和/或下载后,将本地的文件块数量和分布式键-值型数据库中的文件块数量进行比较,当两者不相同时,发出报警。本发明还提供了一种基于分布式键-值型数据库的虚拟机映像存储管理系统,包括分布式键-值型数据库系统、虚拟机、虚拟机映像存储管理装置;所述虚拟机映像存储管理装置为上述虚拟机映像存储管理装置。可选的,所述虚拟机映像存储管理装置与所述虚拟机之间具有网络数据通道。与现有技术相比,本发明的技术方案具有以下优点:1、本发明摈弃了传统的集中式存储系统,而采用分布式键-值型数据存储。分布式键-值型数据存储是分布式、无中心节点的,其存储的是数据值的原始格式,不识别任何数据结构,几乎可以处理所有的数据类型。相比传统的集中式存储系统,本发明的存储系统具有高可用性及良好容错性的优点。2、本发明为每一个虚拟机映像分配独立的存储桶(bucket),任两个虚拟机映像之间不会相互影响,使得存储系统的构建更灵活。3、可选方案中,将虚拟机映像的数据内容与元数据分开存储。在进行查询时,仅在元数据中进行按字段匹配,然后再对匹配的字段求交...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1