一种Openstack中副本数据在ceph中存储方法及装置与流程

文档序号:15932336发布日期:2018-11-14 01:50阅读:209来源:国知局

本发明涉及数据管理技术领域,特别是涉及一种openstack中副本数据在ceph中存储方法、装置、电子设备及存储介质。

背景技术

通常,可以将openstack(一种云计算管理平台)与ceph(一种分布式文件系统)结合起来使用,即可以将openstack业务中需要存储的副本数据存储在ceph中的存储设备中。

openstack中包括多台用于进行业务处理的主机,可以针对待处理的业务,对主机进行划分,将处理同一个业务的主机划分为一个主机集合,该主机集合对应一个zone(区域),也可以将其称为业务区域。

当需要将openstack业务中待存储的数据存储在ceph中的存储设备中时,可以将每个zone相关的存储需要,确定为对应的一个存储业务,并将该存储业务的待存储的数据存储在ceph中的存储设备中。

openstack的每个zone的存储业务中数据,通常以多副本的形式在ceph中进行存储,并将相同的副本数据存放在ceph不同的物理故障域中,其中,物理故障域是人为划分的存储区域,划分物理故障域是为了避免某个存储区域出现故障时,存放在该区域的相同副本数据都会受到影响,因此,将多个相同的副本数据分别存储在不同的物理故障域中。

现有技术中,划分的物理故障域的范围可能较大,可能存在物理故障域中的某个存储设备存储有多个zone的存储业务中的数据。因此,使用现有技术中的这种存储方法,当物理故障域中的一个存储设备发生故障时,可能会影响到多个zone的存储业务。



技术实现要素:

本发明实施例的目的在于提供一种openstack中副本数据在ceph中存储方法、装置、电子设备及存储介质,以实现当物理故障域中的一个存储设备发生故障时,不会影响到openstack中多个zone的存储业务。

具体技术方案如下:

本发明实施例提供了一种openstack中副本数据在ceph中存储方法,所述方法包括:

获取ceph中存储设备集群的拓扑结构,所述存储设备集群包括多个存储设备,所述拓扑结构表示所述存储设备集群的物理故障域的划分情况;

将所述存储设备集群的每个物理故障域均划分为多个虚拟故障子域;

针对openstack中每个业务区域zone的存储业务的待存储副本数据,基于需要存储的副本数据的第一数量,选择所述第一数量个虚拟故障子域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域,且针对不同zone的存储业务所选择的虚拟故障子域均不同;

将所述每个zone的存储业务的待存储副本数据,分别存储于该存储业务对应的每个存储故障域的存储设备中。

可选的,在选择所述第一数量个虚拟故障子域作为存储故障域之前,还包括:

将得到的虚拟故障子域划分为多组虚拟故障子域,且每组虚拟故障子域中的不同虚拟故障子域属于不同物理故障域;

所述选择所述第一数量个虚拟故障子域作为存储故障域,包括:

从所述多组虚拟故障子域中的一组虚拟故障子域中,选择所述第一数量个虚拟故障子域作为存储故障域。

可选的,所述方法还包括:

将ceph中每个物理故障域中未存储副本数据的存储设备确定为待扩容设备;

针对openstack中某个需要扩充容量的zone的存储业务,在该zone的存储业务对应的每个虚拟故障子域中添加至少一个待扩容设备,并将得到的虚拟故障子域作为扩容子域,每个虚拟故障子域中所添加的待扩容设备与该虚拟故障子域属于相同的物理故障域;

将所述需要扩充容量的zone的存储业务的副本数据分别存储于该存储业务对应的每个扩容子域中。

可选的,所述方法还包括:

基于openstack新增的zone的存储业务的业务数量,将每个物理故障域中未存储副本数据的存储设备均划分为所述业务数量个子存储域;

针对每个新增的zone的存储业务的待存储副本数据,基于需要存储的副本数据的第二数量,选择所述第二数量个子存储域作为扩容存储域,所选择的扩容存储域中的不同子存储域属于不同物理故障域,且针对不同新增的zone的存储业务所选择的子存储域均不同;

将所述每个新增的zone的存储业务的待存储副本数据,分别存储于该存储业务对应的每个扩容存储域的存储设备中。

