CN116204137A - 基于dpu的分布式存储***、控制方法、装置及设备 - Google Patents
基于dpu的分布式存储***、控制方法、装置及设备 Download PDFInfo
- Publication number
- CN116204137A CN116204137A CN202310486663.8A CN202310486663A CN116204137A CN 116204137 A CN116204137 A CN 116204137A CN 202310486663 A CN202310486663 A CN 202310486663A CN 116204137 A CN116204137 A CN 116204137A
- Authority
- CN
- China
- Prior art keywords
- disk
- equipment
- node
- dpu
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013507 mapping Methods 0.000 claims abstract description 47
- 238000005516 engineering process Methods 0.000 claims description 34
- 238000012937 correction Methods 0.000 claims description 24
- 230000000977 initiatory effect Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 5
- 239000003999 initiator Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种基于DPU的分布式存储***、控制方法、装置及设备,该***包括:多个设备节点,所述设备节点包括若干个磁盘设备及DPU;针对任一所述设备节点,该设备节点基于所述DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。上述方案提供的***,通过使用DPU完成远端磁盘的本地映射,使分布式存储***的应用不再受限于网络资源,从而保证了分布式存储***的性能和稳定性。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种基于DPU的分布式存储***、控制方法、装置及设备。
背景技术
分布式存储***是将数据分散存储在多***立的设备上,利用这多***立的设备分担存储负荷,这样不仅能够提高存储***的容量,还易于***扩展。
在现有技术中,分布式存储***对应的多***立的设备一般依赖设备自带的网卡实现互联,而网卡的网络资源有限,导致分布式存储***的应用受限于网络资源,从而无法保证分布式存储***的性能和稳定性。
发明内容
本申请提供一种基于DPU的分布式存储***、控制方法、装置及设备,以解决现有技术无法保证分布式存储***的性能和稳定性等缺陷。
本申请第一个方面提供一种基于DPU的分布式存储***,包括:多个设备节点,所述设备节点包括若干个磁盘设备及DPU;
针对任一所述设备节点,该设备节点基于所述DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。
可选的,所述DPU,具体用于:
将所述设备节点的本地磁盘设备配置为目标端;
其中,所述DPU自身配置为发起端,所述目标端与发起端之间设有通信连接。
可选的,所述DPU,具体用于:
根据所述本地磁盘设备的设备类型,确定目标配置策略;
按照所述目标配置策略,将所述本地磁盘设备配置为目标端。
可选的,所述本地磁盘设备的设备类型至少分为非NVMe设备及NVMe设备。
可选的,所述DPU,具体用于:
当所述本地磁盘设备的设备类型为非NVMe设备时,将采用SPDK iSCSI target技术作为目标配置策略。
可选的,所述DPU,具体用于:
当所述本地磁盘设备的设备类型为NVMe设备时,将采用NVMe-oF协议作为目标配置策略。
可选的,所述DPU,具体用于:
采用NVMe-oF协议,将所述本地磁盘设备配置为块设备;其中,所述目标端包括所述块设备。
可选的,所述***还包括分布式数据库,所述设备节点还包括:管理设备;
所述管理设备用于获取本地磁盘设备的属性信息;将所述本地磁盘设备的属性信息,记录至所述分布式数据库。
可选的,所述本地磁盘设备的属性信息至少包括设备类型,所述管理设备,用于:
根据所述本地磁盘设备的设备类型,对本地磁盘设备进行分组,得到对应的磁盘设备分组信息;
将所述磁盘设备分组信息,记录至所述分布式数据库。
可选的,所述管理设备,还用于:
获取所属设备节点的磁盘分配元数据信息及资源元数据信息;
将所述磁盘分配元数据信息及资源元数据信息,记录至所述分布式数据库。
可选的,所述设备节点分为主设备节点和备设备节点。
可选的,所述主设备节点包括主管理设备,所述主管理设备,用于:
获取所述主设备节点的磁盘设备映射信息;
根据所述磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个副本组;
其中,所述副本组至少包括两个磁盘设备,副本组内的磁盘设备属于不同的两个故障域。
可选的,所述主管理设备,还用于:
在向任一所述副本组写入数据时,基于RAID1技术,将数据写入该副本组内的两个磁盘设备。
可选的,所述主管理设备,还用于:
在向多个所述副本组写入数据时,基于RAIDO技术,将数据分段并行写入多个所述副本组的各磁盘设备。
可选的,所述主设备节点包括主管理设备,所述主管理设备,用于:
获取所述主设备节点的磁盘设备映射信息;
根据所述磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个纠删组;
其中,所述纠删组至少包括三个磁盘设备,所述纠删组内的磁盘设备分为数据位磁盘设备和校验位磁盘设备,所述纠删组内的磁盘设备属于不同的三个故障域。
可选的,所述主管理设备,还用于:
在向任一所述纠删组写入数据时,基于RAID5技术,将数据分段写入该纠删组的各个数据位磁盘设备,将分段数据对应的校验码写入校验位磁盘设备。
可选的,所述主管理设备,还用于:
当该纠删组内任一数据位磁盘设备发生破损时,基于所述纠删组中正常的数据位磁盘设备当前存储的分段数据及校验位磁盘设备当前存储的校验码,恢复破损的数据位磁盘设备中的分段数据。
可选的,所述备设备节点包括:预留热备盘,所述主管理设备,还用于:
当所述主设备节点中任一磁盘设备发生故障时,将发生故障的磁盘设备替换为所述预留热备盘。
可选的,所述***还包括分布式数据库,所述主管理设备,还用于:
将所述主设备节点的磁盘设备组合策略,记录至所述分布式数据库。
本申请第二个方面提供一种基于DPU的分布式存储***控制方法,应用于如上第一个方面以及第一个方面各种可能的设计所述的基于DPU的分布式存储***,所述方法包括:
针对任一所述设备节点,控制该设备节点基于所述DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。
可选的,所述基于DPU的分布式存储***包括分布式数据库,所述分布式数据库记录有各所述设备节点的磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,所述方法还包括:
当所述基于DPU的分布式存储***发生重启时,所述分布式数据库记录的各所述设备节点的磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,复原所述基于DPU的分布式存储***。
可选的,所述控制该设备节点基于所述DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地,包括:
控制所述DPU,将所述设备节点的本地磁盘设备配置为目标端;
其中,所述DPU自身配置为发起端,所述目标端与发起端之间设有通信连接。
可选的,所述控制所述DPU,将所述设备节点的本地磁盘设备配置为目标端,包括:
控制所述DPU根据所述本地磁盘设备的设备类型,确定目标配置策略;
按照所述目标配置策略,将所述本地磁盘设备配置为目标端。
可选的,所述本地磁盘设备的设备类型至少分为非NVMe设备及NVMe设备。
可选的,所述控制所述DPU根据所述本地磁盘设备的设备类型,确定目标配置策略,包括:
当所述本地磁盘设备的设备类型为非NVMe设备时,控制所述DPU将采用SPDKiSCSI target技术作为目标配置策略。
可选的,所述控制所述DPU根据所述本地磁盘设备的设备类型,确定目标配置策略,包括:
当所述本地磁盘设备的设备类型为NVMe设备时,控制所述DPU将采用NVMe-oF协议作为目标配置策略。
可选的,所述当所述本地磁盘设备的设备类型为NVMe设备时,控制所述DPU将采用NVMe-oF协议作为目标配置策略,包括:
控制所述DPU采用NVMe-oF协议,将所述本地磁盘设备配置为块设备;其中,所述目标端包括所述块设备。
可选的,所述***还包括分布式数据库,所述设备节点还包括:管理设备,所述方法,还包括:
基于所述管理设备获取本地磁盘设备的属性信息;将所述本地磁盘设备的属性信息,记录至所述分布式数据库。
可选的,所述本地磁盘设备的属性信息至少包括设备类型,所述方法,还包括:
基于所述管理设备根据所述本地磁盘设备的设备类型,对本地磁盘设备进行分组,得到对应的磁盘设备分组信息;
将所述磁盘设备分组信息,记录至所述分布式数据库。
可选的,所述方法,还包括:
基于所述管理设备获取所属设备节点的磁盘分配元数据信息及资源元数据信息;
将所述磁盘分配元数据信息及资源元数据信息,记录至所述分布式数据库。
可选的,所述设备节点分为主设备节点和备设备节点。
可选的,所述主设备节点包括主管理设备,所述方法,还包括:
基于所述主管理设备获取所述主设备节点的磁盘设备映射信息;
根据所述磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个副本组;
其中,所述副本组至少包括两个磁盘设备,副本组内的磁盘设备属于不同的两个故障域。
可选的,所述方法,还包括:
在向任一所述副本组写入数据时,控制所述主管理设备基于RAID1技术,将数据写入该副本组内的两个磁盘设备。
可选的,所述方法,还包括:
在向多个所述副本组写入数据时,控制所述主管理设备基于RAIDO技术,将数据分段并行写入多个所述副本组的各磁盘设备。
可选的,所述主设备节点包括主管理设备,所述方法,还包括:
基于所述主管理设备获取所述主设备节点的磁盘设备映射信息;
根据所述磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个纠删组;
其中,所述纠删组至少包括三个磁盘设备,所述纠删组内的磁盘设备分为数据位磁盘设备和校验位磁盘设备,所述纠删组内的磁盘设备属于不同的三个故障域。
可选的,所述方法,还包括:
在向任一所述纠删组写入数据时,控制所述主管理设备基于RAID5技术,将数据分段写入该纠删组的各个数据位磁盘设备,将分段数据对应的校验码写入校验位磁盘设备。
可选的,所述方法,还包括:
当该纠删组内任一数据位磁盘设备发生破损时,控制所述主管理设备基于所述纠删组中正常的数据位磁盘设备当前存储的分段数据及校验位磁盘设备当前存储的校验码,恢复破损的数据位磁盘设备中的分段数据。
可选的,所述备设备节点包括:预留热备盘,所述方法,还包括:
当所述主设备节点中任一磁盘设备发生故障时,基于所述主管理设备将发生故障的磁盘设备替换为所述预留热备盘。
可选的,所述***还包括分布式数据库,所述方法,还包括:
基于所述主管理设备将所述主设备节点的磁盘设备组合策略,记录至所述分布式数据库。
本申请第三个方面提供一种基于DPU的分布式存储***控制装置,应用于如上第一个方面以及第一个方面各种可能的设计所述的基于DPU的分布式存储***,所述装置包括:
控制模块,用于针对任一所述设备节点,控制该设备节点基于所述DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。
可选的,所述基于DPU的分布式存储***包括分布式数据库,所述分布式数据库记录有各所述设备节点的磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,所述装置还包括:
复原模块,用于当所述基于DPU的分布式存储***发生重启时,所述分布式数据库记录的各所述设备节点的磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,复原所述基于DPU的分布式存储***。
可选的,所述控制模块,具体用于:
控制所述DPU,将所述设备节点的本地磁盘设备配置为目标端;
其中,所述DPU自身配置为发起端,所述目标端与发起端之间设有通信连接。
可选的,所述控制模块,具体用于:
控制所述DPU根据所述本地磁盘设备的设备类型,确定目标配置策略;
按照所述目标配置策略,将所述本地磁盘设备配置为目标端。
可选的,所述本地磁盘设备的设备类型至少分为非NVMe设备及NVMe设备。
可选的,所述控制模块,具体用于:
当所述本地磁盘设备的设备类型为非NVMe设备时,控制所述DPU将采用SPDKiSCSI target技术作为目标配置策略。
可选的,所述控制模块,具体用于:
当所述本地磁盘设备的设备类型为NVMe设备时,控制所述DPU将采用NVMe-oF协议作为目标配置策略。
可选的,所述控制模块,具体用于:
控制所述DPU采用NVMe-oF协议,将所述本地磁盘设备配置为块设备;其中,所述目标端包括所述块设备。
可选的,所述***还包括分布式数据库,所述设备节点还包括:管理设备,所述控制模块,还用于:
基于所述管理设备获取本地磁盘设备的属性信息;将所述本地磁盘设备的属性信息,记录至所述分布式数据库。
可选的,所述本地磁盘设备的属性信息至少包括设备类型,所述控制模块,还用于:
基于所述管理设备根据所述本地磁盘设备的设备类型,对本地磁盘设备进行分组,得到对应的磁盘设备分组信息;
将所述磁盘设备分组信息,记录至所述分布式数据库。
可选的,所述控制模块,还用于:
基于所述管理设备获取所属设备节点的磁盘分配元数据信息及资源元数据信息;
将所述磁盘分配元数据信息及资源元数据信息,记录至所述分布式数据库。
可选的,所述设备节点分为主设备节点和备设备节点。
可选的,所述主设备节点包括主管理设备,所述控制模块,还用于:
基于所述主管理设备获取所述主设备节点的磁盘设备映射信息;
根据所述磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个副本组;
其中,所述副本组至少包括两个磁盘设备,副本组内的磁盘设备属于不同的两个故障域。
可选的,所述控制模块,还用于:
在向任一所述副本组写入数据时,控制所述主管理设备基于RAID1技术,将数据写入该副本组内的两个磁盘设备。
可选的,所述控制模块,还用于:
在向多个所述副本组写入数据时,控制所述主管理设备基于RAIDO技术,将数据分段并行写入多个所述副本组的各磁盘设备。
可选的,所述主设备节点包括主管理设备,所述控制模块,还用于:
基于所述主管理设备获取所述主设备节点的磁盘设备映射信息;
根据所述磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个纠删组;
其中,所述纠删组至少包括三个磁盘设备,所述纠删组内的磁盘设备分为数据位磁盘设备和校验位磁盘设备,所述纠删组内的磁盘设备属于不同的三个故障域。
可选的,所述控制模块,还用于:
在向任一所述纠删组写入数据时,控制所述主管理设备基于RAID5技术,将数据分段写入该纠删组的各个数据位磁盘设备,将分段数据对应的校验码写入校验位磁盘设备。
可选的,所述控制模块,还用于:
当该纠删组内任一数据位磁盘设备发生破损时,控制所述主管理设备基于所述纠删组中正常的数据位磁盘设备当前存储的分段数据及校验位磁盘设备当前存储的校验码,恢复破损的数据位磁盘设备中的分段数据。
可选的,所述备设备节点包括:预留热备盘,所述控制模块,还用于:
当所述主设备节点中任一磁盘设备发生故障时,基于所述主管理设备将发生故障的磁盘设备替换为所述预留热备盘。
可选的,所述***还包括分布式数据库,所述控制模块,还用于:
基于所述主管理设备将所述主设备节点的磁盘设备组合策略,记录至所述分布式数据库。
本申请第四个方面提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第二个方面以及第二个方面各种可能的设计所述的方法。
本申请第五个方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第二个方面以及第二个方面各种可能的设计所述的方法。
本申请技术方案,具有如下优点:
本申请提供一种基于DPU的分布式存储***、控制方法、装置及设备,该***包括:多个设备节点,所述设备节点包括若干个磁盘设备及DPU;针对任一所述设备节点,该设备节点基于所述DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。上述方案提供的***,通过使用DPU完成远端磁盘的本地映射,使分布式存储***的应用不再受限于网络资源,从而保证了分布式存储***的性能和稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于DPU的分布式存储***的结构示意图;
图2为本申请实施例提供的另一种基于DPU的分布式存储***的结构示意图;
图3为本申请实施例提供的再一种基于DPU的分布式存储***的结构示意图;
图4为本申请实施例提供的一种示例性的主设备节点的副本组结构示意图;
图5为本申请实施例提供的另一种示例性的主设备节点的副本组结构示意图;
图6为本申请实施例提供的示例性的主设备节点的纠删组结构示意图;
图7为本申请实施例提供的基于DPU的分布式存储***控制方法的流程示意图;
图8为本申请实施例提供的基于DPU的分布式存储***控制装置的结构示意图;
图9为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请所涉及的名词进行解释:
DPU:数据中心处理器(Data Processing Unit,简称:DPU),采用软件定义技术路线支撑基础设施层资源虚拟化,支持存储、安全、服务质量管理等基础设施服务。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在现有技术中,分布式存储***对应的多***立的设备一般依赖网卡实现互联,使分布式存储***的应用受限于网络资源,从而无法保证分布式存储***的性能和稳定性。且基于网络与资源访问模型下的分布式存储***在受限于网络与资源访问模型导致设计必须考虑基于网络协同的方案设计。
针对上述问题,本申请实施例提供的基于DPU的分布式存储***、控制方法、装置及设备,包括:多个设备节点,设备节点包括若干个磁盘设备及DPU;针对任一设备节点,该设备节点基于DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。上述方案提供的***,通过使用DPU完成远端磁盘的本地映射,使分布式存储***的应用不再受限于网络资源,从而保证了分布式存储***的性能和稳定性。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明实施例进行描述。
本申请实施例提供了一种基于DPU的分布式存储***,用于使分布式存储***中的设备节点实现远端磁盘的本地映射,使分布式存储***的应用不再受限于网络资源。
如图1所示,为本申请实施例提供的一种基于DPU的分布式存储***的结构示意图,该基于DPU的分布式存储***包括:多个设备节点,设备节点包括若干个磁盘设备及DPU。
其中,针对任一设备节点,该设备节点基于DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。
需要说明的是,DPU是以数据为中心构造的专用处理器,它采用软件定义技术路线支撑基础设施层资源虚拟化,支持存储、安全、服务质量管理等基础设施层服务。同时,它也可以成为分布式存储***的新入口,可以将分布式的存储资源的远程访问实现本地化。同时,作为独立的处理单元,新硬件的出现于协议都可以集成在DPU中以实现对CPU的透明处理,尤其对于异构计算,通过DPU可以扮演承接各种互连协议控制器的角色,在可开发性和性能方面达到一个更优的平衡点。
具体地,在一实施例中,DPU还可以用于扩充设备节点的计算资源,具体可以将分布式软件部署在DPU,以使设备节点可以基于DPU运行分布式软件,以充分利用DPU的计算资源。
具体地,在一实施例中,DPU具体可以将设备节点的本地磁盘设备配置为目标端;其中,DPU自身配置为发起端,目标端与发起端之间设有通信连接。
其中,目标端也称为Target,发起端也称为Initiator。
具体地,各设备节点的本地磁盘设备通过DPU作为Target提供出来,同时本地的将DPU作为Initiator连接其他设备节点提供的Target服务,以将其他设备节点的磁盘设备映射至本地。
具体地,在一实施例中,可以根据本地磁盘设备的设备类型,确定目标配置策略;按照目标配置策略,将本地磁盘设备配置为目标端。
其中,本地磁盘设备的设备类型至少分为非NVMe设备及NVMe设备,NVMe设备具体为非易失性磁盘设备。
具体地,由于不同类型的磁盘设备的通信协议不同,为适应不同类型的磁盘设备,可以为各类型的磁盘设备制定针对性的目标配置策略,以保证能顺利将其配置为目标端。
具体地,在一实施例中,DPU具体可以当本地磁盘设备的设备类型为非NVMe设备时,将采用SPDK iSCSI target技术作为目标配置策略。
具体地,若磁盘设备为非NVMe设备,则使用SPDK iSCSI target实现,即将Node-A节点上的非NVMe磁盘通过DPU作为SPDK iSCSI的target服务,由Node-B节点的DPU作为Initiator连接到target,并透传给Node-B节点,则Node-A节点上的磁盘设备以本地磁盘的方式存在Node-B节点。
相应地,在一实施例中,DPU具体可以当本地磁盘设备的设备类型为NVMe设备时,将采用NVMe-oF协议作为目标配置策略。
具体地,在一实施例中,DPU具体可以采用NVMe-oF协议,将本地磁盘设备配置为块设备;其中,目标端包括块设备。
具体地,若磁盘设备为NVMe设备,则使用NVMe-oF协议,即将Node-A节点上的NVMe设备通过DPU作为bdev设备(块设备),由Node-B节点的DPU通过NVMe-oF协议连接该bdev设备,由DPU将该bdev设备透传给Node-B节点。
在上述实施例的基础上,为了进一步保证分布式存储***的稳定性,作为一种可实施的方式,在一实施例中,该***还包括分布式数据库,设备节点还包括:管理设备。
其中,管理设备用于获取本地磁盘设备的属性信息;将本地磁盘设备的属性信息,记录至分布式数据库。
具体地,在一实施例中,本地磁盘设备的属性信息至少包括设备类型,管理设备,用于根据本地磁盘设备的设备类型,对本地磁盘设备进行分组,得到对应的磁盘设备分组信息;将磁盘设备分组信息,记录至分布式数据库。
具体地,每次设备节点本地都存在一个磁盘集合,通过定义磁盘组将磁盘进行逻辑分组,简单的可以将其分为一组;磁盘组内的磁盘具备某些相同属性,如按设备类型进行分组,NVMe设备为同一组,SSD设备为同一组,SATA为同一组等,同时也支持手动分组;磁盘组划分完成后,磁盘设备分组信息将会被记录在分布式数据库中,用于节点重启后的磁盘组重构等操作与集群内分组信息的同步。
具体地,在一实施例中,管理设备还用于获取所属设备节点的磁盘分配元数据信息及资源元数据信息;将磁盘分配元数据信息及资源元数据信息,记录至分布式数据库。
其中,磁盘分配元数据信息至少包括磁盘设备类型和磁盘设备空间大小等,资源元数据信息至少包括存储格式、目录和资源大小等,其中存储格式至少包括文件存储、对象存储和块存储。
具体地,通过将磁盘分配元数据信息及资源元数据信息,记录至分布式数据库,当分布式存储***发生重启时,可以基于分布式数据库共享的磁盘分配元数据信息及资源元数据信息实现***重构。
其中,如图2所示,为本申请实施例提供的另一种基于DPU的分布式存储***的结构示意图,该分布式存储***包括三个设备节点,分别为Node-A、Node-B和Node-C,节点间通过DPU互联组成分布式集群,通过分布式数据库服务完成节点间消息的同步和任务分发。如图3所示,为本申请实施例提供的再一种基于DPU的分布式存储***的结构示意图,各设备节点基于DPU将其他设备节点上的磁盘设备映射至本地,即任意设备节点都将拥有所有设备节点磁盘设备,结合分布式数据库中的信息,任意节点都将拥有集群磁盘信息的全局视图。
在上述实施例的基础上,为了更进一步地保证分布式存储***的稳定性,作为一种可实施的方式,在一实施例中,设备节点分为主设备节点和备设备节点。
其中,主设备节点可以基于一致性算法选出,备设备节点在主设备节点出现异常后接替成为主设备节点,具体切换方式本申请实施例不做限定。
具体地,在一实施例中,主设备节点包括主管理设备,主管理设备用于获取主设备节点的磁盘设备映射信息;根据磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个副本组。
其中,副本组至少包括两个磁盘设备,副本组内的磁盘设备属于不同的两个故障域。
具体地,当故障域为设备节点时,则保证一个副本组中的两个磁盘设备属于不同的两个设备节点。
具体地,在一实施例中,主管理设备,还用于在向任一副本组写入数据时,基于RAID1技术,将数据写入该副本组内的两个磁盘设备。
需要说明的是,独立磁盘冗余磁盘阵列(Redundant Array of IndependentDisks,简称:RAID),是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。RAID1技术为镜像存储技术,数据被同等的写入到2个或者多个磁盘中,读取速度比较快。
示例性的,如图4所示,为本申请实施例提供的一种示例性的主设备节点的副本组结构示意图,假设本分布式存储***中以Node-A为主设备节点,初始化时完成磁盘的全局视图,可以通过将磁盘设备1至磁盘设备9通过如下组合进行RAID1,即通过将不同故障域的磁盘资源进行组合,如以节点为故障域,则磁盘设备1和磁盘设备4为一个副本组,随后对副本组做RAID1,则该副本组便具备了2副本的能力;如对于磁盘设备1和磁盘设备4的组合做RAID1后,数据会落在磁盘设备1和磁盘设备4上,同理可以产生多个副本组,如副本组-1,副本组-2,副本组-3,副本组-4。
进一步地,在一实施例中,为利用副本组的并发能力提升***的性能,主管理设备还用于在向多个副本组写入数据时,基于RAIDO技术,将数据分段并行写入多个副本组的各磁盘设备。
需要说明的是,RAIDO技术是将数据分段存储在各个磁盘中,读写均可以并行处理,因此读写速率为单个磁盘的N倍。
其中,如图5所示,为本申请实施例提供的另一种示例性的主设备节点的副本组结构示意图,在向多个副本组写入数据时,对副本组做RAID0处理,将数据分段并行写入多个副本组的各磁盘设备,根据条带化来发挥多盘的处理能力,实现如图5所示的效果,即副本组-1到副本组-4做RAID0,实现数据对象在不同副本组之间的条带化,提升副本组的并发能力。
在上述实施例的基础上,在分布式存储***计算资源充足的情况下,在一实施例中,主设备节点包括主管理设备,主管理设备用于获取主设备节点的磁盘设备映射信息;根据磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个纠删组。
其中,纠删组至少包括三个磁盘设备,纠删组内的磁盘设备分为数据位磁盘设备和校验位磁盘设备,纠删组内的磁盘设备属于不同的三个故障域。
具体地,在一实施例中,主管理设备还用于在向任一纠删组写入数据时,基于RAID5技术,将数据分段写入该纠删组的各个数据位磁盘设备,将分段数据对应的校验码写入校验位磁盘设备。
需要说明的是,RAID5是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘设备上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘设备上,其中任意N-1块磁盘设备上都存储完整的数据,也就是说有相当于一块磁盘设备容量的空间用于存储奇偶校验信息。
具体地,在一实施例中,主管理设备,还用于当该纠删组内任一数据位磁盘设备发生破损时,基于纠删组中正常的数据位磁盘设备当前存储的分段数据及校验位磁盘设备当前存储的校验码,恢复破损的数据位磁盘设备中的分段数据,具体恢复方式可参考现有纠删技术,本申请实施例不做限定。
具体地,在应用纠删策略时,可以将多个磁盘设备组成纠删组,纠删组内按照故障域进行磁盘组合。如图6所示,为本申请实施例提供的示例性的主设备节点的纠删组结构示意图,若以Node-A为主设备节点,按照故障域采取两个磁盘设备作为数据位磁盘设备,剩余一个磁盘设备做校验位磁盘设备的组合实现3个纠删组,从而实现对纠删策略的支持。
具体地,分布式存储***在实际应用中,用户可以根据实际需求选择采用副本策略或纠删策略,无论采用副本策略还是纠删策略,主管理设备均会将主设备节点的磁盘设备组合策略,记录至分布式数据库持久化存储。以记录分布式存储***采取的策略,磁盘设备组合策略还表征副本组或纠删组的磁盘设备组合情况,以使***重启后,原本配置的副本策略或纠删策略可以重构。
在上述实施例的基础上,由于设备节点和磁盘设备在运行过程中均有发生故障的可能,因此为了保证分布式存储***的安全性,作为一种可实施的方式,在一实施例中,备设备节点包括:预留热备盘,主管理设备,还用于当主设备节点中任一磁盘设备发生故障时,将发生故障的磁盘设备替换为预留热备盘。
其中,在副本策略中,预留热备盘可以为图3所示的磁盘设备9。
具体地,对于磁盘设备故障,其仅会影响到副本组或者纠删组的可靠性,可以通过启动预留热备盘的方式,将发生故障的磁盘设备替换为预留热备盘,并在组内进行数据同步,以达到数据恢复的效果。
具体地,对于节点设备故障,如节点掉电、网络故障等场景,无论是副本组还是纠删组中失效的都是组合中的1个磁盘设备,因此不会对业务造成影响,故障的恢复可以依赖旧节点上线或者新节点加入后,在组内进行数据同步,以达到数据恢复的效果。
具体地,对于分布式存储***的重启,由于分布式数据库存储了磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,分布式存储***重启后可以根据分布式数据库中信息,进行***重构,以恢复至之前运行状态。
本申请实施例提供的提供一种基于DPU的分布式存储***,包括:多个设备节点,设备节点包括若干个磁盘设备及DPU;针对任一设备节点,该设备节点基于DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。上述方案提供的***,通过使用DPU完成远端磁盘的本地映射,使分布式存储***的应用不再受限于网络资源,从而保证了分布式存储***的性能和稳定性。并且,本申请实施例提供的分布式存储***提供了多副本和纠删存储策略,同时对***出现的故障给出了恢复策略,借助于DPU实现互联协议控制器,增强分布式存储***的业务处理能力,从而实现基于DPU软硬一体的分布式存储***,以进一步提升***的性能和稳定性。
本申请实施例提供了一种基于DPU的分布式存储***控制方法,应用于上述实施例提供的基于DPU的分布式存储***,本申请实施例的执行主体为电子设备,比如服务器、台式电脑、笔记本电脑、平板电脑及其他可用于对分布式存储***进行控制的电子设备。
如图7所示,为本申请实施例提供的基于DPU的分布式存储***控制方法的流程示意图,该方法包括:
步骤701,针对任一设备节点,控制该设备节点基于DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。
具体地,在一实施例中,基于DPU的分布式存储***包括分布式数据库,分布式数据库记录有各设备节点的磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,该方法还包括:
当基于DPU的分布式存储***发生重启时,分布式数据库记录的各设备节点的磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,复原基于DPU的分布式存储***。
具体地,在一实施例中,控制该设备节点基于DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地,包括:
控制DPU,将设备节点的本地磁盘设备配置为目标端;
其中,DPU自身配置为发起端,目标端与发起端之间设有通信连接。
具体地,在一实施例中,控制DPU,将设备节点的本地磁盘设备配置为目标端,包括:
控制DPU根据本地磁盘设备的设备类型,确定目标配置策略;
按照目标配置策略,将本地磁盘设备配置为目标端。
具体地,在一实施例中,本地磁盘设备的设备类型至少分为非NVMe设备及NVMe设备。
具体地,在一实施例中,控制DPU根据本地磁盘设备的设备类型,确定目标配置策略,包括:
当本地磁盘设备的设备类型为非NVMe设备时,控制DPU将采用SPDK iSCSI target技术作为目标配置策略。
具体地,在一实施例中,控制DPU根据本地磁盘设备的设备类型,确定目标配置策略,包括:
当本地磁盘设备的设备类型为NVMe设备时,控制DPU将采用NVMe-oF协议作为目标配置策略。
具体地,在一实施例中,当本地磁盘设备的设备类型为NVMe设备时,控制DPU将采用NVMe-oF协议作为目标配置策略,包括:
控制DPU采用NVMe-oF协议,将本地磁盘设备配置为块设备;其中,目标端包括块设备。
具体地,在一实施例中,***还包括分布式数据库,设备节点还包括:管理设备,该方法,还包括:
基于管理设备获取本地磁盘设备的属性信息;将本地磁盘设备的属性信息,记录至分布式数据库。
具体地,在一实施例中,本地磁盘设备的属性信息至少包括设备类型,该方法,还包括:
基于管理设备根据本地磁盘设备的设备类型,对本地磁盘设备进行分组,得到对应的磁盘设备分组信息;
将磁盘设备分组信息,记录至分布式数据库。
具体地,在一实施例中,该方法,还包括:
基于管理设备获取所属设备节点的磁盘分配元数据信息及资源元数据信息;
将磁盘分配元数据信息及资源元数据信息,记录至分布式数据库。
具体地,在一实施例中,设备节点分为主设备节点和备设备节点。
具体地,在一实施例中,主设备节点包括主管理设备,该方法,还包括:
基于主管理设备获取主设备节点的磁盘设备映射信息;
根据磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个副本组;
其中,副本组至少包括两个磁盘设备,副本组内的磁盘设备属于不同的两个故障域。
具体地,在一实施例中,该方法,还包括:
在向任一副本组写入数据时,控制主管理设备基于RAID1技术,将数据写入该副本组内的两个磁盘设备。
具体地,在一实施例中,该方法,还包括:
在向多个副本组写入数据时,控制主管理设备基于RAIDO技术,将数据分段并行写入多个副本组的各磁盘设备。
具体地,在一实施例中,主设备节点包括主管理设备,该方法,还包括:
基于主管理设备获取主设备节点的磁盘设备映射信息;
根据磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个纠删组;
其中,纠删组至少包括三个磁盘设备,纠删组内的磁盘设备分为数据位磁盘设备和校验位磁盘设备,纠删组内的磁盘设备属于不同的三个故障域。
具体地,在一实施例中,该方法,还包括:
在向任一纠删组写入数据时,控制主管理设备基于RAID5技术,将数据分段写入该纠删组的各个数据位磁盘设备,将分段数据对应的校验码写入校验位磁盘设备。
具体地,在一实施例中,该方法,还包括:
当该纠删组内任一数据位磁盘设备发生破损时,控制主管理设备基于纠删组中正常的数据位磁盘设备当前存储的分段数据及校验位磁盘设备当前存储的校验码,恢复破损的数据位磁盘设备中的分段数据。
具体地,在一实施例中,备设备节点包括:预留热备盘,该方法,还包括:
当主设备节点中任一磁盘设备发生故障时,基于主管理设备将发生故障的磁盘设备替换为预留热备盘。
具体地,在一实施例中,***还包括分布式数据库,该方法,还包括:
基于主管理设备将主设备节点的磁盘设备组合策略,记录至分布式数据库。
关于本实施例中的基于DPU的分布式存储***控制方法,其中各个步骤具体实施方式已经在有关该***的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供的基于DPU的分布式存储***控制方法,应用于上述实施例提供的基于DPU的分布式存储***,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种基于DPU的分布式存储***控制装置,用于执行上述实施例提供的基于DPU的分布式存储***控制方法。
如图8所示,为本申请实施例提供的基于DPU的分布式存储***控制装置的结构示意图。该基于DPU的分布式存储***控制装置80包括:控制模块801。
其中,控制模块,用于针对任一设备节点,控制该设备节点基于DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。
具体地,在一实施例中,基于DPU的分布式存储***包括分布式数据库,分布式数据库记录有各设备节点的磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,该装置还包括:
复原模块,用于当基于DPU的分布式存储***发生重启时,分布式数据库记录的各设备节点的磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,复原基于DPU的分布式存储***。
具体地,在一实施例中,控制模块,具体用于:
控制DPU,将设备节点的本地磁盘设备配置为目标端;
其中,DPU自身配置为发起端,目标端与发起端之间设有通信连接。
具体地,在一实施例中,控制模块,具体用于:
控制DPU根据本地磁盘设备的设备类型,确定目标配置策略;
按照目标配置策略,将本地磁盘设备配置为目标端。
具体地,在一实施例中,本地磁盘设备的设备类型至少分为非NVMe设备及NVMe设备。
具体地,在一实施例中,控制模块,具体用于:
当本地磁盘设备的设备类型为非NVMe设备时,控制DPU将采用SPDK iSCSI target技术作为目标配置策略。
具体地,在一实施例中,控制模块,具体用于:
当本地磁盘设备的设备类型为NVMe设备时,控制DPU将采用NVMe-oF协议作为目标配置策略。
具体地,在一实施例中,控制模块,具体用于:
控制DPU采用NVMe-oF协议,将本地磁盘设备配置为块设备;其中,目标端包括块设备。
具体地,在一实施例中,***还包括分布式数据库,设备节点还包括:管理设备,控制模块,还用于:
基于管理设备获取本地磁盘设备的属性信息;将本地磁盘设备的属性信息,记录至分布式数据库。
具体地,在一实施例中,本地磁盘设备的属性信息至少包括设备类型,控制模块,还用于:
基于管理设备根据本地磁盘设备的设备类型,对本地磁盘设备进行分组,得到对应的磁盘设备分组信息;
将磁盘设备分组信息,记录至分布式数据库。
具体地,在一实施例中,控制模块,还用于:
基于管理设备获取所属设备节点的磁盘分配元数据信息及资源元数据信息;
将磁盘分配元数据信息及资源元数据信息,记录至分布式数据库。
具体地,在一实施例中,设备节点分为主设备节点和备设备节点。
具体地,在一实施例中,主设备节点包括主管理设备,控制模块,还用于:
基于主管理设备获取主设备节点的磁盘设备映射信息;
根据磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个副本组;
其中,副本组至少包括两个磁盘设备,副本组内的磁盘设备属于不同的两个故障域。
具体地,在一实施例中,控制模块,还用于:
在向任一副本组写入数据时,控制主管理设备基于RAID1技术,将数据写入该副本组内的两个磁盘设备。
具体地,在一实施例中,控制模块,还用于:
在向多个副本组写入数据时,控制主管理设备基于RAIDO技术,将数据分段并行写入多个副本组的各磁盘设备。
具体地,在一实施例中,主设备节点包括主管理设备,控制模块,还用于:
基于主管理设备获取主设备节点的磁盘设备映射信息;
根据磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个纠删组;
其中,纠删组至少包括三个磁盘设备,纠删组内的磁盘设备分为数据位磁盘设备和校验位磁盘设备,纠删组内的磁盘设备属于不同的三个故障域。
具体地,在一实施例中,控制模块,还用于:
在向任一纠删组写入数据时,控制主管理设备基于RAID5技术,将数据分段写入该纠删组的各个数据位磁盘设备,将分段数据对应的校验码写入校验位磁盘设备。
具体地,在一实施例中,控制模块,还用于:
当该纠删组内任一数据位磁盘设备发生破损时,控制主管理设备基于纠删组中正常的数据位磁盘设备当前存储的分段数据及校验位磁盘设备当前存储的校验码,恢复破损的数据位磁盘设备中的分段数据。
具体地,在一实施例中,备设备节点包括:预留热备盘,控制模块,还用于:
当主设备节点中任一磁盘设备发生故障时,基于主管理设备将发生故障的磁盘设备替换为预留热备盘。
具体地,在一实施例中,***还包括分布式数据库,控制模块,还用于:
基于主管理设备将主设备节点的磁盘设备组合策略,记录至分布式数据库。
关于本实施例中的基于DPU的分布式存储***控制装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供的基于DPU的分布式存储***控制装置,用于执行上述实施例提供的基于DPU的分布式存储***控制方法,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种电子设备,用于执行上述实施例提供的基于DPU的分布式存储***控制方法。
如图9所示,为本申请实施例提供的电子设备的结构示意图。该电子设备90包括:至少一个处理器91和存储器92。
存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上实施例提供的基于DPU的分布式存储***控制方法。
本申请实施例提供的一种电子设备,用于执行上述实施例提供的基于DPU的分布式存储***控制方法,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上任一实施例提供的基于DPU的分布式存储***控制方法。
本申请实施例的包含计算机可执行指令的存储介质,可用于存储前述实施例中提供的基于DPU的分布式存储***控制方法的计算机执行指令,其实现方式与原理相同,不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (24)
1.一种基于DPU的分布式存储***,其特征在于,包括:多个设备节点,所述设备节点包括若干个磁盘设备及DPU;
针对任一所述设备节点,该设备节点基于所述DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。
2.根据权利要求1所述的***,其特征在于,所述DPU,具体用于:
将所述设备节点的本地磁盘设备配置为目标端;
其中,所述DPU自身配置为发起端,所述目标端与发起端之间设有通信连接。
3.根据权利要求2所述的***,其特征在于,所述DPU,具体用于:
根据所述本地磁盘设备的设备类型,确定目标配置策略;
按照所述目标配置策略,将所述本地磁盘设备配置为目标端。
4.根据权利要求3所述的***,其特征在于,所述本地磁盘设备的设备类型至少分为非NVMe设备及NVMe设备。
5.根据权利要求4所述的***,其特征在于,所述DPU,具体用于:
当所述本地磁盘设备的设备类型为非NVMe设备时,将采用SPDK iSCSI target技术作为目标配置策略。
6.根据权利要求4所述的***,其特征在于,所述DPU,具体用于:
当所述本地磁盘设备的设备类型为NVMe设备时,将采用NVMe-oF协议作为目标配置策略。
7.根据权利要求6所述的***,其特征在于,所述DPU,具体用于:
采用NVMe-oF协议,将所述本地磁盘设备配置为块设备;其中,所述目标端包括所述块设备。
8.根据权利要求1所述的***,其特征在于,所述***还包括分布式数据库,所述设备节点还包括:管理设备;
所述管理设备用于获取本地磁盘设备的属性信息;将所述本地磁盘设备的属性信息,记录至所述分布式数据库。
9.根据权利要求8所述的***,其特征在于,所述本地磁盘设备的属性信息至少包括设备类型,所述管理设备,用于:
根据所述本地磁盘设备的设备类型,对本地磁盘设备进行分组,得到对应的磁盘设备分组信息;
将所述磁盘设备分组信息,记录至所述分布式数据库。
10.根据权利要求8所述的***,其特征在于,所述管理设备,还用于:
获取所属设备节点的磁盘分配元数据信息及资源元数据信息;
将所述磁盘分配元数据信息及资源元数据信息,记录至所述分布式数据库。
11.根据权利要求1所述的***,其特征在于,所述设备节点分为主设备节点和备设备节点。
12.根据权利要求11所述的***,其特征在于,所述主设备节点包括主管理设备,所述主管理设备,用于:
获取所述主设备节点的磁盘设备映射信息;
根据所述磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个副本组;
其中,所述副本组至少包括两个磁盘设备,副本组内的磁盘设备属于不同的两个故障域。
13.根据权利要求12所述的***,其特征在于,所述主管理设备,还用于:
在向任一所述副本组写入数据时,基于RAID1技术,将数据写入该副本组内的两个磁盘设备。
14.根据权利要求13所述的***,其特征在于,所述主管理设备,还用于:
在向多个所述副本组写入数据时,基于RAIDO技术,将数据分段并行写入多个所述副本组的各磁盘设备。
15.根据权利要求11所述的***,其特征在于,所述主设备节点包括主管理设备,所述主管理设备,用于:
获取所述主设备节点的磁盘设备映射信息;
根据所述磁盘设备映射信息,将本地磁盘设备和映射磁盘设备划分为若干个纠删组;
其中,所述纠删组至少包括三个磁盘设备,所述纠删组内的磁盘设备分为数据位磁盘设备和校验位磁盘设备,所述纠删组内的磁盘设备属于不同的三个故障域。
16.根据权利要求15所述的***,其特征在于,所述主管理设备,还用于:
在向任一所述纠删组写入数据时,基于RAID5技术,将数据分段写入该纠删组的各个数据位磁盘设备,将分段数据对应的校验码写入校验位磁盘设备。
17.根据权利要求16所述的***,其特征在于,所述主管理设备,还用于:
当该纠删组内任一数据位磁盘设备发生破损时,基于所述纠删组中正常的数据位磁盘设备当前存储的分段数据及校验位磁盘设备当前存储的校验码,恢复破损的数据位磁盘设备中的分段数据。
18.根据权利要求12或15所述的***,其特征在于,所述备设备节点包括:预留热备盘,所述主管理设备,还用于:
当所述主设备节点中任一磁盘设备发生故障时,将发生故障的磁盘设备替换为所述预留热备盘。
19.根据权利要求12或15所述的***,其特征在于,所述***还包括分布式数据库,所述主管理设备,还用于:
将所述主设备节点的磁盘设备组合策略,记录至所述分布式数据库。
20.一种基于DPU的分布式存储***控制方法,应用于如权利要求1至19任一项所述的基于DPU的分布式存储***,其特征在于,所述方法包括:
针对任一所述设备节点,控制该设备节点基于所述DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。
21.根据权利要求20所述的方法,其特征在于,所述基于DPU的分布式存储***包括分布式数据库,所述分布式数据库记录有各所述设备节点的磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,所述方法还包括:
当所述基于DPU的分布式存储***发生重启时,所述分布式数据库记录的各所述设备节点的磁盘设备分组信息、磁盘分配元数据信息、资源元数据信息以及主设备节点的磁盘设备组合策略,复原所述基于DPU的分布式存储***。
22.一种基于DPU的分布式存储***控制装置,应用于如权利要求1至19任一项所述的基于DPU的分布式存储***,其特征在于,包括:
控制模块,用于针对任一所述设备节点,控制该设备节点基于所述DPU,将除该设备节点以外的所有设备节点的磁盘设备映射至该设备节点本地。
23.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求20或21所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求20或21所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310486663.8A CN116204137B (zh) | 2023-05-04 | 2023-05-04 | 基于dpu的分布式存储***、控制方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310486663.8A CN116204137B (zh) | 2023-05-04 | 2023-05-04 | 基于dpu的分布式存储***、控制方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116204137A true CN116204137A (zh) | 2023-06-02 |
CN116204137B CN116204137B (zh) | 2023-08-04 |
Family
ID=86513312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310486663.8A Active CN116204137B (zh) | 2023-05-04 | 2023-05-04 | 基于dpu的分布式存储***、控制方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204137B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116954523A (zh) * | 2023-09-20 | 2023-10-27 | 苏州元脑智能科技有限公司 | 一种存储***、数据存储方法、数据读取方法和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111756828A (zh) * | 2020-06-19 | 2020-10-09 | 广东浪潮大数据研究有限公司 | 一种数据存储方法、装置及设备 |
CN113190377A (zh) * | 2021-05-17 | 2021-07-30 | 北京中电兴发科技有限公司 | 一种基于分布式存储***的可靠冗余方法及设备 |
CN113568562A (zh) * | 2020-04-28 | 2021-10-29 | 华为技术有限公司 | 一种存储***、内存管理方法和管理节点 |
CN114594914A (zh) * | 2022-03-17 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 用于分布式存储***的控制方法及*** |
EP4130971A1 (en) * | 2021-08-03 | 2023-02-08 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for the management of device local memory |
-
2023
- 2023-05-04 CN CN202310486663.8A patent/CN116204137B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568562A (zh) * | 2020-04-28 | 2021-10-29 | 华为技术有限公司 | 一种存储***、内存管理方法和管理节点 |
CN111756828A (zh) * | 2020-06-19 | 2020-10-09 | 广东浪潮大数据研究有限公司 | 一种数据存储方法、装置及设备 |
CN113190377A (zh) * | 2021-05-17 | 2021-07-30 | 北京中电兴发科技有限公司 | 一种基于分布式存储***的可靠冗余方法及设备 |
EP4130971A1 (en) * | 2021-08-03 | 2023-02-08 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for the management of device local memory |
CN115705151A (zh) * | 2021-08-03 | 2023-02-17 | 三星电子株式会社 | 用于管理设备本地存储器的***、方法和装置 |
CN114594914A (zh) * | 2022-03-17 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 用于分布式存储***的控制方法及*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116954523A (zh) * | 2023-09-20 | 2023-10-27 | 苏州元脑智能科技有限公司 | 一种存储***、数据存储方法、数据读取方法和存储介质 |
CN116954523B (zh) * | 2023-09-20 | 2024-01-26 | 苏州元脑智能科技有限公司 | 一种存储***、数据存储方法、数据读取方法和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116204137B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9946655B2 (en) | Storage system and storage control method | |
CN102945201B (zh) | 已验证数据集合的非易失性介质日志记录 | |
US7917805B2 (en) | Storage system for restoring data stored in failed storage device | |
US8060772B2 (en) | Storage redundant array of independent drives | |
CN101291347B (zh) | 一种网络存储*** | |
US9317375B1 (en) | Managing cache backup and restore for continuous data replication and protection | |
CN106407040A (zh) | 一种远程数据复制方法及*** | |
US11099953B2 (en) | Automatic data healing using a storage controller | |
US20070067666A1 (en) | Disk array system and control method thereof | |
US20090313617A1 (en) | Method for Updating Control Program of Physical Storage Device in Storage Virtualization System and Storage Virtualization Controller and System Thereof | |
JP2013041455A (ja) | ストレージシステム、ストレージ制御装置およびストレージ制御方法 | |
WO2015058542A1 (zh) | 独立冗余磁盘阵列的重构方法及装置 | |
JPWO2006123416A1 (ja) | ディスク故障復旧方法及びディスクアレイ装置 | |
US20200233797A1 (en) | Using a raw mirror to initialize a storage system | |
CN101609420A (zh) | 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器 | |
CN111857540B (zh) | 数据存取方法、装置和计算机程序产品 | |
CN111090394A (zh) | 一种基于卷级别raid的磁阵管理方法及装置 | |
CN116204137B (zh) | 基于dpu的分布式存储***、控制方法、装置及设备 | |
US20210303178A1 (en) | Distributed storage system and storage control method | |
WO2021088367A1 (zh) | 数据恢复方法及相关设备 | |
US8433949B2 (en) | Disk array apparatus and physical disk restoration method | |
WO2022033269A1 (zh) | 数据处理的方法、设备及*** | |
WO2016112824A1 (zh) | 存储的处理方法、装置和存储设备 | |
US20180307427A1 (en) | Storage control apparatus and storage control method | |
US11055190B1 (en) | System and method for facilitating storage system operation with global mapping to provide maintenance without a service interrupt |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |