网络卷创建方法、数据存储方法、存储设备和存储系统的制作方法

文档序号:7812688阅读:164来源:国知局
网络卷创建方法、数据存储方法、存储设备和存储系统的制作方法
【专利摘要】本发明实施例提供了一种网络卷创建方法,包括:第一存储节点接收所述管理节点发送的第一网络卷创建请求;根据所述RAID类型信息和所述网络卷的大小信息确定所述多个存储节点中的每个存储节点待分配的存储空间的大小;向所述每个存储节点分别发送第二网络卷创建请求;为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址;向所述管理节点发送所述第一网络卷创建请求的响应消息,所述第一网络卷创建请求的响应消息包括:所述网络卷的逻辑地址,所述网络卷的逻辑地址包括所述每个存储节点对应的逻辑地址。可以实现网络卷的创建。
【专利说明】网络卷创建方法、数据存储方法、存储设备和存储系统

【技术领域】
[0001] 本发明涉及存储技术,尤其涉及一种网络卷创建方法、数据存储方法、存储设备和 存储系统。

【背景技术】
[0002] 传统的存储系统采用集中的存储服务器存放所有数据,存储服务器又称存储节 点,可以包含多个硬盘,在多个硬盘之间可以根据独立磁盘冗余数组(Redundant Array of Independent Disks, RAID)类型创建普通卷,将数据存储在普通卷中,可以实现数据的冗 余。
[0003] RAID简称为硬盘阵列。其基本思想就是把多个硬盘组合起来,成为一个硬盘阵列 组,使性能达到甚至超过一个容量巨大的硬盘。根据选择的版本不同,RAID比单颗硬盘有 以下方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于 电脑来说,看起来就像一个单独的硬盘或逻辑存储单元。传统的RAID技术是在硬盘间实现 的,以RAID 5为例,要实现RAID 5技术至少需要三颗硬盘,将数据和相对应的奇偶校验信 息存储到组成RAID 5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同 的磁盘上。当RAID 5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验 信息去恢复被损坏的数据。
[0004] 然而,目前的普通卷是在一个存储节点内建立的,当该存储节点发生故障时,其存 储的数据都会丢失,可靠性不能得到保证,因此亟待创建一种跨存储节点的网络卷。


【发明内容】