可选的,在选择所述第二数量个子存储域作为扩容存储域之前,还包括:

将得到的子存储域划分为多组子存储域,且每组子存储域中的不同子存储域属于不同物理故障域;

所述选择所述第二数量个子存储域作为扩容存储域,包括:

从所述多组子存储域中的一组子存储域中,选择所述第二数量个子存储域作为扩容存储域。

可选的,所述存储设备中包括多个对象存储单元osd,且所述副本数据均存储于所述存储设备中的osd中。

本发明实施例提供了一种openstack中副本数据在ceph中存储装置,所述装置包括:

拓扑结构获取模块,用于获取ceph中存储设备集群的拓扑结构,所述存储设备集群包括多个存储设备,所述拓扑结构表示所述存储设备集群的物理故障域的划分情况;

故障子域划分模块,用于将所述存储设备集群的每个物理故障域均划分为多个虚拟故障子域;

故障子域选择模块,用于针对openstack中每个业务区域zone的存储业务的待存储副本数据,基于需要存储的副本数据的第一数量,选择所述第一数量个虚拟故障子域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域,且针对不同zone的存储业务所选择的虚拟故障子域均不同;

第一存储模块,用于将所述每个zone的存储业务的待存储副本数据,分别存储于该存储业务对应的每个存储故障域的存储设备中。

可选的,所述装置还包括:

第一分组模块,用于将得到的虚拟故障子域划分为多组虚拟故障子域,且每组虚拟故障子域中的不同虚拟故障子域属于不同物理故障域;

所述故障子域选择模块,具体用于:

从所述多组虚拟故障子域中的一组虚拟故障子域中,选择所述第一数量个虚拟故障子域作为存储故障域。

可选的,所述装置还包括:

待扩容设备确定模块,用于将ceph中每个物理故障域中未存储副本数据的存储设备确定为待扩容设备;

设备添加模块,用于针对openstack中某个需要扩充容量的zone的存储业务,在该zone的存储业务对应的每个虚拟故障子域中添加至少一个待扩容设备,并将得到的虚拟故障子域作为扩容子域,每个虚拟故障子域中所添加的待扩容设备与该虚拟故障子域属于相同的物理故障域;

第二存储模块,用于将所述需要扩充容量的zone的存储业务的副本数据分别存储于该存储业务对应的每个扩容子域中。

可选的,所述装置还包括:

子存储域划分模块,用于基于openstack新增的zone的存储业务的业务数量,将每个物理故障域中未存储副本数据的存储设备均划分为所述业务数量个子存储域;

子存储域选择模块,用于针对每个新增的zone的存储业务的待存储副本数据,基于需要存储的副本数据的第二数量,选择所述第二数量个子存储域作为扩容存储域,所选择的扩容存储域中的不同子存储域属于不同物理故障域,且针对不同新增的zone的存储业务所选择的子存储域均不同;

第三存储模块,用于将所述每个新增的zone的存储业务的待存储副本数据,分别存储于该存储业务对应的每个扩容存储域的存储设备中。

可选的,所述装置还包括:

第二分组模块,用于将得到的子存储域划分为多组子存储域,且每组子存储域中的不同子存储域属于不同物理故障域;

所述子存储域选择模块,具体用于:

从所述多组子存储域中的一组子存储域中,选择所述第二数量个子存储域作为扩容存储域。

可选的,所述存储设备中包括多个osd,且所述副本数据均存储于所述存储设备中的osd中。

本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现上述任一方法步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法步骤。

使用本发明实施例提供的openstack中副本数据在ceph中存储方法,先将ceph中每个物理故障域均划分为多个虚拟故障子域,再为openstack中的每个zone的存储业务选择不同的虚拟故障子域,使得各个zone的存储业务之间互不影响,因此,当物理故障域中的一个存储设备发生故障时,不会影响到openstack中多个zone的存储业务。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的openstack中副本数据在ceph中存储方法的一种流程图;

图2为本发明实施例提供的openstack中副本数据在ceph中存储方法的一种示意图;

图3为本发明实施例提供的openstack中副本数据在ceph中存储方法的另一种示意图;

图4为本发明实施例提供的openstack中副本数据在ceph中存储方法的另一种示意图;

