一种分布式系统数据加载方法以及装置
技术领域
本发明涉及云计算领域,具体涉及一种分布式系统数据加载方法。本发明同时涉及一种分布式系统数据加载装置,以及一种计算机可读取存储介质。
背景技术
云计算(英文名称cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态的、易扩展的虚拟化资源。该模式只需投入很少的管理工作,或与服务供应商进行很少的交互,以进入可配置的计算资源共享池(所述计算资源包括网络、服务器、存储、应用软件、服务等),使得所述资源能够被快速提供。现阶段,各种云计算的应用服务范围正日渐扩大,影响力也无可估量。
弹性计算是云计算中的重要部分,例如,在当今的互联网应用中,业务流量波动非常剧烈,当这些应用运行在云计算平台上时,则对虚拟机(英文简称VM)的需求数量具有非常大的弹性波动,例如,当业务高峰到来的时候,需要在短时间内启动大量VM。
在短时间内启动大量VM,就需要并发完成对大量虚拟磁盘的创建,需在短时间内从镜像中心加载大量的磁盘镜像到块设备存储集群,这将对块设备存储集群(英文简称EBS),镜像中心(英文名称Image center)都构成巨大的压力;同时,VM启动过程中的输入/输出延迟(英文名称IO latency)会大幅地提高,产生大量的毛刺,从而对VM的运行产生巨大干扰。
发明内容
本发明提供一种分布式系统数据加载方法,以解决现有的云计算平台中的业务流量波动对块设备存储集群和镜像中心构成巨大的压力、以及对VM的运行产生巨大干扰的问题。本发明另外提供一种分布式系统数据加载装置以及一种计算机可读取存储介质。
本发明提供一种分布式系统数据加载方法,包括:
从镜像中心将镜像数据下载到块设备存储集群并建立本地镜像数据快照;所述镜像数据为虚拟机磁盘所需要的数据;
将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘。
优选的,所述从镜像中心将镜像数据下载到块设备存储集群,采用延迟加载的方式实现,所述延迟加载的方式可同步实现镜像数据的下载与镜像数据的读取。
优选的,所述延迟加载采用专门设立的延迟加载服务器线程实现,所述延迟加载服务器线程与虚拟机的输入/输出过程相分离。
可选的,所述延迟加载服务器线程为多个,并采用分布式并行方式,实现所述从镜像中心将镜像数据下载到块设备存储集群。
可选的,所述虚拟机磁盘需要使用的数据若还没有下载完成,则通过所述延迟加载服务器线程从所述镜像中心读取。
可选的,在所述延迟加载完成之后,若需创立新的虚拟机磁盘,则直接通过所述本地镜像数据快照获得虚拟机磁盘所需要的镜像数据。
可选的,所述通过所述本地镜像数据快照获得虚拟机磁盘所需要的镜像数据,以分布式文件系统的硬链接方式实现。
优选的,所述将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘,采用如下方式实现:
在所述本地镜像数据快照和需要被提供数据的虚拟机磁盘之间,以分布式文件系统的硬链接方式关联所需要的镜像数据。
优选的,所述硬链接过程中被引用文件的物理索引采用日志式文件的形式。
优选的,根据所述日志式文件被硬链接的次数调整所述日志式文件的副本数量。
可选的,所述以分布式文件系统的硬链接方式关联所需要的镜像数据的过程中,所述虚拟机磁盘以磁盘段的形式存在,所述本地镜像数据快照以镜像段的形式存在;所述在所述本地镜像数据快照和需要被提供数据的虚拟机磁盘之间,以分布式文件系统的硬链接方式关联所需要的镜像数据,包括:将所述镜像段的文件硬链接至磁盘段的文件。
可选的,所述磁盘段的文件包括:索引文件、数据文件和交易文件;对应的,所述镜像段的文件包括:索引文件、数据文件和交易文件。
可选的,所述镜像段的容量小于所述磁盘段的容量。
可选的,所述磁盘段通过其对应的块管理器线程进行管理。
本发明还提供一种分布式系统数据加载装置,包括:
镜像数据下载单元,用于从镜像中心将镜像数据下载到块设备存储集群并建立本地镜像数据快照;所述镜像数据为虚拟机磁盘所需要的数据;;
本地镜像数据快照提供单元,用于将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘。
优选的,所述从镜像中心将镜像数据下载到块设备存储集群,采用延迟加载的方式实现,所述延迟加载的方式可同步实现镜像数据的下载与虚拟机磁盘的建立。
优选的,所述延迟加载采用专门设立的延迟加载服务器线程实现,所述延迟加载服务器线程与虚拟机的输入/输出过程相分离。
优选的,所述将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘,采用如下方式实现:
在所述本地镜像数据快照和需要被提供数据的虚拟机磁盘之间,以分布式文件系统的硬链接方式关联所需要的镜像数据。
优选的,所述硬链接过程中被引用文件的物理索引采用日志式文件的形式。
优选的,根据所述日志式文件被硬链接的次数调整所述日志式文件的副本数量。
本发明还提供一种计算机可读取存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
从镜像中心将镜像数据下载到块设备存储集群并建立本地镜像数据快照;所述镜像数据为虚拟机磁盘所需要的数据;
将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘。
与现有技术相比,本发明具有以下优点:
本申请所提供的分布式系统数据加载方法,首先从镜像中心将镜像数据下载到块设备存储集群并建立本地镜像数据快照;所述镜像数据为虚拟机磁盘所需要的数据;然后将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘。采用本方法,通过预先将镜像数据进行下载以形成本地镜像数据快照,在后续创建虚拟机的过程中可直接将所述本地镜像数据快照作为镜像数据提供给待创建的虚拟机磁盘,无需将镜像数据对应于虚拟机磁盘的数量而进行多次下载,减少镜像数据的下载时间,节省下载资源,可避免业务流量波动对块设备存储集群和镜像中心构成巨大的压力。
进一步的,所述将虚拟磁盘所需要的镜像数据提供给所述块设备存储集群中的虚拟磁盘,采用分布式文件系统的硬链接方式关联所述镜像数据,可实现镜像数据的实时分享,避免拷贝镜像数据所带来的资源消耗;所述硬链接过程中被引用文件的物理索引采用日志式文件的形式,且根据所述日志式文件被硬链接的次数调整所述日志式文件的副本数量,可有效减少副本数量,提高虚拟机磁盘和镜像数据的可读性能、增加数据的可用性、以及节省存储空间。
进一步的,所述从镜像中心将镜像数据下载到块设备存储集群,采用延迟加载的方式实现,可同步实现镜像数据的下载与镜像数据的读取,提高镜像数据的利用效率;所述延迟加载采用专门设立的延迟加载服务器线程实现,可使得所述延迟加载独立完成,无需依赖虚拟机的输入/输出操作,可避免虚拟机启动过程中的输入/输出延迟的大幅提高,可有效减少资源消耗,从而避免对虚拟机的运行产生巨大干扰。
附图说明
图1是本申请第一实施例提供的方法流程图;
图2是本申请第一实施例提供的云计算架构图;
图3是本申请第一实施例提供的镜像数据到虚拟磁盘的加载示意图;
图4是本申请第一实施例提供的镜像数据和虚拟磁盘基于日志文件的构造图;
图5是本申请第一实施例提供的将所述镜像段的文件硬链接至磁盘段的相应文件的示意图;
图6是本申请第一实施例提供的磁盘段的示意图;
图7是本申请第一实施例提供的在磁盘段中写入数据的实现方式图;
图8是本申请第一实施例提供的日志文件的多副本方式示意图;
图9是本申请第二实施例提供的装置示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
本申请提供一种分布式系统数据加载方法、一种分布式系统数据加载装置,以下提供实施例进行详细说明。
本申请第一实施例提供一种分布式系统数据加载方法,该方法主要适用于存储与计算分离的云计算构架中,尤其适用于同时启动大量虚拟机而建立大量虚拟机磁盘的过程。
请参考图1理解该实施例,图1为本申请第一实施例的流程示意图,如图1所述,所述分布式系统数据加载方法包括如下步骤:
S101,从镜像中心将镜像数据下载到块设备存储集群并建立本地镜像数据快照;所述镜像数据为虚拟机磁盘所需要的数据。
本申请所提供的分布式系统数据加载方法,其主要适用于存储与计算分离的云计算架构中,所述云计算架构如图2所示,图2是本实施例提供的云计算架构图。所述云计算构架包含块设备存储集群、镜像中心存储集群以及计算集群,本申请所提供的分布式系统数据加载方法基于块设备存储集群与镜像中心存储集群之间的镜像数据的供应过程。
本步骤的作用在于从镜像中心将创建虚拟机磁盘时所需要的镜像数据下载至块设备存储集群,以形成本地镜像数据快照,该本地镜像数据快照可作为后续创建虚拟机磁盘时的镜像数据来源。
所述镜像中心指的是在云存储服务中存储有虚拟机的镜像数据的存储集群,其核心作用在于存储磁盘镜像,在创建虚拟机时,为虚拟机提供其所需的磁盘数据,所述磁盘数据为虚拟机磁盘所需要的数据,主要包括虚拟机运行时所需的操作系统和其他数据。
所述块设备存储集群指的是云计算平台方中用于集中存储块设备的存储集群,块设备是输入/输出(IO)设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据,例如硬盘、U盘、SD卡等。本实施例中所述块设备存储集群用于存储虚拟机磁盘。
所述本地镜像数据快照指的是存在于所述块设备存储集群中的已从镜像中心下载的、且可作为后续创建虚拟机磁盘时所需要的磁盘数据的数据来源。
本实施例中,所述从镜像中心将镜像数据下载到块设备存储集群采用延迟加载的方式实现,所述延迟加载(英文名称lazy load)也称懒加载,是关联关系对象默认的加载方式,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作,可用于避免一些无谓的性能开销。本实施例中使用延迟加载的方式可在下载镜像数据的同时对所述镜像数据进行读取,从而提高对所述镜像数据的利用效率。
本实施例中,所述延迟加载采用专门设立的延迟加载服务器线程实现,所述延迟加载服务器线程与虚拟机的输入/输出过程相分离,可使得所述延迟加载独立完成,无需依赖虚拟机的输入/输出操作,可避免虚拟机启动过程中的输入/输出延迟的大幅提高,可有效减少资源消耗,从而避免对虚拟机的运行产生干扰。所述镜像数据由相同大小的镜像块(英文名称为block)组成,每个镜像块按顺序被分配一个块序号(英文名称为BlockIndex),并作为所述延迟加载的单元,镜像块越小,延迟加载的效果也越好。对应的,将所述镜像块加载到虚拟机磁盘中之后,所述虚拟机磁盘由与所述镜像快对应的磁盘块组成,如图3所示,图3为本实施例提供的镜像数据到虚拟机磁盘的加载示意图。
通过所述延迟加载服务器线程进行镜像数据的下载工作,如果所述虚拟机磁盘需要使用的数据还没有下载完成,则通过所述延迟加载服务器线程从所述镜像中心读取。例如,当虚拟机启动且需要读写某个磁盘块时,如果该磁盘块所对应的镜像数据还没有被加载完成,现有技术则需所述虚拟机从镜像中心读取该磁盘块所对应的镜像数据并写入虚拟机磁盘中;而本申请中采用所述延迟加载服务器线程进行镜像数据的加载和读取,如果所述虚拟机磁盘需要使用的镜像数据还没有加载完成,则通过所述延迟加载服务器线程从所述镜像中心读取,该过程无需依赖虚拟机的输入/输出操作,可避免虚拟机启动过程中的输入/输出延迟的大幅提高,可有效减少资源消耗,从而避免对虚拟机的运行产生干扰。
所述延迟加载服务器线程为多个,其采用分布式并行下载方式实现从镜像中心将镜像数据下载到块设备存储集群,该分布式并行下载方式可增加延迟加载的速度。
通过上述方式将镜像中心的磁盘数据对应于虚拟机磁盘进行下载,下载后的磁盘数据在所述磁盘块设备存储集群中形成本地镜像数据快照,以此完成本地镜像数据快照的建立。
S102,将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘。
在上述步骤完成镜像数据的下载并建立所述虚拟机磁盘的本地镜像数据快照之后,本步骤用于将所述本地镜像数据快照作为所述虚拟机磁盘所需要的镜像数据提供给所述块设备存储集群中的虚拟机磁盘,以完成所述虚拟机磁盘对所述镜像数据的输入(英文名称为import)。
所述将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘,其实质为将虚拟机磁盘所需要的镜像数据提供给所述块设备存储集群中的虚拟机磁盘,该过程一般可通过数据拷贝的方式实现,本实施例中,该过程采用如下方式实现:在所述本地镜像数据快照和需要被提供镜像数据的所述块设备存储集群中的虚拟机磁盘之间,以分布式文件系统的硬链接方式关联所需要的镜像数据。
所述分布式文件系统(英文名称为Distributed File System)指的是文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,其可将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络,每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输,在使用所述分布式文件系统时,无需关心数据是存储在哪个节点上、或从哪个节点获取,只需像使用本地文件系统一样管理和存储文件系统中的数据即可。
所述硬链接(英文名称为hard link)指的是一个文件的一个或多个文件名,是把文件名和计算机文件系统使用的节点号链接起来。因此我们可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。一个文件有几个文件名,则该文件的链接数为几,例如,链接数是1的文件表示该文件只有一个文件名,通过硬链接可实现让多个不在或者在同在一个目录下的文件名,能够同时修改同一个文件,其中一个文件名所对应的文件被修改后,所有与其有硬链接关系的文件都可一起被修改。
本实施例中,所述硬链接过程中被引用文件的物理索引(英文名称为inode)采用日志式文件的形式,即被多个文件名链接的文件采用日志式文件的形式,具体为:所述虚拟机磁盘和所述镜像数据都是基于日志式文件的功能进行构造的,多个虚拟机磁盘和镜像数据可通过硬链接技术共享同一个日志式文件,该日志式文件只能追加写,不能覆盖写。所述多个虚拟机磁盘和镜像数据共享同一个日志式文件的过程如图4所示,图4为本实施例提供的镜像数据和虚拟机磁盘基于日志式文件的构造图。
本步骤中,所述以分布式文件系统的硬链接方式关联所需要的镜像数据的过程中,所述虚拟机磁盘以磁盘段的形式存在,即所述虚拟机磁盘被切分成多个磁盘段,对应的,所述本地镜像数据快照以镜像段的形式存在;所述在所述本地镜像数据快照和需要被提供数据的虚拟机磁盘之间,以分布式文件系统的硬链接方式关联所需要的镜像数据的过程实际为:将所述镜像段的文件硬链接至磁盘段的相应文件。该过程如图5所示,图5为本实施例提供的将所述镜像段的文件硬链接至磁盘段的相应文件的示意图。。
本实施例中,所述磁盘段的容量大于所述镜像段的容量,例如,磁盘段容量为32GB,镜像段容量为512MB,可实现将多个镜像段的镜像数据提供给一个磁盘段,以此可增加镜像段的并行下载的速度。
本实施例中,所述磁盘段通过块管理器线程进行管理,每个所述磁盘段均有对应的块管理器线程对其进行管理,以使该过程容易实现负载均衡。所述磁盘段如图6所示,图6为本实施例提供的磁盘段的示意图。
本实施例中,所述磁盘段包括索引文件(英文名称为Index file)、数据文件(英文名称为Data file)和交易文件(英文名称为Txn file),所述索引文件、数据文件以及所述交易文件均为日志式文件,所述数据文件用于存储所述磁盘段的数据,所述索引文件用于记录所述磁盘段的逻辑地址区间和所述数据文件的物理地址区间的对应关系,所述交易文件用于修改所述磁盘段的交易日志;与之对应的,所述镜像段包含同样为日志式文件的索引文件、数据文件和交易文件,其功能与所述磁盘段的各文件的功能相同。所述将所述镜像段的文件硬链接至磁盘段的文件,具体为将镜像段的索引文件和数据文件硬链接到磁盘段的对应文件中。
在所述磁盘段中写入数据的实现方式请参考图7,图7为本实施例提供的在磁盘段中写入数据的实现方式图,如图7所示,在所述磁盘段中写入数据的过程可概括为:在数据文件中写入数据;在交易文件中写入交易日志;更新所述磁盘段的索引图。
本实施例中,将虚拟机磁盘所需要的镜像数据提供给所述块设备存储集群中的虚拟机磁盘的过程为使用硬链接技术,因此会出现某些日志式文件被很多虚拟机磁盘和镜像数据所引用,为了增强这些虚拟机磁盘和镜像数据的可读性能以及数据安全性,本申请根据所述日志式文件被硬链接的次数来调整所述日志式文件的副本数量,如图8所示,图8为本实施例提供的日志式文件的多副本方式示意图。所述副本数量可通过如下公式进行计算:Replica Copy=sqrt(Reference)+Margin;
Replica Copy:日志式文件的数据副本数量;
Reference:日志式文件被硬链接的次数;
Margin:安全保护边界(通常为3)。
例如,一个日志式文件被磁盘段和镜像段硬链接的次数为100次,则通过上述公式计算可得所述日志式文件的数据副本数量为13。现有技术中每个虚拟机磁盘只有3个副本可用,日志式文件被应用100次所需的副本数量为300个。因此,所述日志式文件采用本申请的根据所述日志式文件被硬链接的次数来调整所述日志式文件的副本数量的方式进行设置,可提高虚拟机磁盘和镜像数据的可读性能、增加数据的可用性、以及节省存储空间。
需要说明的是,在所述针对镜像数据的延迟加载完成之后,即已在所述块设备存储集群建立所述本地镜像数据快照后,若后续还需创立新的虚拟机磁盘,则可直接通过所述本地镜像数据快照获得所述虚拟机磁盘所需要的镜像数据即可,无需再进行重复下载操作。所述通过所述本地镜像数据快照获得虚拟机磁盘所需要的镜像数据的过程,以分布式文件系统的硬链接方式实现,通过该方式无需对所述本地镜像数据快照进行数据拷贝即可完成对镜像数据的进行利用。
本实施例所提供的分布式系统数据加载方法,通过预先将镜像数据进行下载以形成本地镜像数据快照,在后续创建虚拟机的过程中可直接将所述本地镜像数据快照作为镜像数据提供给待创建的虚拟机磁盘,无需将镜像数据对应于虚拟机磁盘的数量而进行多次下载,减少镜像数据的下载次数,节省下载资源,可避免业务流量波动对块设备存储集群和镜像中心构成巨大的压力。
采用分布式文件系统的硬链接方式关联所述镜像数据,可实现镜像数据的实时分享,避免拷贝镜像数据所带来的资源消耗;所述硬链接过程中被引用文件的物理索引采用日志式文件的形式,且根据所述日志式文件被硬链接的次数调整所述日志式文件的副本数量,可有效减少副本数量,提高虚拟机磁盘和镜像数据的可读性能、增加数据的可用性、以及节省存储空间。
从镜像中心将镜像数据下载到块设备存储集群,采用延迟加载的方式实现,可同步实现镜像数据的下载与镜像数据的读取,提高镜像数据的利用效率;所述延迟加载采用专门设立的延迟加载服务器线程实现,可使得所述延迟加载独立完成,无需依赖虚拟机的输入/输出操作,可避免虚拟机启动过程中的输入/输出延迟的大幅提高,可有效减少资源消耗,从而避免对虚拟机的运行产生巨大干扰。
在上述第一实施例中,提供了一种分布式系统数据加载方法,与之相对应的,本申请第二实施例还提供了一种分布式系统数据加载装置,下面结合附图进行说明。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。请参考图9理解该实施例,图9为本实施例提供的装置的单元框图,如图9所示,所述装置包括:
镜像数据下载单元201,用于从镜像中心将镜像数据下载到块设备存储集群并建立本地镜像数据快照;所述镜像数据为虚拟机磁盘所需要的数据;
本地镜像数据快照提供单元202,用于将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘。
优选的,所述从镜像中心将镜像数据下载到块设备存储集群,采用延迟加载的方式实现,所述延迟加载的方式可同步实现镜像数据的下载与镜像数据的读取。
优选的,所述延迟加载采用专门设立的延迟加载服务器线程实现,所述延迟加载服务器线程与虚拟机的输入/输出过程相分离。
可选的,所述延迟加载服务器线程为多个,并采用分布式并行方式,实现所述从镜像中心将镜像数据下载到块设备存储集群。
可选的,所述虚拟机磁盘需要使用的数据若还没有下载完成,则通过所述延迟加载服务器线程从所述镜像中心读取。
可选的,在所述延迟加载完成之后,若需创立新的虚拟机磁盘,则直接通过所述本地镜像数据快照获得虚拟机磁盘所需要的镜像数据。
可选的,所述通过所述本地镜像数据快照获得虚拟机磁盘所需要的镜像数据,以分布式文件系统的硬链接方式实现。
优选的,所述将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘,采用如下方式实现:
在所述本地镜像数据快照和需要被提供数据的虚拟机磁盘之间,以分布式文件系统的硬链接方式关联所需要的镜像数据。
优选的,所述硬链接过程中被引用文件的物理索引采用日志式文件的形式。
优选的,根据所述日志式文件被硬链接的次数调整所述日志式文件的副本数量。
可选的,所述以分布式文件系统的硬链接方式关联所需要的镜像数据的过程中,所述虚拟机磁盘以磁盘段的形式存在,所述本地镜像数据快照以镜像段的形式存在;所述在所述本地镜像数据快照和需要被提供数据的虚拟机磁盘之间,以分布式文件系统的硬链接方式关联所需要的镜像数据,包括:将所述镜像段的文件硬链接至磁盘段的文件。
可选的,所述磁盘段的文件包括:索引文件、数据文件和交易文件;对应的,所述镜像段的文件包括:索引文件、数据文件和交易文件。
可选的,所述镜像段的容量小于所述磁盘段的容量。
可选的,所述磁盘段通过其对应的块管理器线程进行管理。
本申请提供的一种计算机可读取存储介质实施例如下:
在上述的实施例中,提供了一种分布式系统数据加载方法,此外,本申请还提供了一种用于实现所述分布式系统数据加载的计算机可读取存储介质。本申请提供的计算机可读取存储介质实施例描述得比较简单,相关的部分请参见上述提供的所述分布式系统数据加载的方法实施例的对应说明即可。下述描述的实施例仅仅是示意性的。
本申请第三实施例提供一种计算机可读取存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
从镜像中心将镜像数据下载到块设备存储集群并建立本地镜像数据快照;所述镜像数据为虚拟机磁盘所需要的数据;
将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘。
优选的,所述从镜像中心将镜像数据下载到块设备存储集群,采用延迟加载的方式实现,所述延迟加载的方式可同步实现镜像数据的下载与镜像数据的读取。
优选的,所述延迟加载采用专门设立的延迟加载服务器线程实现,所述延迟加载服务器线程与虚拟机的输入/输出过程相分离。
可选的,所述延迟加载服务器线程为多个,并采用分布式并行方式,实现所述从镜像中心将镜像数据下载到块设备存储集群。
可选的,所述虚拟机磁盘需要使用的数据若还没有下载完成,则通过所述延迟加载服务器线程从所述镜像中心读取。
可选的,在所述延迟加载完成之后,若需创立新的虚拟机磁盘,则直接通过所述本地镜像数据快照获得虚拟机磁盘所需要的镜像数据。
可选的,所述通过所述本地镜像数据快照获得虚拟机磁盘所需要的镜像数据,以分布式文件系统的硬链接方式实现。
优选的,所述将所述本地镜像数据快照提供给所述块设备存储集群中的虚拟机磁盘,采用如下方式实现:
在所述本地镜像数据快照和需要被提供数据的虚拟机磁盘之间,以分布式文件系统的硬链接方式关联所需要的镜像数据。
优选的,所述硬链接过程中被引用文件的物理索引采用日志式文件的形式。
优选的,根据所述日志式文件被硬链接的次数调整所述日志式文件的副本数量。
可选的,所述以分布式文件系统的硬链接方式关联所需要的镜像数据的过程中,所述虚拟机磁盘以磁盘段的形式存在,所述本地镜像数据快照以镜像段的形式存在;所述在所述本地镜像数据快照和需要被提供数据的虚拟机磁盘之间,以分布式文件系统的硬链接方式关联所需要的镜像数据,包括:将所述镜像段的文件硬链接至磁盘段的文件。
可选的,所述磁盘段的文件包括:索引文件、数据文件和交易文件;对应的,所述镜像段的文件包括:索引文件、数据文件和交易文件。
可选的,所述镜像段的容量小于所述磁盘段的容量。
可选的,所述磁盘段通过其对应的块管理器线程进行管理。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。