[0005] 本发明实施例提供了一种网络卷创建方法、数据存储方法、存储设备和存储系统, 可以实现网络卷的创建。
[0006] 第一方面,本发明实施例提供一种网络卷创建方法,所述方法应用于存储系统中, 所述存储系统包括一个管理节点和多个存储节点,所述方法包括:
[0007] 所述多个存储节点中的第一存储节点接收所述管理节点发送的第一网络卷创建 请求,所述第一网络卷创建请求包括网络卷的信息,所述网络卷的信息包括RAID类型信息 和所述网络卷的大小信息;
[0008] 根据所述RAID类型信息和所述网络卷的大小信息确定所述多个存储节点中的每 个存储节点待分配的存储空间的大小;
[0009] 向所述每个存储节点分别发送第二网络卷创建请求,所述第二网络卷创建请求包 括所述每个存储节点待分配的存储空间的大小,使得所述每个存储节点根据所述每个存储 节点待分配的存储空间的大小为所述网络卷分配存储空间;
[0010] 为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址;
[0011] 向所述管理节点发送所述第一网络卷创建请求的响应消息,所述第一网络卷创建 请求的响应消息包括:所述网络卷的逻辑地址,所述网络卷的逻辑地址包括所述每个存储 节点对应的逻辑地址。
[0012] 在第一方面的第一种可能的实现方式中,还包括:
[0013] 根据所述RAID类型信息和所述网络卷的大小信息,确定创建所述网络卷所需的 所述多个存储节点。
[0014] 在第一方面的第二种可能的实现方式中,所述网络卷的信息还包括存储节点信 息,所述存储节点信息用于指示创建所述网络卷所需的所述多个存储节点;
[0015] 所述方法还包括:根据所述存储节点信息,确定创建所述网络卷所需的所述多个 存储节点。
[0016] 在第一方面的第三种可能的实现方式中,还包括:
[0017] 将所述每个存储节点对应的逻辑地址分别发送给所述每个存储节点,使得所述每 个存储节点记录自身的逻辑地址与分配的存储空间的物理地址之间的映射关系。
[0018] 结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式 中,所述存储系统还包括主机,所述方法还包括:
[0019] 向所述主机发送所述网络卷的信息,以及所述网络卷的逻辑地址。
[0020] 在第一方面的第五种可能的实现方式中,还包括:记录并保存所述每个存储节点 对应的逻辑地址与所述每个存储节点的对应关系。
[0021] 在第一方面的第六种可能的实现方式中,所述逻辑地址包括数据地址;所述第一 网络卷创建请求的响应消息具体包括:所述网络卷的数据地址。
[0022] 在第一方面的第七种可能的实现方式中,所述第二网络卷创建请求的响应消息包 括:分配的存储空间的物理地址;
[0023] 所述为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址具体包 括:根据所述分配的存储空间的物理地址,为每个存储节点分配的存储空间指定每个存储 节点对应的逻辑地址。
[0024] 第二方面,本发明实施例提供一种数据存储方法,所述方法应用于存储系统中,所 述存储系统包括主机和多个存储节点,所述方法包括:
[0025] 所述多个存储节点中的第一存储节点将目标数据切分为至少两个切片数据;
[0026] 计算所述至少两个切片数据的校验数据,为所述校验数据分配校验地址;
[0027] 确定每个切片数据的数据地址;
[0028] 根据所述数据地址与存储节点的对应关系确定每个切片数据对应的存储节点,以 及根据所述校验地址与存储节点的对应关系确定校验数据对应的存储节点;
[0029] 向每个切片数据对应的存储节点发送第一写数据请求,所述第一写数据请求包括 切片数据和数据地址,使得所述每个切片数据对应的存储节点根据数据地址与物理地址的 映射关系,将切片数据写入物理地址对应的存储空间中;
[0030] 向校验数据对应的存储节点发送第二写数据请求,所述第二写数据请求包括校验 数据和校验地址,使得所述校验数据对应的存储节点根据校验地址与物理地址的映射关 系,将校验数据写入物理地址对应的存储空间中。
[0031] 在第二方面的第一种可能的实现方式中,所述方法还包括:
[0032] 接收所述主机发送的第三写数据请求,所述第三写数据请求包括网络卷的标识、 数据长度和所述目标数据;
[0033] 所述将目标数据切分为至少两个切片数据具体包括:根据RAID类型和所述数据 长度将目标数据切分为至少两个切片数据,所述RAID类型是根据所述网络卷的标识确定 的。
[0034] 结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式 中,所述第三写数据请求还包括存储地址;
[0035] 所述确定每个切片数据的数据地址具体包括:根据所述存储地址和所述数据长度 确定每个切片数据的数据地址。
[0036] 结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式 中,所述方法还包括:
[0037] 接收所述主机发送的第一读数据请求,所述第一读数据请求包括所述存储地址和 所述数据长度,所述第一读数据请求用于读取所述目标数据;
[0038] 根据所述存储地址和所述数据长度确定所述目标数据包含的各个切片数据的数 据地址;
[0039] 根据所述数据地址与存储节点的对应关系确定每个切片数据对应的存储节点;
[0040] 向每个切片数据对应的存储节点发送第二读数据请求,所述第二读数据请求包括 切片数据的数据地址,使得所述每个切片数据对应的存储节点根据数据地址与物理地址的 映射关系,从所述物理地址对应的存储空间中读取所述切片数据并发送给所述第一存储节 占.
[0041] 接收每个切片数据对应的存储节点发送的切片数据,合并成所述目标数据发送给 所述主机。
[0042] 第三方面,本发明实施例提供一种存储设备,所述存储设备包括:
[0043] 接收模块,用于接收管理节点发送的第一网络卷创建请求,所述第一网络卷创建 请求包括网络卷的信息,所述网络卷的信息包括RAID类型信息和所述网络卷的大小信息;
[0044] 确定模块,用于根据所述RAID类型信息和所述网络卷的大小信息确定所述网络 卷所需的多个存储节点中的每个存储节点待分配的存储空间的大小;
[0045] 发送模块,用于向所述每个存储节点分别发送第二网络卷创建请求,所述第二网 络卷创建请求包括所述每个存储节点待分配的存储空间的大小,使得所述每个存储节点根 据所述每个存储节点待分配的存储空间的大小为所述网络卷分配存储空间;
[0046] 地址指定模块,用于为每个存储节点分配的存储空间指定每个存储节点对应的逻 辑地址;
[0047] 所述发送模块,还用于向所述管理节点发送所述第一网络卷创建请求的响应消 息,所述第一网络卷创建请求的响应消息包括:所述网络卷的逻辑地址,所述网络卷的逻辑 地址包括所述每个存储节点对应的逻辑地址。
[0048] 在第三方面的第一种可能的实现方式中,所述确定模块,还用于根据所述RAID类 型信息和所述网络卷的大小信息,确定创建所述网络卷所需的所述多个存储节点。
[0049] 在第三方面的第二种可能的实现方式中,所述网络卷的信息还包括存储节点信 息,所述存储节点信息用于指示创建所述网络卷所需的所述多个存储节点;
[0050] 所述确定模块,还用于根据所述存储节点信息,确定创建所述网络卷所需的所述 多个存储节点。
[0051] 在第三方面的第三种可能的实现方式中,所述发送模块,还用于将所述每个存储 节点对应的逻辑地址分别发送给所述每个存储节点,使得所述每个存储节点记录自身的逻 辑地址与分配的存储空间的物理地址之间的映射关系。
[0052] 在第三方面的第四种可能的实现方式中,还包括记录模块;
[0053] 所述记录模块,还用于记录并保存所述每个存储节点对应的逻辑地址与所述每个 存储节点的对应关系。
[0054] 在第三方面的第五种可能的实现方式中,所述逻辑地址包括数据地址;
[0055] 所述第一网络卷创建请求的响应消息具体包括:所述网络卷的数据地址。
[0056] 在第三方面的第六种可能的实现方式中,所述第二网络卷创建请求的响应消息包 括:分配的存储空间的物理地址;
[0057] 所述地址指定模块,具体用于根据所述分配的存储空间的物理地址,为每个存储 节点分配的存储空间指定每个存储节点对应的逻辑地址。
[0058] 第四方面,本发明实施例提供一种存储设备,所述存储设备包括:
[0059] 切分模块,用于将目标数据切分为至少两个切片数据;
[0060] 计算模块,用于计算所述至少两个切片数据的校验数据,为所述校验数据分配校 验地址;
[0061] 确定模块,用于确定每个切片数据的数据地址;根据所述数据地址与存储节点的 对应关系确定每个切片数据对应的存储节点,以及根据所述校验地址与存储节点的对应关 系确定校验数据对应的存储节点;
[0062] 发送模块,用于向每个切片数据对应的存储节点发送第一写数据请求,所述第一 写数据请求包括切片数据和数据地址,使得所述每个切片数据对应的存储节点根据数据地 址与物理地址的映射关系,将切片数据写入物理地址对应的存储空间中;向校验数据对应 的存储节点发送第二写数据请求,所述第二写数据请求包括校验数据和校验地址,使得所 述校验数据对应的存储节点根据校验地址与物理地址的映射关系,将校验数据写入物理地 址对应的存储空间中。
[0063] 在第四方面的第一种可能的实现方式中,所述存储设备还包括:接收模块;
[0064] 所述接收模块,用于接收主机发送的第三写数据请求,所述第三写数据请求包括 网络卷的标识、数据长度和所述目标数据;
[0065] 所述切分模块,具体用于根据RAID类型和所述数据长度将目标数据切分为至少 两个切片数据,所述RAID类型是根据所述网络卷的标识确定的。
[0066] 结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式 中,所述第三写数据请求还包括存储地址;
[0067] 所述确定模块,具体用于根据所述存储地址和所述数据长度确定每个切片数据的 数据地址。
[0068] 结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式 中,
[0069] 所述接收模块,还用于接收所述主机发送的第一读数据请求,所述第一读数据请 求包括所述存储地址和所述数据长度,所述第一读数据请求用于读取所述目标数据;
[0070] 所述确定模块,还用于根据所述存储地址和所述数据长度确定所述目标数据包含 的各个切片数据的数据地址;根据所述数据地址与存储节点的对应关系确定每个切片数据 对应的存储节点;
[0071] 所述发送模块,还用于向每个切片数据对应的存储节点发送第二读数据请求,所 述第二读数据请求包括切片数据的数据地址,使得所述每个切片数据对应的存储节点根据 数据地址与物理地址的映射关系,从所述物理地址对应的存储空间中读取所述切片数据并 发送给所述第一存储节点;
[0072] 所述接收模块,还用于接收每个切片数据对应的存储节点发送的切片数据,合并 成所述目标数据发送给所述主机。
[0073] 第五方面,本发明实施例提供一种存储系统,所述存储系统包括:如权利要求 13-19任一权利要求所述的存储设备以及管理节点;
[0074] 所述管理节点,用于向所述多个存储节点中的第一存储节点发送第一网络卷创建 请求,所述第一网络卷创建请求包括网络卷的信息,所述网络卷的信息包括RAID类型信息 和所述网络卷的大小信息。
[0075] 第六方面,本发明实施例提供一种存储系统,所述存储系统包括如权利要求20-23 任一权利要求所述的存储设备以及主机;
[0076] 所述主机,用于向所述存储设备发送第三写数据请求,所述第三写数据请求包括 网络卷的标识、数据长度和所述目标数据。
[0077] 第七方面,本发明实施例提供一种存储设备,处理器、存储器和通信总线;
[0078] 其中,所述处理器和所述存储器通过所述通信总线进行通信;
[0079] 所述存储器用于保存程序;
[0080] 所述处理器用于执行所述程序,以实现:
[0081] 接收管理节点发送的第一网络卷创建请求,所述第一网络卷创建请求包括网络卷 的信息,所述网络卷的信息包括RAID类型信息和所述网络卷的大小信息;
[0082] 根据所述RAID类型信息和所述网络卷的大小信息确定多个存储节点中的每个存 储节点待分配的存储空间的大小;
[0083] 向所述每个存储节点分别发送第二网络卷创建请求,所述第二网络卷创建请求包 括所述每个存储节点待分配的存储空间的大小,使得所述每个存储节点根据所述每个存储 节点待分配的存储空间的大小为所述网络卷分配存储空间;
[0084] 为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址;
[0085] 向所述管理节点发送所述第一网络卷创建请求的响应消息,所述第一网络卷创建 请求的响应消息包括:所述网络卷的逻辑地址,所述网络卷的逻辑地址包括所述每个存储 节点对应的逻辑地址。
[0086] 在第七方面的第一种可能的实现方式中,所述处理器,还用于根据所述RAID类型 信息和所述网络卷的大小信息,确定创建所述网络卷所需的所述多个存储节点。
[0087] 在第七方面的第二种可能的实现方式中,所述网络卷的信息还包括存储节点信 息,所述存储节点信息用于指示创建所述网络卷所需的所述多个存储节点;
[0088] 所述处理器,还用于根据所述存储节点信息,确定创建所述网络卷所需的所述多 个存储节点。
[0089] 在第七方面的第三种可能的实现方式中,所述处理器,还用于将所述每个存储节 点对应的逻辑地址分别发送给所述每个存储节点,使得所述每个存储节点记录自身的逻辑 地址与分配的存储空间的物理地址之间的映射关系。
[0090] 在第七方面的第四种可能的实现方式中,所述处理器,还用于记录并保存所述每 个存储节点对应的逻辑地址与所述每个存储节点的对应关系。
[0091] 在第七方面的第五种可能的实现方式中,所述逻辑地址包括数据地址;
[0092] 所述第一网络卷创建请求的响应消息具体包括:所述网络卷的数据地址。
[0093] 在第七方面的第六种可能的实现方式中,所述第二网络卷创建请求的响应消息包 括:分配的存储空间的物理地址;
[0094] 所述处理器,具体用于根据所述分配的存储空间的物理地址,为每个存储节点分 配的存储空间指定每个存储节点对应的逻辑地址。
[0095] 第八方面,本发明实施例提供一种存储设备,处理器、存储器和通信总线;其中,所 述处理器和所述存储器通过所述通信总线进行通信;
[0096] 所述存储器用于保存程序;
[0097] 所述处理器用于执行所述程序,以实现:
[0098] 将目标数据切分为至少两个切片数据;
[0099] 计算所述至少两个切片数据的校验数据,为所述校验数据分配校验地址;
[0100] 确定每个切片数据的数据地址;
[0101] 根据所述数据地址与存储节点的对应关系确定每个切片数据对应的存储节点,以 及根据所述校验地址与存储节点的对应关系确定校验数据对应的存储节点;
[0102] 向每个切片数据对应的存储节点发送第一写数据请求,所述第一写数据请求包括 切片数据和数据地址,使得所述每个切片数据对应的存储节点根据数据地址与物理地址的 映射关系,将切片数据写入物理地址对应的存储空间中;
[0103] 向校验数据对应的存储节点发送第二写数据请求,所述第二写数据请求包括校验 数据和校验地址,使得所述校验数据对应的存储节点根据校验地址与物理地址的映射关 系,将校验数据写入物理地址对应的存储空间中。
[0104] 在第八方面的第一种可能的实现方式中,所述处理器,还用于接收所述主机发送 的第三写数据请求,所述第三写数据请求包括网络卷的标识、数据长度和所述目标数据;
[0105] 所述处理器,具体用于根据RAID类型和所述数据长度将目标数据切分为至少两 个切片数据,所述RAID类型是根据所述网络卷的标识确定的。
[0106] 结合第八方面的第一种可能的实现方式,在第八方面的第二种可能的实现方式 中,所述第三写数据请求还包括存储地址;
[0107] 所述处理器,具体用于根据所述存储地址和所述数据长度确定每个切片数据的数 据地址。
[0108] 本发明实施例中,第一存储节点在接收管理节点发送的第一网络卷创建请求后, 确定出每个存储节点待分配的存储空间,向每个存储节点发送第二网络卷创建请求使得各 存储节点可以根据第二网络卷创建请求分配存储空间,第一存储节点对各存储节点分配存 储空间指定逻辑地址,并将逻辑地址发送给管理节点,使得管理节点知道网络卷创建成功, 以及该网络卷的逻辑地址。以此,实现了网络卷的创建。