图5为本发明实施例提供的openstack中副本数据在ceph中存储方法的另一种示意图;

图6为本发明实施例提供的openstack中副本数据在ceph中存储装置的一种结构示意图;

图7为本发明实施例提供的电子设备的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

本发明实施例提供了一种openstack中副本数据在ceph中存储方法、装置、电子设备以及存储介质,能够解决现有技术中将openstack中副本数据在ceph中进行存储时,当物理故障域中的一个存储设备发生故障时,可能会影响到多个zone的存储业务的技术问题。

参见图1,图1为本发明实施例提供的openstack中副本数据在ceph中存储方法的一种流程图,可以包括以下步骤:

步骤s101:获取ceph中存储设备集群的拓扑结构,存储设备集群包括多个存储设备,拓扑结构表示存储设备集群的物理故障域的划分情况;

在ceph中,可以将数据副本存储在存储设备中,其中,存储设备可以是具有存储功能的电子设备,或者磁盘等,对此不做限定。在对数据进行存储之前,可以先获取存储设备集群的拓扑结构,可以通过调出crushmap(ceph中层级分布图)来获取存储设备集群的拓扑结构,其中crushmap描述了ceph存储系统的层级结构,例如该存储系统包括多少机架,每个机架上包括多少存储设备,每个存储设备中含有多少osd(objectstoragedevice,对象存储设备)等,其中osd为一种规格较小的实体的硬件存储单元。

在本发明实施例中,所获取的存储设备集群的拓扑结构可以包括物理故障域的划分情况,其中,物理故障域是人为划分的存储区域,划分物理故障域是为了避免某个存储区域出现故障时,存放在该区域的相同副本数据都受到影响,因此通常将相同副本数据存放在不同的物理故障域中。

步骤s102:将存储设备集群的每个物理故障域均划分为多个虚拟故障子域;

在本步骤中,可以通过修改cephrule(ceph中数据存储规则)的方式来修改物理故障域的划分情况,其中,cephrule规定了副本数据存储的限制条件,例如,对于需要存储的三个相同的副本数据,cephrule规定了将该三个副本数据以何种规则存储于三个不同的物理故障域。

在本发明实施例中,可以通过修改cephrule来将存储设备集群的每个物理故障域均划分为多个虚拟故障子域。

步骤s103:针对openstack中每个zone的存储业务的待存储副本数据,基于需要存储的副本数据的第一数量,选择第一数量个虚拟故障子域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域,且针对不同zone的存储业务所选择的虚拟故障子域均不同;

步骤s104:将每个zone的存储业务的待存储副本数据,分别存储于该存储业务对应的每个存储故障域的存储设备中。

在本发明实施例中,将物理故障域划分完成后,即可根据副本数据的数量,选取该副本数量个虚拟故障子域进行副本数据的存储。例如,某个zone的存储业务的副本数量为三,则可以选择三个虚拟故障子域来分别对副本数据进行存储,而所选择的三个虚拟故障子域属于不同的物理故障域,这样可以保证将三个相同的副本数据分别存储于三个不同的物理故障域中。

在本发明实施例中,对于每个不同zone的存储业务,所选择的虚拟故障子域均不同。举例来讲,可以参见图2,图2为本发明实施例提供的openstack中副本数据在ceph中存储方法的一种示意图,图2所示的实施例中,副本数量为三,物理故障域的数目也为三,如图2所示,每一个机架为一个物理故障域,每个物理故障域被划分为三个虚拟故障子域,每个虚拟故障子域中都包含了3个存储设备。则在本发明实施例中,对于不同zone的存储业务,可以选择不同的虚拟故障子域进行数据存储。

在本发明实施例中,假设openstack中有三个zone,每个zone对应于一个存储业务,分别记为业务1,业务2,业务3,对各个业务中的副本数据进行存储时,可以先为其选取不同的虚拟故障子域。例如,可以选择a1,b1,c1来存储业务1中的副本数据,选择a2,b3,c3来存储业务2中的副本数据,选择a3,b2,c2来存储业务3中的副本数据,被选择的虚拟故障子域可以记为存储故障域,用于副本数据的存储。

针对openstack中每一个zone的存储业务所选取的虚拟故障子域属于不同的物理故障域,这样保证每一个zone的存储业务中的相同的副本数据存储在不同的物理故障域中。对于不同zone的存储业务,所选取的虚拟故障子域均为不同的,这样各个zone的存储业务的副本数据均存储在各自的虚拟故障子域中,各个zone的存储业务之间互不影响,如果某个虚拟故障子域中的某个存储设备发生故障,也只会影响该虚拟故障子域对应的zone的存储业务,不会影响其他zone的存储业务。

可见,使用本发明实施例提供的openstack中副本数据在ceph中存储方法,能够将存储设备集群的每个物理故障域均划分为多个虚拟故障子域,再针对每个zone的存储业务,选择出与副本数量相同的虚拟故障子域,且针对每个zone的存储业务所选择的虚拟故障子域均是不同的,再将每个zone的存储业务的副本数据存储于该存储业务对应的虚拟故障子域中,这样就可以保证不同zone的存储业务的副本数据均存放在不同的虚拟故障子域中,因此,当某个虚拟故障子域中的某个存储设备发生故障时,不会影响到多个zone的存储业务。

在本发明实施例中,在选择第一数量个虚拟故障子域作为存储故障域之前,还可以包括:

将得到的虚拟故障子域划分为多组虚拟故障子域,且每组虚拟故障子域中的不同虚拟故障子域属于不同物理故障域;

选择第一数量个虚拟故障子域作为存储故障域,包括:

从多组虚拟故障子域中的一组虚拟故障子域中,选择第一数量个虚拟故障子域作为存储故障域。

下面结合图3进行说明,参见图3,图3为本发明实施例提供的openstack中副本数据在ceph中存储方法的另一种示意图,图3所示的实施例中,每个机架为一个物理故障域,共有4个物理故障域,分别为机架a,机架b,机架c,机架d,可以将每个物理故障域均划分为多个虚拟故障子域,可以如图3所示的a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3。

可以在物理故障域划分完成后,将所得到的虚拟故障子域进行分组,且每组虚拟故障子域中的不同虚拟故障子域属于不同物理故障域。例如,可以将a1,b1,c1,d1分为一组虚拟故障子域,将a2,b3,c3分为一组虚拟故障子域,将a3,b2,c2,d3分为另一组虚拟故障子域,每组中包含的虚拟故障子域的数目可以大于或者等于副本数量。

确定出分组后,对于每个zone的存储业务,可以从多组虚拟故障子域中选择一组用于存储副本数据,由于被选择的一组虚拟故障子域中包含的故障域的数量可能会大于副本数量,因此,可以在被选择的一组虚拟故障子域中,选择副本数量个虚拟故障子域,将zone的存储业务的副本数据分别存储于该副本数量个虚拟故障子域中。例如,对于某个zone的业务1,若选择了a3,b2,c2,d3这一组虚拟故障子域,而该业务副本数量为三,则可以从该组虚拟故障子域中选择a3,b2,c2,用于副本数据的存储。

对于每个zone的存储业务,所选择的虚拟故障子域均不同,可以保证不同zone的存储业务的副本数据均存放在不同的虚拟故障子域中,因此,当某个虚拟故障子域中的某个存储设备发生故障时,不会影响到多个zone的存储业务。

在实际应用中,openstack中的某个zone的存储业务中需要存储的数据可能会增加,因此需要对该存储业务进行扩充容量,扩充容量时需要引入新的存储设备。在现有的数据存储方式中,当引入新的存储设备后,多个zone的存储业务的副本数据要重新分配,也就是会造成数据迁移,因此,某个zone的存储业务进行扩容时候,会影响到其他zone的存储业务。

在本发明实施例中,如果openstack中某个zone的存储业务需要扩充容量时,可以将当前未存储数据的存储设备引入该zone的存储业务所对应的各个虚拟故障子域中。

具体的,可以参见图4,图4为本发明实施例提供的openstack中副本数据在ceph中存储方法的另一种示意图,图4所示的实施例中,有三个机架,分别为机架1,机架2,机架3,其中每个机架都是一个物理故障域,openstack中有三个zone的存储业务,其中每个zone的存储业务中的副本数据均分别存储于上述三个机架中的存储设备上。参见图4,每个机架中都包含至少一个未存储副本数据的存储设备,可以将这些未存储副本数据的存储设备确定为待扩容设备。

