掌桥专利:专业的专利平台
掌桥专利
首页

一种基于国产双控磁盘阵列的数据分区的NFS共享加速方法

文献发布时间:2024-04-18 19:58:21


一种基于国产双控磁盘阵列的数据分区的NFS共享加速方法

技术领域

本发明属于国产非X86架构CPU技术领域,具体涉及一种基于国产双控磁盘阵列的数据分区的NFS共享加速方法。

背景技术

随着国产非X86架构CPU技术的发展,国内越来越多的双控磁盘阵列设备选用此类CPU作为存储控制器的核心,由于此类CPU内部没有集成异或运算指令集,且单核心运算性能远低于主流商用X86平台CPU,在使用由低价格、大容量但写入速度较低的NL-SAS磁盘组建的RAID5存储池,通过NFS协议共享此存储池建立的文件系统,当生产业务系统利用该存储空间时,如果业务对写性能有较高的需求,通常会导致业务系统产生明显的“卡顿”现象。通常技术人员会开启NFS协议的异步写功能,异步写模式是数据可直接向内存提交,不需要等待数据同步到磁盘,因此速度较快,生产业务系统写入的数据会先刷入到磁盘阵列的内存中,但当磁盘阵列异常断电后,如内存的数据没有及时下刷到磁盘中,极有可能会造成部分数据丢失或者文件系统损坏。如全部使用工业级固态SASSSD硬盘,整套设备成本极高,且当前工业级SASSSD硬盘容量远低于NL-SAS磁盘。同时技术人员为了减少设备异常掉电造成的数据丢失隐患,会缩短内存数据下刷时间,但依然会存在数据丢失的风险。

因此,如何在充分利用NL-SAS磁盘的高存储容量、低成本等优点的同时,整合工业级固态SASSSD硬盘的高性能、低延迟等特性,以达到NFS共享存储最佳性能,是以国产非X86架构CPU为核心的磁盘阵列一个亟待解决的问题。

发明内容

(一)要解决的技术问题

本发明要解决的技术问题是:如何设计一种基于国产双控磁盘阵列的数据分区的NFS共享加速方法,用以解决现有使用国产非X86架构CPU的磁盘阵列,在建立RAID5级别数据存储池后,再将使用此存储池建立的文件系统通过NFS协议共享到客户端,遇到具有高I/O需求的业务系统,在写入数据时会产生“卡顿”的问题。

(二)技术方案

为了解决上述技术问题,本发明提供了一种基于国产双控磁盘阵列的数据分区的NFS共享加速方法,包括以下步骤:

步骤1、使用多块NL-SAS磁盘组成RAID5级别数据存储池,构成大容量数据存储区;

步骤2、使用2块SAS-SSD硬盘组成RAID1级别数据存储池,构成高速数据交换区;

步骤3、创建数据分区逻辑卷:根据大容量数据存储区的可用容量创建数据分区逻辑卷,设置数据分区逻辑卷的容量大小;

步骤4、创建文件系统:将数据分区逻辑卷格式化为文件系统;

步骤5、NFS协议共享:将所述文件系统通过NFS协议共享给客户端,客户端的业务可以使用该文件系统。

优选地,步骤3在创建数据分区逻辑卷过程中采用的数据分区策略包括如下基础策略:

①数据写:业务数据通过NFS协议写入时,首先将写入的数据存放在高速数据交换区;

②数据读:业务数据读取时直接访问大容量数据存储区寻找数据。

优选地,步骤3在创建数据分区逻辑卷过程中采用的数据分区策略包括如下数据下刷策略:

高速数据交换区的数据异步下刷到大容量数据存储区,已经下刷到大容量数据存储区的数据不在高速数据交换区保留;

清除高速数据交换区中已同步到大容量数据存储区的数据的操作称为数据逐出,通过执行数据逐出操作,释放高速数据交换区上已同步到大容量数据存储区的数据所占用的空间,以便存储新的写操作的数据。

优选地,步骤3在创建数据分区逻辑卷过程中采用的数据分区策略包括如下数据写入特殊策略:当高速数据交换区已用容量达到一定阈值后,数据写入时绕过高速数据交换区,直接写入到大容量数据存储区,高速数据交换区的数据持续执行数据下刷策略,当高速数据交换区使用率低于所述阈值时,数据才再次写入到高速数据交换区。

优选地,步骤3在创建数据分区逻辑卷过程中采用的数据分区策略包括如下高速数据交换区容量自增策略:

当检测到每天高速数据交换区≥10次触发阈值,触发高速数据交换区自动扩容,扩容流程如下:首先检查用两块SASSSD组建的RAID1级别数据存储池的剩余空间,如果有一定的剩余空间,则首先将高速数据交换区的剩余有效数据全部下刷到大容量数据存储区,同时业务新写入数据也绕过高速数据交换区,直接落入大容量数据存储区,当检测到高速数据交换区有效数据下刷完毕后,则解除高速数据交换区与大容量数据存储区的映射关系,并对高速数据交换区进行容量翻倍扩容,扩容完毕后恢复映射关系,继续对外共享服务。

优选地,步骤3在创建数据分区逻辑卷过程中采用的数据分区策略包括如下设备关机策略:在国产双控磁盘阵列关机之前,下刷高速数据交换区中的数据到大容量数据存储区,并安全暂停对外共享服务。

优选地,步骤3在创建数据分区逻辑卷过程中采用的数据分区策略包括如下设备异常掉电策略:当设备异常掉电前,如果高速数据交换区的数据还未完全刷入到大容量数据存储区,在下次开机后,将所有尚未写入大容量数据存储区的数据按照写入顺序写入大容量数据存储区。

优选地,步骤3中,默认使用高速数据交换区容量为大容量数据存储区容量的五十分之一。

优选地,文件系统包括ext4,xfs,btrfs共享文件系统。

优选地,步骤2中,使用2块工业级2TBSAS-SSD硬盘组成RAID1级别数据存储池。

(三)有益效果

本发明的方法针对国产非X86架构CPU为核心的磁盘阵列建立RAID5后通过NFS协议共享后写性能低下的问题,使用高速SASSSD组成高速数据交换区作为共享文件系统的高速写入区,配合低速NL-SAS磁盘组成的大量容数据存储区,结合数据分区策略达到对NFS协议写性能进行加速。

附图说明

图1为本发明中的双控磁盘阵列框架简图;

图2为本发明的方法流程图;

图3为本发明中设置的两种级别存储池示意图;

图4为本发明的数据分区策略中基础策略示意图;

图5为本发明的数据分区策略中数据下刷策略示意图;

图6为本发明的数据分区策略中数据写入特殊策略示意图;

图7为本发明的数据分区策略中高速数据交换区容量自增策略示意图。

具体实施方式

为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

本发明提出一种基于国产双控磁盘阵列的数据分区的NFS共享加速方法,从而利用数据分区存储提升NFS协议共享存储的数据写速度。

所谓国产双控磁盘阵列是指磁盘阵列具有两个控制器,且控制器使用国产非x86架构为核心的CPU。

所谓数据分区是指将国产双控磁盘阵列的存储系统通过NFS协议共享的文件系统分为两个区,高速数据交换区和大容量数据存储区,高速数据交换区由2块高性能SASSSD组成,大容量数据存储区由若干块低价大容量NL-SAS磁盘组成。

所谓NFS是一种标准的文件共享协议,使客户端可以通过NFS协议访问到存储系统共享的文件系统。

所谓共享加速是指通过数据分区策略实现对NFS共享进行整体加速,从而提升了业务系统数据的写入效率。

本发明实施例提供一种基于国产双控磁盘阵列的数据分区的NFS共享加速方法,用以解决现有使用国产非X86架构CPU的磁盘阵列,在建立RAID5级别数据存储池后,再将使用此存储池建立的文件系统通过NFS协议共享到客户端,遇到具有高I/O需求的业务系统,在写入数据时会产生“卡顿”的问题。

本发明中双控磁盘阵列体系架构如图1所示,双控磁盘阵列具有两个控制器DC1,DC2,控制器使用国产非x86架构为核心的CPU,通过硬盘背板连接硬盘组,本实例硬盘组内包括两种SAS接口硬盘。

SAS接口硬盘在本发明中主要涉及以下两种:

1、NL-SAS磁盘,单盘容量在10TB以上,单盘速度在200MB/s左右,价格较低,使用多块(N>3)组成RAID5级别数据存储池,构成大容量数据存储区。

注:RAID5是一种最广泛应用的磁盘阵列配置,因为它在提供数据冗余和容错能力时可以使用较少的磁盘,从而实现更高的储存效率。RAID5使用分布式奇偶校验的方式,在不同磁盘上分布存储校验数据,通过仅使用一块额外的磁盘来提供数据的冗余。相比于其他RAID配置如RAID10,在相同数量的磁盘上可以存储更多的有效数据。