【专利附图】

【附图说明】
[0109] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根 据这些附图获得其他的附图。
[0110] 图1为本发明实施例提供的一种网络卷创建方法的应用网络架构示意图;
[0111] 图2为本发明实施例提供的一种网络卷创建方法的信令图;
[0112] 图3为本发明实施例提供的一种数据存储方法的流程图;
[0113] 图4为本发明实施例提供的另一种数据存储方法的流程图;
[0114] 图5为本发明实施例提供的一种存储设备的结构示意图;
[0115] 图6为本发明实施例提供的另一种存储设备的结构示意图;
[0116] 图7A为本发明实施例提供的一种存储系统的结构示意图;
[0117] 图7B为本发明实施例提供的另一种存储系统的结构示意图;
[0118] 图8为本发明实施例提供的又一种存储设备的结构示意图;
[0119] 图9为本发明实施例提供的再一种存储设备的结构示意图。

【具体实施方式】
[0120] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0121] 本发明实施例提供的网络卷创建方法可以在存储系统上实现。图1为本发明实施 例提供的网络卷创建方法的系统架构示意图,如图1所示,该存储系统包括主机、管理节点 和多个存储设备(又称存储节点)。
[0122] 主机可以包括当前技术已知的任何计算设备,如服务器、台式计算机等等。在主机 内部,安装有操作系统以及其他应用程序。
[0123] 管理节点可以包括当前技术已知的任何计算设备,如服务器、台式计算机等等。其 内部结构可以与主机相同。
[0124] 存储节点可以包括当前技术已知的存储设备,如独立磁盘冗余阵列(Redundant Arrays of Inexpensive Disks,RAID)、磁盘族(Just a Bunch OfDisks, JB0D)、直接存取 存储器(Direct Access Storage Device, DASD)的一个或多个互连的磁盘驱动器,诸如磁 带库、一个或多个存储单元的磁带存储设备。
[0125] 其中,各个存储节点相互连接,主机与管理节点之间以及管理节点与各个存储节 点通过网络连接,这里的网络可以是互联网internet,也可以是IP SAN(IP Storage Area Network,基于IP地址的存储局域网络)以及其他私有网络等。
[0126] 请参考图1,图1是本发明一种网络卷创建方法的实施例,如图1所示,所示方法包 括:
[0127] 步骤S201 :所述多个存储节点中的第一存储节点接收所述管理节点发送的第一 网络卷创建请求,所述第一网络卷创建请求包括网络卷的信息;
[0128] 管理节点可以将第一网络卷创建请求发送给多个存储节点中的任意一个存储节 点,该存储节点接收到第一网络卷创建请求后可以通过修改属性设置让自己成为第一存储 节点。
[0129] 网络卷的信息可以是RAID类型信息和网络卷的大小信息,其中,RAID类型信息可 以是本领域技术人员所熟知的RAID类型,例如:常用的RAID5, RAID6等,也可以是上纠偏码 的冗余类型,例如:Erasure Codel0+2,9+3,8+4等。网络卷的大小信息是指所述网络卷所 包括的存储空间的大小。
[0130] 在本发明另一个实施例中,网络卷的信息还可以包括存储节点的信息,用于指示 创建所述网络卷所需的存储节点。
[0131] 可选的,网络卷的信息还可以包括网络卷的标识。
[0132] 步骤S202 :根据所述RAID类型信息和所述网络卷的大小信息确定所述多个存储 节点中的每个存储节点待分配的存储空间的大小。
[0133] 第一存储节点可以根据RAID类型信息和网络卷的大小信息,确定每个存储节点 待分配的存储空间。举例来说,RAID类型信息是"4+1"的RAID5,其中,四个存储节点用于存 储写数据请求中携带的待写入数据,第一存储节点用于存储所述待写入数据的校验数据。 需要说明的是,当接收到写数据请求时,需要将待写入数据进行切分得到四个切片数据,所 述四个切片数据分别存储在四个存储节点中。再如,网络卷的大小信息是20M,则每个存储 节点待分配的存储空间是4M。
[0134] 步骤S203 :第一存储节点向所述每个存储节点分别发送第二网络卷创建请求,所 述第二网络卷创建请求包括每个存储节点待分配的存储空间的大小,使得每个存储节点根 据所述每个存储节点待分配的存储空间的大小为所述网络卷分配存储空间。
[0135] 当第一网络卷创建请求携带的网络卷的信息包括存储节点信息时,所述存储节点 信息用于指示创建所述网络卷所需的存储节点,则第一存储节点可以直接通过存储节点信 息从所述存储系统包含的存储节点中确定出创建所述网络卷所需的存储节点。
[0136] 第一存储节点分别向每个存储节点发送第二网络卷创建请求后,接收到第二网络 卷创建请求的存储节点可以扫描自己的存储空间,划分出4M的存储空间提供给所述网络 卷。
[0137] 如果存储空间分配成功,存储节点将发送给第一存储节点所述第二网络卷创建请 求的响应消息,所述响应消息用于指示存储空间分配成功。可选的,所述响应消息中还可以 包含分配的存储空间的物理地址。
[0138] 步骤S204 :第一存储节点为所述每个存储节点分配的存储空间指定每个存储节 点对应的逻辑地址。
[0139] 第一存储节点在接收到各个存储节点的响应消息,得知存储空间分配成功以后, 可以给所述网络卷指定一段连续的逻辑地址,由于所述网络卷的存储空间是分布在多个存 储节点上的,因此每个存储节点的存储空间对应一段逻辑地址。也可以是,为每个存储节 点分配的存储空间指定每个存储节点对应的逻辑地址,将每个存储节点对应的逻辑地址合 并起来就是所述网络卷的逻辑地址。需要说明的是,第一存储节点指定的逻辑地址可以包 含数据地址和校验地址,其中,数据地址用于存储写数据请求中的待写入数据,校验地址用 于存储待写入数据的校验数据。举例来说,数据地址可以是VB-0, VB-1,VB-2, VB-3、VB-4、 VB-5,校验地址可以是P-0, P-l,P-2, P-3等等。
[0140] 进一步地,以所述网络卷是"4+1"的RAID5为例,为所述网络卷指定的逻辑地址可 以是VB-0, VB-1,VB-2, VB-3,校验地址可以是P-0。
[0141] 步骤S205 :第一存储节点向所述管理节点发送所述第一网络卷创建请求的响应 消息,所述第一网络卷创建请求的响应消息包括:所述网络卷的逻辑地址。
[0142] 具体的,第一网络卷创建请求的响应消息中携带的逻辑地址可以是数据地址,举 例来说,数据地址可以是VB-0、VB-1、VB-2、VB-3。
[0143] 可选的,所述第一网络卷创建请求的响应消息还可以包括所述网络卷的标识,以 便管理节点可以记录并保存所述网络卷的标识与所述网络卷的RAID类型信息以及所述网 络卷的大小信息等信息的对应关系。需要说明的是,这里的网络卷的标识可以是在主机发 送给第一存储节点的第一网络卷创建请求中携带的,也可以是由第一存储节点生成的。
[0144] 本发明实施例中,第一存储节点在接收管理节点发送的第一网络卷创建请求后, 确定出每个存储节点待分配的存储空间,向每个存储节点发送第二网络卷创建请求使得各 存储节点可以根据第二网络卷创建请求分配存储空间,第一存储节点对各存储节点分配存 储空间指定逻辑地址,并将逻辑地址发送给管理节点,使得管理节点知道网络卷创建成功, 以及该网络卷的逻辑地址。以此,实现了网络卷的创建。
[0145] 在上述实施例中,还可以包括:
[0146] 步骤S206 :第一存储节点将所述网络卷的信息发送给主机,所述网络卷的信息可 以包括:所述网络卷的标识、所述网络卷的RAID类型、所述网络卷的大小信息以及所述网 络卷的逻辑地址以及存储节点的信息等。
[0147] 所述存储节点的信息是指第一存储节点的信息,还可以包含网络卷所在的所有存 储节点的信息。
[0148] 所述主机可以根据网络卷的信息,将所述网络卷映射为一个盘符,例如D盘或E 盘,供用户使用。
[0149] 此外,主机还可以记录并保存所述网络卷的标识与所述网络卷的RAID类型、所述 网络卷的大小信息以及所述网络卷的逻辑地址以及存储节点的信息等信息之间的对应关 系。
[0150] 可选的,该步骤也可以是,当主机向网络卷查询网络卷时,管理节点将所述网络卷 的信息发送给主机,或者由管理节点主动将所述网络卷的信息发送给主机。
[0151] 在上述实施例中,还可以包括:
[0152] 步骤S207 :第一存储节点分别向每个存储节点发送每个存储节点对应的逻辑地 址,使得每个存储节点记录自身的逻辑地址与分配的存储空间的物理地址之间的映射关 系。所述逻辑地址与分配的存储空间的物理地址之间的映射关系,用于所述每个存储节点 在写数据的时候,可以根据该映射关系将数据写入物理地址对应的存储空间中,或者在读 数据的时候,可以根据该映射关系从物理地址对应的存储空间中读取数据。
[0153] 在上述实施例中,还可以包括:
[0154] 步骤S208 :记录每个存储节点对应的逻辑地址与每个存储节点的对应关系。
[0155] 具体的,第一存储节点在指定了所述网络卷的逻辑地址之后,可以记录所述网络 卷与所述指定的逻辑地址的对应关系,以及每个节点对应的逻辑地址与每个存储节点的对 应关系。具体的,以表1为例,可以用网络卷的标识唯一标识所述网络卷,并采用映射表的 形式记录所述网络卷的标识与逻辑地址,以及每个逻辑地址所在的存储节点的对应关系。
[0156]