如图4所示,假设zone1的存储业务需要扩充容量,则可以在zone1的存储业务对应的每个虚拟故障子域中添加至少一个待扩容设备,例如,可以将未存储副本数据的存储设备a,b,c分别添加至zone1的存储业务对应的虚拟故障子域a,b,c中。其中,存储设备a与虚拟故障子域a属于相同的物理故障域,也即机架1;存储设备b与虚拟故障子域b属于相同的物理故障域,也即机架2;存储设备c与虚拟故障子域c属于相同的物理故障域,也即机架3;在添加完成后,可以将所得到的虚拟故障子域作为扩容子域。

在本发明实施例中,可以将需要扩充容量的zone1的存储业务的副本数据分别存储于该存储业务对应的每个扩容子域中。

可见,使用本发明实施例提供的openstack中副本数据在ceph中存储方法,当openstack中某个zone的存储业务需要扩充容量时,可以将各个物理故障域中的未存储副本数据的存储设备分别添加到该存储业务对应的各个虚拟故障子域中,可以得到多个扩容子域,再将该zone的存储业务中的副本数据分别存储于这些扩容子域中,会造成该zone的存储业务中的副本数据重新分配,但不会影响到其他zone的存储业务。

在本发明实施例中,当openstack中有新增的zone的存储业务时,可以基于新增的需要存储副本数据的新存储业务的业务数量,将每个物理故障域中未存储副本数据的存储设备均划分为业务数量个子存储域;

针对每个新存储业务的待存储副本数据,基于需要存储的副本数据的第二数量,选择第二数量个子存储域作为扩容存储域,所选择的扩容存储域中的不同子存储域属于不同物理故障域,且针对不同新存储业务所选择的子存储域均不同;

将每个新存储业务的待存储副本数据,分别存储于该新存储业务对应的每个扩容存储域的存储设备中。

可以参见图5进行说明,图5为本发明实施例提供的openstack中副本数据在ceph中存储方法的另一种示意图,图5所示的实施例中,每个机架为一个物理故障域,共有3个物理故障域,分别为机架a,机架b,机架c,其中虚拟故障子域a1,a2,b1,b2,c1,c2已经现有zone的存储业务所用,若在此基础上新增加两个zone的存储业务,则可以针对每个新存储业务的待存储副本数据,基于该副本数据的副本数量,选择该数量个子存储域作为扩容存储域。

可以参见图5,图5中把每个物理故障域中未存储副本数据的存储设备均划分为了两个子存储域,分别为a1,a2,b1,b2,c1,c2,d1,d2,则对于新增加的zone的存储业务,可以从中选择副本数量个子存储域,对于每个zone的存储业务所选择的子存储域属于不同的物理故障域,对于不同zone的存储业务所选择的子存储域均不同。随后可以将待存储的副本数据存储于所选择的子存储域中。

在本发明实施例中,在选择第二数量个子存储域作为扩容存储域之前,还可以包括:

将得到的子存储域划分为多组子存储域,且每组子存储域中的不同子存储域属于不同物理故障域;

选择第二数量个子存储域作为扩容存储域,包括:

从多组子存储域中的一组子存储域中,选择第二数量个子存储域作为扩容存储域。

由于对于新增加的zone的存储业务选择子存储域的过程与上文中的对存储业务选择虚拟故障子域的过程基本相同,可以参见上述实施例,在此不做赘述。

可见,使用本发明实施例提供的openstack中副本数据在ceph中存储方法,如果需要新增加zone的存储业务,可以将该ceph存储系统中未存储副本数据的存储设备划分为子存储域,对于每个新zone的存储业务,选择副本数量个子存储域用于副本数据的存储,且针对不同zone的存储业务所选择的子存储域均不相同,因此,新增加的zone的存储业务也互不影响,若某个存储设备发生故障,也只会影响到一个存储业务。且由于新增加的zone的存储业务没有占用原有存储业务已经使用的存储设备,因此不会造成数据迁移,即不需要对数据进行重新分配,也就不会影响到原有的存储业务。

在本发明实施例中,可以将副本数据存储于每个存储设备中的osd中,每个存储设备都可以包括多个osd,其中osd是一种实体的硬件存储单元。

参见图6,图6为本发明实施例提供的openstack中副本数据在ceph中存储装置的一种结构示意图,可以包括:

拓扑结构获取模块601,用于获取ceph中存储设备集群的拓扑结构,存储设备集群包括多个存储设备,拓扑结构表示存储设备集群的物理故障域的划分情况;

故障子域划分模块602,用于将存储设备集群的每个物理故障域均划分为多个虚拟故障子域;

故障子域选择模块603,用于针对openstack中每个业务区域zone的存储业务的待存储副本数据,基于需要存储的副本数据的第一数量,选择第一数量个虚拟故障子域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域,且针对不同zone的存储业务所选择的虚拟故障子域均不同;

第一存储模块604,用于将每个zone的存储业务的待存储副本数据,分别存储于该存储业务对应的每个存储故障域的存储设备中。

本发明实施例中,在图6所示的openstack中副本数据在ceph中存储装置的基础上,还可以包括:

第一分组模块,用于将得到的虚拟故障子域划分为多组虚拟故障子域,且每组虚拟故障子域中的不同虚拟故障子域属于不同物理故障域;

故障子域选择模块,具体用于:

从多组虚拟故障子域中的一组虚拟故障子域中,选择第一数量个虚拟故障子域作为存储故障域。

本发明实施例中,在图6所示的openstack中副本数据在ceph中存储装置的基础上,还可以包括:

待扩容设备确定模块,用于将ceph中每个物理故障域中未存储副本数据的存储设备确定为待扩容设备;

设备添加模块,用于针对openstack中某个需要扩充容量的zone的存储业务,在该zone的存储业务对应的每个虚拟故障子域中添加至少一个待扩容设备,并将得到的虚拟故障子域作为扩容子域,每个虚拟故障子域中所添加的待扩容设备与该虚拟故障子域属于相同的物理故障域;

第二存储模块,用于将需要扩充容量的zone的存储业务的副本数据分别存储于该存储业务对应的每个扩容子域中。

本发明实施例中,在图6所示的openstack中副本数据在ceph中存储装置的基础上,还可以包括:

子存储域划分模块,用于基于openstack新增的zone的存储业务的业务数量,将每个物理故障域中未存储副本数据的存储设备均划分为业务数量个子存储域;

子存储域选择模块,用于针对每个新增的zone的存储业务的待存储副本数据,基于需要存储的副本数据的第二数量,选择第二数量个子存储域作为扩容存储域,所选择的扩容存储域中的不同子存储域属于不同物理故障域,且针对不同新增的zone的存储业务所选择的子存储域均不同;

第三存储模块,用于将每个新增的zone的存储业务的待存储副本数据,分别存储于该存储业务对应的每个扩容存储域的存储设备中。

第二分组模块,用于将得到的子存储域划分为多组子存储域,且每组子存储域中的不同子存储域属于不同物理故障域;

子存储域选择模块,具体用于:

从多组子存储域中的一组子存储域中,选择第二数量个子存储域作为扩容存储域。

在本发明实施例中,存储设备中包括多个对象存储单元osd,且副本数据均存储于存储设备中的osd中。

可见,使用本发明实施例提供的openstack中副本数据在ceph中存储装置,如果需要新增加zone的存储业务,可以将该ceph存储系统中未存储副本数据的存储设备划分为子存储域,对于每个新zone的存储业务,选择副本数量个子存储域用于副本数据的存储,且针对不同zone的存储业务所选择的子存储域均不相同,因此,新增加的zone的存储业务也互不影响,若某个存储设备发生故障,也只会影响到一个存储业务。且由于新增加的zone的存储业务没有占用原有存储业务已经使用的存储设备,因此不会造成数据迁移,即不需要对数据进行重新分配,也就不会影响到原有的存储业务。

本发明实施例公开了一种电子设备,如图7所示。包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,

存储器703,用于存放计算机程序;

处理器701,用于执行存储器703上所存放的程序时,实现上述任一方法步骤。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1