本发明属于电数字数据处理,涉及一种分布式存储数据重映射方法。
背景技术:
1、目前主流的存储技术分为三类,即文件存储、块存储与对象存储。文件存储便于访问与共享,但读写效率低;块存储读写效率高,但不便于访问,通常与数据库系统绑定;对象存储兼具前两者的优点,但不够灵活且成本较高。
2、目前主流云平台通常采用块或对象存储ceph分布式技术(如图1所示),以block或object的方式分布式存储数据,提供元数据服务。该技术能够替代传统的文件系统,能有效利用网络带宽,发挥多服务器协同效应,提升数据读写效率。该技术通常将文件分割为对象,根据对象名采用hash算法得出pg(placement group)归置组,再根据crush算法将pgid以pool池组的方式将多个副本映射到不同的osd(object storage device)上,如图2所示。这种实现方式本质上是根据osd的权重,按抽签的方式决定数据在数据盘中的分布,虽然存储效率高,但不够灵活,且缺少实时监测调整优化的手段,在硬件更换时经常出现数据副本重同步周期过长的问题。该问题是个概率事件,缺少人为调控的手段。在物理环境复杂,硬件维护频繁的场景下,导致无法准确评估作业时长,其根本原因是将数据副本重同步的操作全部集中,由于数据总体容量限制或在硬件变更时执行,导致同步周期过长,占用较多硬件资源。
3、在海拔范围大,温差变化显著,气压波动明显的物理存储环境中,一方面由于环境中单位体积中气体分子数量变少时存储介质的散热性能下降,另一方面因绝缘强度变低,从而降低了电子设备的爬电距离,导致绝缘性能下降。因此,在这样的环境中,存储设备使用周期变短,必然导致频繁的硬件更换,经常分布式存储数据重新同步。结合前文所述,采用现有存储技术进行同步则必然导致时间冗长,效率低下。
技术实现思路
1、为解决上述问题,本发明在对象存储技术基础上优化设计了一个垂直与水平相结合的条带映射方法,可以灵活地根据数据盘与缓存盘的配置调节参数,用于云平台的存储服务nabafs可有效缩短数据迁移及恢复时间。本发明方案适用于频繁扩缩容及维护的云计算场景,尤其适用于海拔范围大,温差变化显著,气压波动明显的物理存储环境。
2、为达到上述目的,本发明的技术方案如下:
3、一种分布式存储数据重映射方法,包括如下步骤:
4、缓存盘配置:节点内的每个硬盘上以轮循方式连续写入nabadev分区,并在固态盘上分配读缓存;根据数据盘和缓存盘的配置设置水平条带化模式和垂直条带化模式,对数据进行条带化;
5、数据重定位:从现有副本重建新的数据副本,对象管理器将成员放到不包含成员副本的可用磁盘上;群集内添加新磁盘替换故障磁盘;
6、数据重构:根据计算出的条带集和副本数量构建新树;在数据从旧树重建到新树的过程中,新树被标记为陈旧树;当新树完成重建后被标记为最新,删除旧树。
7、进一步的,所述水平条带化包括:对数据进行条带化,将数据分解成若干个条带,每个条带包含一个单位数据量,若干条带组合形成条带集,将每个条带集进行镜像,形成成员,成员具有成员id和存储uuid,将成员写入到整个群集的磁盘和节点。
8、进一步的,所述垂直条带化包括:将数据在节点间进行镜像,然后在每个节点内的磁盘间进行条带化。
9、进一步的,当单个节点包含多个固态硬盘时,nabaintent log写缓存和读取缓存都将创建大小相等的分区。
10、进一步的,在数据重定位时,在添加新磁盘之前,被重建的新的数据副本先被放到其他磁盘上,在添加新磁盘后新的数据副本被移至新磁盘上。
11、进一步的,还包括如下步骤:持续监控节点和磁盘的容量使用情况,当节点或数据盘偏离集群内节点或数据盘占用资源的平均值足够大时自动迁移数据,恢复集群中所有节点和磁盘的平衡。
12、进一步的,还包括如下步骤:当监控到数据不均衡时,如果各节点间不均衡则按水平条带模式重构;当节点内磁盘间负荷不均衡时采用垂直条带模式重构,或者水平条带和垂直模式混合重构。
13、本发明的有益效果为:
14、本发明专门针对数据重建的过程,进行算法优化设计,可以充分发挥缓存ssd硬盘的读写性能,缩短数据重建的时长。并可以根据数据盘和缓存盘的具体配置,灵活设置水平条带或垂直条带模式,在高可用性与性能之间作权衡,更准确控制单硬盘或多硬盘替换的作业时长。本发明可以实时监测数据分布,并针对性地创建重构的任务,缩短硬件数量变更时的数据重建时长。
1.一种分布式存储数据重映射方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的分布式存储数据重映射方法,其特征在于,所述水平条带化包括:对数据进行条带化,将数据分解成若干个条带,每个条带包含一个单位数据量,若干条带组合形成条带集,将每个条带集进行镜像,形成成员,成员具有成员id和存储uuid,将成员到整个群集的磁盘和节点。
3.根据权利要求1所述的分布式存储数据重映射方法,其特征在于,所述垂直条带化包括:将数据在节点间进行镜像,然后在每个节点内的磁盘间进行条带化。
4.根据权利要求1所述的分布式存储数据重映射方法,其特征在于,当单个节点包含多个固态硬盘时,nabaintent log写缓存和读取缓存都将创建大小相等的分区。
5.根据权利要求1所述的分布式存储数据重映射方法,其特征在于,还包括如下步骤:持续监控节点和磁盘的容量使用情况,当节点或数据盘偏离集群内节点或数据盘占用资源的平均值足够大时自动迁移数据,恢复集群中所有节点和磁盘的平衡。
6.根据权利要求1或5所述的分布式存储数据重映射方法,其特征在于,还包括如下步骤:当监控到数据不均衡时,如果各节点间不均衡则按水平条带模式重构;当节点内磁盘间负荷不均衡时采用垂直条带模式重构,或者水平条带和垂直模式混合重构。