【权利要求】
1. 一种数据存储方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括主 机和多个存储节点,所述方法包括: 所述多个存储节点中的第一存储节点将目标数据切分为至少两个切片数据; 计算所述至少两个切片数据的校验数据,为所述校验数据分配校验地址; 确定每个切片数据的数据地址; 根据所述数据地址与存储节点的对应关系确定每个切片数据对应的存储节点,以及根 据所述校验地址与存储节点的对应关系确定校验数据对应的存储节点; 向每个切片数据对应的存储节点发送第一写数据请求,所述第一写数据请求包括切片 数据和数据地址,使得所述每个切片数据对应的存储节点根据数据地址与物理地址的映射 关系,将切片数据写入物理地址对应的存储空间中; 向校验数据对应的存储节点发送第二写数据请求,所述第二写数据请求包括校验数据 和校验地址,使得所述校验数据对应的存储节点根据校验地址与物理地址的映射关系,将 校验数据写入物理地址对应的存储空间中。
2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 接收所述主机发送的第三写数据请求,所述第三写数据请求包括网络卷的标识、数据 长度和所述目标数据; 所述将目标数据切分为至少两个切片数据具体包括:根据RAID类型和所述数据长度 将目标数据切分为至少两个切片数据,所述RAID类型是根据所述网络卷的标识确定的。
3. 根据权利要求2所述的方法,其特征在于,所述第三写数据请求还包括存储地址; 所述确定每个切片数据的数据地址具体包括:根据所述存储地址和所述数据长度确定 每个切片数据的数据地址。
4. 根据权利要求3所述的方法,其特征在于,所述方法还包括: 接收所述主机发送的第一读数据请求,所述第一读数据请求包括所述存储地址和所述 数据长度,所述第一读数据请求用于读取所述目标数据; 根据所述存储地址和所述数据长度确定所述目标数据包含的各个切片数据的数据地 址; 根据所述数据地址与存储节点的对应关系确定每个切片数据对应的存储节点; 向每个切片数据对应的存储节点发送第二读数据请求,所述第二读数据请求包括切片 数据的数据地址,使得所述每个切片数据对应的存储节点根据数据地址与物理地址的映射 关系,从所述物理地址对应的存储空间中读取所述切片数据并发送给所述第一存储节点; 接收每个切片数据对应的存储节点发送的切片数据,合并成所述目标数据发送给所述 主机。
5. -种存储设备,其特征在于,所述存储设备包括: 切分模块,用于将目标数据切分为至少两个切片数据; 计算模块,用于计算所述至少两个切片数据的校验数据,为所述校验数据分配校验地 址; 确定模块,用于确定每个切片数据的数据地址;根据所述数据地址与存储节点的对应 关系确定每个切片数据对应的存储节点,以及根据所述校验地址与存储节点的对应关系确 定校验数据对应的存储节点; 发送模块,用于向每个切片数据对应的存储节点发送第一写数据请求,所述第一写数 据请求包括切片数据和数据地址,使得所述每个切片数据对应的存储节点根据数据地址与 物理地址的映射关系,将切片数据写入物理地址对应的存储空间中;向校验数据对应的存 储节点发送第二写数据请求,所述第二写数据请求包括校验数据和校验地址,使得所述校 验数据对应的存储节点根据校验地址与物理地址的映射关系,将校验数据写入物理地址对 应的存储空间中。
6. 根据权利要求5所述的存储设备,其特征在于,所述存储设备还包括:接收模块; 所述接收模块,用于接收主机发送的第三写数据请求,所述第三写数据请求包括网络 卷的标识、数据长度和所述目标数据; 所述切分模块,具体用于根据RAID类型和所述数据长度将目标数据切分为至少两个 切片数据,所述RAID类型是根据所述网络卷的标识确定的。
7. 根据权利要求6所述的存储设备,其特征在于,所述第三写数据请求还包括存储地 址; 所述确定模块,具体用于根据所述存储地址和所述数据长度确定每个切片数据的数据 地址。
8. 根据权利要求7所述的存储设备,其特征在于, 所述接收模块,还用于接收所述主机发送的第一读数据请求,所述第一读数据请求包 括所述存储地址和所述数据长度,所述第一读数据请求用于读取所述目标数据; 所述确定模块,还用于根据所述存储地址和所述数据长度确定所述目标数据包含的各 个切片数据的数据地址;根据所述数据地址与存储节点的对应关系确定每个切片数据对应 的存储节点; 所述发送模块,还用于向每个切片数据对应的存储节点发送第二读数据请求,所述第 二读数据请求包括切片数据的数据地址,使得所述每个切片数据对应的存储节点根据数据 地址与物理地址的映射关系,从所述物理地址对应的存储空间中读取所述切片数据并发送 给所述第一存储节点; 所述接收模块,还用于接收每个切片数据对应的存储节点发送的切片数据,合并成所 述目标数据发送给所述主机。
9. 一种存储系统,其特征在于,所述存储系统包括如权利要求5-8任一权利要求所述 的存储设备以及主机; 所述主机,用于向所述存储设备发送第三写数据请求,所述第三写数据请求包括网络 卷的标识、数据长度和所述目标数据。
10. -种存储设备,其特征在于,包括:处理器、存储器和通信总线; 其中,所述处理器和所述存储器通过所述通信总线进行通信; 所述存储器用于保存程序; 所述处理器用于执行所述程序,以实现: 将目标数据切分为至少两个切片数据; 计算所述至少两个切片数据的校验数据,为所述校验数据分配校验地址; 确定每个切片数据的数据地址; 根据所述数据地址与存储节点的对应关系确定每个切片数据对应的存储节点,以及根 据所述校验地址与存储节点的对应关系确定校验数据对应的存储节点; 向每个切片数据对应的存储节点发送第一写数据请求,所述第一写数据请求包括切片 数据和数据地址,使得所述每个切片数据对应的存储节点根据数据地址与物理地址的映射 关系,将切片数据写入物理地址对应的存储空间中; 向校验数据对应的存储节点发送第二写数据请求,所述第二写数据请求包括校验数据 和校验地址,使得所述校验数据对应的存储节点根据校验地址与物理地址的映射关系,将 校验数据写入物理地址对应的存储空间中。
11. 根据权利要求10所述的存储设备,其特征在于, 所述处理器,还用于接收所述主机发送的第三写数据请求,所述第三写数据请求包括 网络卷的标识、数据长度和所述目标数据; 所述处理器,具体用于根据RAID类型和所述数据长度将目标数据切分为至少两个切 片数据,所述RAID类型是根据所述网络卷的标识确定的。
12. 根据权利要求11所述的存储设备,其特征在于,所述第三写数据请求还包括存储 地址;所述处理器,具体用于根据所述存储地址和所述数据长度确定每个切片数据的数据 地址。
【文档编号】H04L29/08GK104216664SQ201410428740
【公开日】2014年12月17日 申请日期:2013年6月26日 优先权日:2013年6月26日
【发明者】程菊生 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1