System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式存储,尤其涉及一种块存储设备的厚配置方法、装置、电子设备及存储介质。
技术介绍
1、在云生态环境中,ceph系统作为当前主流的开源分布式存储,已在大量的生产环境中得到了应用。随着应用的扩展,ceph系统默认自动精简配置技术。尽管自动精简配置技术能够实现存储利用率的提高,但其无法保证为用户空间分配足够的磁盘空间。如此,导致在一些用户强制要求存储空间的场景下,出现存储空间不足的问题。
2、为了解决上述问题,现有技术提出了以下两种解决方案:
3、方案一,将创建的块存储设备在分布式存储节点上进行映射,映射成内核块设备后,再对该内核块设备进行dd写入,以便完成构成块存储设备的底层对象文件的写入和空间占用。
4、方案二,通过crush算法,计算组成块存储设备的底层对象文件要写入的规置组(pg,placement group)和对象存储设备(osd,object storage device),然后根据数据池的构成向构成数据池的每个osd写入对象分片,并修改存储引擎bluestore的底层数据,从而实现空间占用。
5、然而,上述方案一需要映射成内核块设备,数据路径较长,性能较低。上述方案二比较复杂,性能较低。因此,现有技术的不足在于:块存储设备的厚配置模式的性能较低。
技术实现思路
1、本专利技术提供一种块存储设备的厚配置方法、装置、电子设备及存储介质,用以解决现有技术中块存储设备的厚配置模式的性能较低的缺陷,实现提升存储设备的
2、本专利技术提供一种块存储设备的厚配置方法,包括:
3、获取块存储设备的摘要信息;
4、基于所述块存储设备的摘要信息,确定底层对象文件信息和待写入底层对象文件的数据池;所述底层对象文件信息包括组成所述块存储设备的各底层对象文件的信息;
5、基于所述底层对象文件信息,构造所述各底层对象文件;
6、利用预设应用编程接口向所述数据池写入所述各底层对象文件。
7、根据本专利技术提供的一种块存储设备的厚配置方法,所述获取块存储设备的摘要信息,包括:
8、获取块存储设备的摘要信息中的以下内容:
9、第一数值,所述第一数值用于表征单个所述底层对象文件的大小;
10、第一字符串,所述第一字符串用于表征所述数据池的标识;
11、第二字符串,所述第二字符串用于表征所述底层对象文件的名称前缀;
12、第二数值,所述第二数值用于表征待写入到所述数据池的底层对象文件的数量。
13、根据本专利技术提供的一种块存储设备的厚配置方法,所述基于所述块存储设备的摘要信息,确定底层对象文件信息和待写入底层对象文件的数据池,包括:
14、基于所述第一数值,确定单个所述底层对象文件的大小;
15、基于所述第一字符串,确定待写入底层对象文件的数据池;
16、基于所述第二字符串,确定所述底层对象文件的名称前缀;
17、基于所述第二数值,确定第一数量,所述第一数量为待写入到所述数据池的底层对象文件的数量。
18、根据本专利技术提供的一种块存储设备的厚配置方法,所述基于所述第一字符串,确定待写入所述各底层对象文件的数据池,包括:
19、若所述第一字符串为空,则获取元数据池的标识;
20、基于所述元数据池的标识确定所述元数据池;
21、将所述元数据池确定为待写入底层对象文件的数据池。
22、根据本专利技术提供的一种块存储设备的厚配置方法,所述基于所述底层对象文件信息,构造所述各底层对象文件,包括:
23、基于所述底层对象文件信息,确定单个所述底层对象文件的大小、所述底层对象文件的名称前缀以及所述第一数量;
24、基于单个所述底层对象文件的大小、所述底层对象文件的名称前缀以及所述第一数量,构造所述各底层对象文件的内容和名称;
25、基于所述各底层对象文件的内容和名称,构造所述各底层对象文件。
26、根据本专利技术提供的一种块存储设备的厚配置方法,所述基于单个所述底层对象文件的大小、所述底层对象文件的名称前缀以及所述第一数量,构造所述各底层对象文件的内容和名称,包括:
27、基于单个所述底层对象文件的大小,将所述底层对象文件的内容构造为长度为单个所述底层对象文件的大小的预设字符串;
28、基于所述第一数量,构造所述各底层对象文件的名称后缀;
29、基于所述各底层对象文件的名称前缀和名称后缀,构造所述各底层对象文件的名称。
30、根据本专利技术提供的一种块存储设备的厚配置方法,所述利用预设应用编程接口向所述数据池写入所述各底层对象文件,包括:
31、每构造一个所述底层对象文件,利用预设应用编程接口向所述数据池异步写入一次所述底层对象文件,直至写入的所述底层对象文件的数量达到所述第一数量。
32、本专利技术还提供一种块存储设备的厚配置装置,包括:
33、获取模块,用于获取块存储设备的摘要信息;
34、确定模块,用于基于所述块存储设备的摘要信息,确定底层对象文件信息和待写入底层对象文件的数据池;所述底层对象文件信息包括组成所述块存储设备的各底层对象文件的信息
35、构造模块,用于基于所述底层对象文件信息,构造所述各底层对象文件;
36、写入模块,用于利用预设应用编程接口向所述数据池写入所述各底层对象文件。
37、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的块存储设备的厚配置方法的步骤。
38、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的块存储设备的厚配置方法的步骤。
39、本专利技术提供的块存储设备的厚配置方法、装置、电子设备及存储介质,首先,获取块存储设备的摘要信息,基于块存储设备的摘要信息,确定底层对象文件信息和待写入底层对象文件的数据池;而后,由于底层对象文件信息包括组成块存储设备的各底层对象文件的信息,可以基于底层对象文件信息构造符合块存储设备空间构成的各底层对象文件;最后,利用预设应用编程接口向数据池直接写入各底层对象文件,从而实现空间占用。本专利技术可以非常简便地实现存储设备的厚配置模式,从而可以提升存储设备的厚配置模式的性能。
本文档来自技高网...【技术保护点】
1.一种块存储设备的厚配置方法,其特征在于,包括:
2.根据权利要求1所述的块存储设备的厚配置方法,其特征在于,所述获取块存储设备的摘要信息,包括:
3.根据权利要求2所述的块存储设备的厚配置方法,其特征在于,所述基于所述块存储设备的摘要信息,确定底层对象文件信息和待写入底层对象文件的数据池,包括:
4.根据权利要求3所述的块存储设备的厚配置方法,其特征在于,所述基于所述第一字符串,确定待写入底层对象文件的数据池,包括:
5.根据权利要求3或4所述的块存储设备的厚配置方法,其特征在于,所述基于所述底层对象文件信息,构造所述各底层对象文件,包括:
6.根据权利要求5所述的块存储设备的厚配置方法,其特征在于,所述基于单个所述底层对象文件的大小、所述底层对象文件的名称前缀以及所述第一数量,构造所述各底层对象文件的内容和名称,包括:
7.根据权利要求6所述的块存储设备的厚配置方法,其特征在于,所述利用预设应用编程接口向所述数据池写入所述各底层对象文件,包括:
8.一种块存储设备的厚配置装置,其特征在于,包
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的块存储设备的厚配置方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的块存储设备的厚配置方法的步骤。
...【技术特征摘要】
1.一种块存储设备的厚配置方法,其特征在于,包括:
2.根据权利要求1所述的块存储设备的厚配置方法,其特征在于,所述获取块存储设备的摘要信息,包括:
3.根据权利要求2所述的块存储设备的厚配置方法,其特征在于,所述基于所述块存储设备的摘要信息,确定底层对象文件信息和待写入底层对象文件的数据池,包括:
4.根据权利要求3所述的块存储设备的厚配置方法,其特征在于,所述基于所述第一字符串,确定待写入底层对象文件的数据池,包括:
5.根据权利要求3或4所述的块存储设备的厚配置方法,其特征在于,所述基于所述底层对象文件信息,构造所述各底层对象文件,包括:
6.根据权利要求5所述的块存储设备的厚配置方法,其特征在于,所述基于单个所述...
【专利技术属性】
技术研发人员:许勇,
申请(专利权)人:浙江宇视科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。