2、工业级SASSSD硬盘,单盘容量在4TB以下,单盘速度在1200MB/s左右,价格较贵,使用两块组成RAID1级别数据存储池,构成高速数据交换区。

参考图2,在本发明中,在以国产非X86架构CPU为核心的磁盘阵列上使用若干NL-SAS磁盘组成RAID5级别数据存储池,构成大容量数据存储区;使用两块SASSSD硬盘组成RAID1级别数据存储池,构成高速数据交换区;再建立数据分区逻辑卷;进一步建立文件系统;再通过NFS协议将文件系统共享给客户端的业务使用。

参考图3,本发明具体设置流程如下:

1、使用18块16TBNL-SAS磁盘(本发明不限定NL-SAS磁盘数量),组成RAID5级别数据存储池,构成大容量数据存储区;

2、使用2块工业级2TBSAS-SSD硬盘,组成RAID1级别数据存储池,构成高速数据交换区;

3、创建数据分区逻辑卷:可以根据大容量数据存储区的可用容量创建数据分区逻辑卷,用户可以设置数据分区逻辑卷的容量大小,默认使用高速数据交换区容量为大容量数据存储区容量的五十分之一。

4、创建文件系统:将数据分区逻辑卷格式化为文件系统,文件系统包括ext4,xfs,btrfs等(共享)文件系统。

5、NFS协议共享:将所述文件系统通过NFS协议共享给客户端,客户端的业务可以使用该文件系统。

本发明采用的数据分区策略如下:

由于RAID5在数据写入的过程中要进行大量的XOR运算,但此类CPU(国产非X86架构CPU)内部没有集成XOR运算指令集,且单核性能远低于主流商用X86平台CPU,故写入速度较慢,因此数据写入需要加速。而RAID5在数据读取的过程中,不涉及XOR运算,速度几乎可以达到RAID5所有成员盘的累加,故不需要数据读取加速。

1.基础策略,如图4所示

①数据写:业务数据通过NFS协议写入时,首先将写入的数据存放在高速数据交换区。

②数据读:由于数据读取不需要再进行加速,故业务数据读取时直接访问大容量数据存储区寻找数据。

2.数据下刷策略,如图5所示

高速数据交换区的数据会异步下刷到大容量数据存储区,已经下刷到大容量数据存储区的数据不在高速数据交换区保留(本发明中数据以64K大小的块为单位进行下刷)。

清除高速数据交换区中已同步到大容量数据存储区的数据的操作称为数据逐出。通过执行数据逐出操作,可以释放高速数据交换区上已同步到大容量数据存储区的数据所占用的空间,以便存储新的写操作的数据。

3.数据写入特殊策略,如图6所示

当高速数据交换区已用容量达到90%的阈值后(阈值可设置),数据写入时会绕过高速数据交换区,直接写入到大容量数据存储区,高速数据交换区的数据持续执行数据下刷策略,当高速数据交换区使用率低于所述阈值时,数据才会再次写入到高速数据交换区。

4.高速数据交换区容量自增策略,如图7所示

当检测到每天高速数据交换区≥10次触发阈值,会触发高速数据交换区自动扩容,扩容流程如下:

首先检查用两块SASSSD组建的RAID1级别数据存储池的剩余空间,如果有足够剩余空间,则首先将高速数据交换区的剩余有效数据全部下刷到大容量数据存储区,同时业务新写入数据也绕过高速数据交换区,直接落入大容量数据存储区,当检测到高速数据交换区有效数据下刷完毕后,则解除高速数据交换区与大容量数据存储区的映射关系,并对高速数据交换区进行容量翻倍扩容,扩容完毕后恢复映射关系,继续对外提供服务。

5.设备关机策略

在设备(国产双控磁盘阵列)关机之前,需要下刷高速数据交换区中的数据到大容量数据存储区,并安全暂停对外共享服务。

6.设备异常掉电策略

当设备异常掉电前,如果高速数据交换区的数据还未完全刷入到大容量数据存储区,在下次开机后,会将所有尚未写入大容量数据存储区的数据按照写入顺序写入大容量数据存储区,以确保数据的一致性和完整性。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 一种双控磁盘阵列共享文件系统
  • 一种双控磁盘阵列的自动精简配置同步方法
  • 一种基于SAS双控设备的数据库故障切换方法及设备
  • 一种基于区块链的数据共享系统及数据共享方法
  • 基于多控磁盘阵列NFS共享的智能调度方法
  • 一种双控磁盘阵列间的磁盘数据传输方法与装置
技术分类

06120116483211