本发明涉及计算机系统及存储,特别是涉及一种独立冗余磁盘阵列存储空间动态分配方法、一种独立冗余磁盘阵列存储空间动态分配装置、一种电子设备和一种存储介质。
背景技术:
1、企业通常使用存储服务器进行数据的管理。一个大的企业,存储服务器数量可以达到成千上万台。其中raid(redundant array of independent disks,独立冗余磁盘阵列)卡是存储服务器中的一个重要组件,raid卡可以对硬盘进行批量管理,通过创建raid阵列并在阵列上层创建卷以对外提供存储服务。但是目前针对raid卡的存储空间分配方式存在前期对卷需要使用的空间预估有误,那会造成卷内空间的浪费,或者卷空间不够,这会给后续使用造成很大的困扰,进而导致存储空间被浪费。
技术实现思路
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、依据所述读取数据确定在所述逻辑卷中的第三指数位置;
40、依据所述第三指数位置,生成读出数据。
41、可选地,所述读取数据包括第二逻辑块地址和第二数据长度;依据所述读取数据确定在所述逻辑卷中的第三指数位置的步骤包括:
42、在所述第二逻辑块地址上叠加所述第二数据长度,确定第二偏移地址;
43、依据所述第二偏移地址确定在所述逻辑卷中的第三指数位置。
44、可选地,所述依据所述第三指数位置,生成读出数据的步骤包括:
45、响应于所述第三指数位置记录于所述逻辑卷空间映射表中,跳转至所述第二偏移地址;
46、从所述第二偏移地址读取数据,生成所述读出数据。
47、可选地,所述依据所述第三指数位置,生成读出数据的步骤还包括:
48、响应于所述第三指数位置不记录于所述逻辑卷空间映射表中,确定空值为所述读出数据。
49、可选地,所述多个存储块的大小相等。
50、在本发明的第二个方面,本发明实施例还公开了一种独立冗余磁盘阵列存储空间动态分配装置,独立冗余磁盘阵列的存储空间划分为多个存储块,所述装置包括:
51、创建模块,用于响应于针对所述独立冗余磁盘阵列创建逻辑卷,将所述多个存储块中的第一目标存储块分配给所述逻辑卷,生成逻辑卷空间映射表;所述逻辑卷空间映射表用于记录在所述逻辑卷中,所述第一目标存储块与所述逻辑卷的第一指数位置的映射;
52、第一获取模块,用于接收针对所述逻辑卷的写入请求,获取所述写入请求的写入数据;
53、写入位置确定模块,用于依据所述写入数据确定在所述逻辑卷中的第二指数位置;
54、分配模块,用于响应于所述第二指数位置与所述第一指数位置不相同,将所述多个存储块中的第二目标存储块分配给所述逻辑卷,并依据所述第二目标存储块更新所述逻辑卷空间映射表;
55、第一写入模块,用于将所述写入数据写入所述第二目标存储块。
56、在本发明的第三个方面,本发明实施例还公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的独立冗余磁盘阵列存储空间动态分配方法的步骤。
57、在本发明的第四个方面,本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的独立冗余磁盘阵列存储空间动态分配方法的步骤。
58、本发明实施例包括以下优点:
59、本发明实施例通过响应于针对所述独立冗余磁盘阵列创建逻辑卷,将所述多个存储块中的第一目标存储块分配给所述逻辑卷,生成逻辑卷空间映射表;所述逻辑卷空间映射表用于记录在所述逻辑卷中,所述第一目标存储块与所述逻辑卷的第一指数位置的映射;接收针对所述逻辑卷的写入请求,获取所述写入请求的写入数据;依据所述写入数据确定在所述逻辑卷中的第二指数位置;响应于所述第二指数位置与所述第一指数位置不相同,将所述多个存储块中的第二目标存储块分配给所述逻辑卷,并依据所述第二目标存储块更新所述逻辑卷空间映射表;将所述写入数据写入所述第二目标存储块。通过在将多个存储块进行统一管理,当创建一个逻辑卷时,预先只给其分配部分空间。当还针对该逻辑卷进行写入的空间没有进行实际空间分配时,再动态给其分配一个第二目标存储块,并且更新到对应逻辑卷空间映射表中,保证分配到逻辑卷的空间是和实际需要是一致的,不会造成存储空间的过多浪费;实现独立冗余磁盘阵列存储空间的高效利用,减少了存储空间的浪费。