CN103797770A - 一种共享存储资源的方法和系统 - Google Patents
一种共享存储资源的方法和系统 Download PDFInfo
- Publication number
- CN103797770A CN103797770A CN201380002608.1A CN201380002608A CN103797770A CN 103797770 A CN103797770 A CN 103797770A CN 201380002608 A CN201380002608 A CN 201380002608A CN 103797770 A CN103797770 A CN 103797770A
- Authority
- CN
- China
- Prior art keywords
- data block
- read
- storage
- data
- control module
- 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
Images
Abstract
本发明实施例共享存储资源的方法和系统,将硬盘和存储阵列的存储资源划分为多个存储分区并组成共享存储资源池,为所述每个存储分区分配读写控制模块,并生成全局分区信息以记录所述共享存储资源池中的每个存储分区与读写控制模块的对应关系,使得后续接收到存储请求消息,能够确定所述存储请求消息对应的存储分区,并根据所述全局分区信息,确定所述存储请求消息对应的存储分区对应的读写控制模块,最终能够向确定的所述读写控制模块发送所述存储请求消息,以使所述读写控制模块执行所述存储请求消息所请求的操作。本发明实施例实现异构存储资源之间的快速简单融合,可以高效地利用各种存储资源,节约成本以及避免资源浪费。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种共享存储资源的方法和系统。
背景技术
在云计算应用中,服务器集群系统整合计算资源、存储资源和网络资源,利用虚拟化等技术并通过网络提供给用户使用。应用的形式例如为虚拟机(Virtual Machine,简称为“VM”)、计算能力、存储能力租用等。
目前,由于资源需求的类型不同等原因,服务器集群系统提供的存储资源通常采用不同的设备,存储资源来源多样化。例如,服务器节点的自带的存储资源,以及独立部署的存储资源,例如存储区域网络(Storage Area Network,简称为“SAN”)等专用存储阵列或存储服务器。
现有技术中,服务器集群系统各存储设备独立对外提供存储服务,存储资源的联合利用率并不高。再一方面,企业原始积累的网络存储设备的存储资源并不能那个被服务器集群系统再次利用,造成了极大的浪费。
发明内容
本发明实施例提供一种共享存储资源的方法和系统,以对异构存储资源进行整合和共享利用,提高存储资源利用率。
第一方面,本发明实施例提出了一种共享存储资源的方法,应用于服务器集群系统,所述服务器集群系统包括服务器节点和网络存储节点,所述服务器节点包括硬盘,所述网络存储节点包括存储阵列,所述方法包括:
将所述硬盘和所述存储阵列的存储资源划分为多个存储分区,所述多个存储分区组成共享存储资源池;
为所述每个存储分区分配读写控制模块;
生成全局分区信息,所述全局分区信息记录了所述共享存储资源池中的每个存储分区与读写控制模块的对应关系;
接收存储请求消息,确定所述存储请求消息对应的存储分区;
根据所述全局分区信息,确定所述存储请求消息对应的存储分区对应的读写控制模块;
向确定的所述读写控制模块发送所述存储请求消息,以使所述读写控制模块执行所述存储请求消息所请求的操作。
结合第一方面,在第一种可能的实现方式中,所述确定所述存储请求消息对应的存储分区包括:
确定所述存储请求消息待操作的数据所在的用户卷ID和所述待操作的数据的至少一个数据块的逻辑块地址LBA;
根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
建立所述共享存储资源池的每个存储分区的元数据,所述每个存储分区的元数据记录本存储分区ID与被分配到本存储分区的数据块ID的对应关系;
则,所述根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区包括:
根据所述用户卷ID和所述至少一个数据块的LBA确定所述至少一个数据块的ID,查询所述每个存储分区的元数据,确定所述至少一个数据块对应的存储分区的ID。
结合第一方面或者第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区包括:
将所述用户卷ID和每个数据块的LBA组成所述每个数据块的key值,计算所述每个数据块的key值对应的value值,根据所述value值确定所述每个数据块对应的存储分区。
结合第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述接收存储请求消息包括:接收创建用户卷的命令,所述创建用户卷的命令指示所述用户卷的大小;
则所述确定所述存储请求消息待操作的数据所在的用户卷ID和所述待操作的数据的至少一个数据块的逻辑块地址LBA,根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区,包括:
为所述用户卷分配所述用户卷ID;
根据所述所述用户卷的大小,确定分配给所述用户卷的初始存储资源的大小,根据所述初始存储资源的大小确定至少一个数据块的LBA;
根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区。
结合第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述接收存储请求消息包括:接收写数据操作请求;
根据所述写数据操作请求携带的文件名,确定当前写操作对应的用户卷ID;
将待写入的数据划分为多个待写入数据块,并为每个待写入数据块分配LBA;
根据所述当前写操作对应的用户卷ID和所述每个待写入数据块的LBA,确定所述每个待写入数据块对应的存储分区;
根据所述全局分区信息,确定所述每个待写入数据块对应的存储分区所对应的读写控制模块;
生成多个数据块写命令,其中,每个数据块写命令对应一个所述待写入数据块,所述每个数据块写命令携带待写入数据块以及待写入数据的ID;
分别向所述每个待写入数据块对应的读写控制模块发送所述每个数据块写命令,以使得所述每个待写入数据块对应的读写控制模块将所述每个待写入数据块写入存储硬件资源。
结合第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述接收存储请求消息包括:接收读数据操作请求,所述读数据操作请求携带文件名和待读取数据的偏移量;
则根据所述读数据操作请求携带的文件名,确定当前读操作对应的用户卷ID;
根据所述待读取数据的偏移量信息,确定多个待读取数据块的LBA;
根据所述当前读操作对应的用户卷ID和每个待读取数据块的LBA,确定所述每个待读取数据块对应的存储分区;
根据所述全局分区信息,确定所述多个待读取数据块对应的存储分区所对应的读写控制模块;
生成多个数据块读命令,其中,每个数据块读命令对应一个所述待读取数据块,所述每个数据块读命令携带待读取数据块以及待读取数据块的ID;
分别向所述每个待读取数据块对应的读写控制模块发送所述每个数据块读命令,以使得所述每个待读取数据块对应的读写控制模块读取所述每个待读取数据块。
第二方面,本发明实施例提出了一种服务器集群系统,所述服务器集群系统包括服务器节点和网络存储节点,所述服务器节点包括硬盘,所述网络存储节点包括存储阵列,所述服务器节点上运行分布式存储控制器,所述分布式存储控制器包括:
元数据控制器,用于将所述硬盘和所述存储阵列的存储资源划分为多个存储分区,所述多个存储分区组成共享存储资源池,为所述每个存储分区分配读写控制模块,生成全局分区信息,所述全局分区信息记录了所述共享存储资源池中的每个存储分区与读写控制模块的对应关系,以及向虚拟块服务模块下发所述全局分区信息;
所述虚拟块服务模块,用于面向业务层,接收存储请求消息,确定所述存储请求消息对应的存储分区,根据所述全局分区信息,确定所述存储请求消息对应的存储分区对应的读写控制模块,以及向确定的所述读写控制模块发送所述存储请求消息;
所述读写控制模块,用于面向所述硬盘或所述网络存储节点,执行所述存储请求消息所请求的操作。
结合第二方面,在第一种可能的实现方式中,所述读写控制模块包括对象存储代理和网络存储代理;
所述元数据控制器具体用于为所述本地硬盘组成的存储分区分配所述对象存储代理作为读写控制模块,为所述存储阵列组成的存储分区分配所述网络存储代理作为读写控制模块;
所述对象存储代理,用于接收存储请求消息,确定所述存储请求消息对应的物理地址,根据所述物理地址在所述硬盘上执行所述存储请求消息所请求的操作;
所述网络存储代理,用于接收存储请求消息,确定所述存储请求消息对应的网络存储节点的逻辑地址,根据所述逻辑地址在所述存储阵列上执行所述存储请求消息所请求的操作。
结合第二方面,在第二种可能的实现方式中,所述虚拟块服务模块,具体用于确定所述存储请求消息待操作的数据所在的用户卷ID和所述待操作的数据的至少一个数据块的逻辑块地址LBA,根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述虚拟块服务模块,具体用于建立所述共享存储资源池的每个存储分区的元数据,所述每个存储分区的元数据记录本存储分区ID与被分配到本存储分区的数据块ID的对应关系,根据所述用户卷ID和所述至少一个数据块的LBA确定所述至少一个数据块的ID,查询所述每个存储分区的元数据,确定所述至少一个数据块对应的存储分区的ID。
结合第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述虚拟块服务模块,具体用于将所述用户卷ID和每个数据块的LBA组成所述每个数据块的key值,计算所述每个数据块的key值对应的value值,根据所述value值确定所述每个数据块对应的存储分区。
结合第二方面以及第二方面的任意一种可能的实现方式,在第五种可能的实现方式中,所述虚拟块服务模块,具体用于接收创建用户卷的命令,所述创建用户卷的命令指示所述用户卷的大小,为所述用户卷分配所述用户卷ID,根据所述所述用户卷的大小,确定分配给所述用户卷的初始存储资源的大小,根据所述初始存储资源的大小确定至少一个数据块的LBA,以及根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区。
结合第二方面以及第二方面的任意一种可能的实现方式,在第六种可能的实现方式中,所述虚拟块服务模块,具体用于接收写数据操作请求,根据所述写数据操作请求携带的文件名,确定当前写操作对应的用户卷ID,将待写入的数据划分为多个待写入数据块,并为每个待写入数据块分配LBA,根据所述当前写操作对应的用户卷ID和所述每个待写入数据块的LBA,确定所述每个待写入数据块对应的存储分区,根据所述全局分区信息,确定所述每个待写入数据块对应的存储分区所对应的读写控制模块,生成多个数据块写命令,其中,每个数据块写命令对应一个所述待写入数据块,所述每个数据块写命令携带待写入数据块以及待写入数据的ID,以及分别向所述每个待写入数据块对应的读写控制模块发送所述每个数据块写命令。
结合第二方面以及第二方面的任意一种可能的实现方式,在第七种可能的实现方式中,所述虚拟块服务模块,具体用于接收读数据操作请求,所述读数据操作请求携带文件名和待读取数据的偏移量,根据所述读数据操作请求携带的文件名,确定当前读操作对应的用户卷ID,根据所述待读取数据的偏移量信息,确定多个待读取数据块的LBA,以及根据所述当前读操作对应的用户卷ID和每个待读取数据块的LBA,确定所述每个待读取数据块对应的存储分区,根据所述全局分区信息,确定所述多个待读取数据块对应的存储分区所对应的读写控制模块,生成多个数据块读命令,其中,每个数据块读命令对应一个所述待读取数据块,所述每个数据块读命令携带待读取数据块以及待读取数据块的ID,以及分别向所述每个待读取数据块对应的读写控制模块发送所述每个数据块读命令。
结合第二方面以及第二方面的任意一种可能的实现方式,在第八种可能的实现方式中,所述元数据控制器,还用于分别确定所述对象存储代理和所述网络存储代理在所述服务器节点上的部署情况,并根据确定的部署情况生成读写控制模块的视图信息,所述读写控制模块的视图信息用于指示每个读写控制模块部署的服务器节点的信息,以及向所述虚拟块服务模块下发所述读写控制模块的视图信息;
所述虚拟块服务模块,具体用于根据所述读写控制模块的视图信息确定读写控制模块的路由信息,向确定的所述读写控制模块发送所述存储请求消息。
结合第二方面的第八种可能的实现方式,在第九种可能的实现方式中,所述元数据控制器具体用于确定将所述对象存储代理部署在所述服务器集群系统中具备硬盘资源的服务器节点上,以及确定将所述网络存储代理部署在所述服务器集群系统中的负载小的服务器节点上。
结合第二方面的第八种可能的实现方式,在第十种可能的实现方式中,所述元数据控制器,还用于搜集所述服务器节点的硬盘的可用存储资源和所述网络存储节点的存储阵列的可用存储资源,将所述硬盘和所述存储阵列的可用存储资源划分为多个存储分区。
第三方面,本发明实施例提供一种计算机。
第四方面,本发明实施例提供一种计算机存储介质。
由上述技术方案可知,本发明实施例,将硬盘和存储阵列的存储资源划分为多个存储分区并组成共享存储资源池,为所述每个存储分区分配读写控制模块,并生成全局分区信息以记录所述共享存储资源池中的每个存储分区与读写控制模块的对应关系,使得后续接收到存储请求消息,能够确定所述存储请求消息对应的存储分区,并根据所述全局分区信息,确定所述存储请求消息对应的存储分区对应的读写控制模块,最终能够向确定的所述读写控制模块发送所述存储请求消息,以使所述读写控制模块执行所述存储请求消息所请求的操作。本发明实施例实现异构存储资源之间的快速简单融合,可以高效地利用各种存储资源,节约成本以及避免资源浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例。
图1为本发明实施例提供的服务器集群系统的示意性框图;
图2为本发明实施例提供的共享存储资源的划分示意图;
图3为本发明实施例提供的使用共享存储资源的流程图;
图4为本发明实施例提供的使用共享存储资源的又一流程图;
图5为本发明实施例提供的使用共享存储资源的又一流程图;
图6为本发明实施例提供的服务器集群系统的又一示意性框图;
图7是根据本发明实施例提供的一种计算机的组成图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明实施例提供的技术方案通过在服务器上部署分布式控制器来实现异构存储资源的融合,实现无需另外购买异构存储融合的设备,即可实现异构存储资源的融合和利用,提升系统的性价比。
本发明实施例在实现计算资源与存储资源的垂直融合的基础上,再将各种存储资源进行水平整合,尤其是对异构存储资源进行整合和利用,本发明实施例通过在服务器上部署分布式存储控制器,将各种异构存储资源组成集群共享存储资源池,统一进行存储资源的分配和管理。通过这种方法,可以实现异构存储资源之间的快速简单融合,可以高效地利用各种存储资源,节约成本以及避免资源浪费。
本发明实施例所说的异构存储资源,指的是两种或者两种以上不同类型的存储设备,具体来说,第一种存储设备意指服务器节点自带的本地硬盘,例如固态硬盘(Solid State Disk,SSD)、机械硬盘(Hard Disk,HD)、混合硬盘(HybridHard Disk,HHD)等;第二种存储设备意指网络存储节点,所述的网络存储节点可以是存储区域网络(Storage Area Network,SAN)存储设备,也可以是网络附加存储(Network Attached Storage,NAS)存储设备,所述的网络存储节点为服务器外置的硬件设备,并非服务器自身所带的设备。
如图1所示,为本发明实施例提供的服务器集群系统的组成图,该服务器集群系统通过网络层与应用客户端或者存储管理中心通信,所述服务器集群系统由服务器节点和网络存储节点(本实施例以SAN存储设备为例)组成,服务器节点和网络存储节点均可以是一个或多个,本实施例以2台SAN存储节点为例,每台服务器节点的物理设备包含CPU、内存、网络和硬盘等,网络存储节点的物理设备包含存储阵列和存储阵列的控制器,本实施例将服务器节点的CPU和内存等用于为接入所述服务器集群系统的应用程序提供计算资源的物理设备统称为所述服务器集群系统的计算资源,其为组成计算层的基础,将存储资源层的服务器节点的硬盘和网络存储节点的存储阵列统称为统称为所述服务器集群系统的存储资源。
所述服务器集群用于对外将计算资源提供给不同的应用程序使用,例如可以在所述服务器集群上运行WEB应用或者HADOOP分布式集群系统。所述服务器集群的计算资源还可以进一步被抽象成多台虚拟机,在每台虚拟机上运行不同的应用程序,或者多台虚拟机组成虚拟机集群从而为同一个应用程序提供服务,本实施例对具体实现形式不拘一格。当所述服务器集群上运行应用程序,所述应用程序的相关数据可以存储在所述服务器集群系统的存储资源上,即存储在服务器节点的硬盘上或者SAN节点的存储阵列中,也可以同时存储在服务器节点的硬盘和SAN节点的存储阵列中。
本发明实施例的所述服务器集群系统还运行了分布式存储控制器,所述分布式存储控制器用于将服务器节点的硬盘和网络存储节点(如SAN)提供的存储阵列的存储资源划分为多个存储分区,所述多个存储分区组成所述服务器集群系统的共享存储资源池,运行在所述服务器集群上的应用程序可以从所述共享存储资源池中获得分布的存储资源块并进行使用,保证了存储资源的较高的利用率和存储的均匀分布,并由此提升了存储资源的读写效率。在本发明实施例中所述分布式存储控制器通过安装在服务器的硬件设备上的软件模块来实现,从而可以避免另外购置硬件设备作为存储控制设备的问题,解决方案更加经济并节约成本。
本发明实施例所述分布式存储控制器是对每台服务器节点上运行的存储控制功能模块的统称,作为解决方案提供的分布式存储控制器可以包含不同的功能模块,而在实际部署的时候,每台服务器节点根据其功能和部署策略可以运行分布式存储控制器的不同的功能模块,也就是说,根据服务器集群的部署策略,可以在不同的服务器节点上运行分布式存储控制器的不同的功能模块,每台服务器节点可以运行分布式存储控制器所有的功能模块,也可以运行分布式存储控制器部分的功能模块,具体部署方式下文将详细描述。
所述分布式存储控制器主要用于:对所述服务器集群系统的计算资源提供数据访问的接口,以及对所述服务器集群系统的共享存储资源进行管理和读写控制。
具体地,所述分布式存储控制器从功能上可以划分为如下模块:
元数据控制器MDC,用于获取服务器节点本地硬盘的存储资源和网络存储节点的存储阵列的存储资源,将所述服务器节点的存储资源和网络存储节点的存储资源划分为多个存储分区(partition),并为每个存储分区分配一个存储分区标识,再将所述多个存储分区组成一个共享存储资源池,以供运行在所述服务器集群系统上的应用程序使用共享存储资源。
具体地,所述MDC可以先对服务器节点的硬盘资源和网络存储节点的存储阵列进行健康检查,搜集其中可用的存储资源形成所述共享存储资源池。所述MDC在划分分区的时候,可以划分为相同大小的存储分区,例如以10GB为单位划分。其中,所述MDC搜集的所述存储资源可以包括:每块硬盘的容量和ID、每块硬盘所在的服务器的ID、每个存储阵列包含的每个逻辑存储单元LUN的容量和ID,以及每个LUN所在的网络存储节点的ID。
所述MDC搜集到的存储资源的信息举例如下:
Disk ID=1,Disk Capacity=50GB,Server ID=1;
Disk ID=2,Disk Capacity=50GB,Server ID=1;
Disk ID=3,Disk Capacity=50GB,Server ID=2;
LUN=1,LUN Capacity=50GB,SAN ID=1;
LUN=2,LUN Capacity=50GB,SAN ID=1;
LUN=3,LUN Capacity=50GB,SAN ID=1。
MDC搜集到上述存储资源的信息后,将上述Disk1-3和LUN1-3的存储资源划分为多个存储分区,每个存储分区可以是均分,也可以是不均分,例如,以10GB大小均分所述存储资源,将所述DISK和LUN的存储资源划分为30个存储分区,每个存储分区为10GB,每个存储分区的分区标识为1-30,即P1-P30,MDC将P1-P30组成一个共享存储资源池,其中P1-P15由服务器节点自带的硬盘的存储资源组成,P16-P30由SAN节点的存储阵列的存储资源组成。即,所述共享存储资源包括两类存储分区,第一类存储分区为P1-P15,第二类存储分区为P16-P30。
所述分布式存储控制器还包括读写控制模块,本实施例中读写控制模块包括对象存储代理(Object Storage Delegate,OSD)和网络存储代理(SAN StorageAgent,SSA),其中,所述OSD用于对服务器节点自带的硬盘的存储资源进行读写控制,即实现数据到服务器节点的本地硬盘的存放与获取,例如对本实施例中的存储分区P1-P15进行读写控制;所述SSA对SAN节点的存储阵列的存储资源进行读写控制,即实现数据到SAN节点的存储阵列的存放与获取,例如对本实施例中的存储分区P16-P30进行读写控制。所述OSD和所述SSA均为所述分布式存储控制器的功能模块,所述MDC在搜集服务器集群系统的存储资源的信息后,还可以根据存储资源的部署情况确定所述OSD和SSA如何在所述服务器集群系统中进行部署。具体地,所述MDC可以将OSD运行在所述服务器集群系统中具有本地硬盘的每个服务器节点中,所述MDC可以将SSA运行在所述服务器集群系统中的每个服务器节点中,也可以根据每个服务器节点的负载情况将SSA部署在负载较小的服务器节点上,例如,所述MDC可以统一计算所有服务器节点上的计算资源的负载情况,并根据每个SAN存储节点的存储阵列的容量大小,按照权重生成全局的SSA的部署信息。在本实施例中,例如所述MDC在服务器节点1上运行OSD1,在服务器节点2上运行OSD2,在服务器节点2上运行SSA1。
所述MDC所述MDC确定所述OSD和SSA的部署情况之后,还可以记录OSD视图信息和SSA视图信息,所述OSD视图信息包括OSD对应部署在哪个服务器上,用于指示所述OSD的路由信息,进一步地,所述OSD视图还可以包含每个OSD以及其对应的状态以及每个OSD对应管理哪些DISK,所述SSA视图信息包括SSA对应部署在哪个服务器上,用于指示所述SSA的路由信息,进一步地,还包括每个SSA的状态以及每个SSA对应管理哪些SAN存储阵列的LUN,例如下表一和表二分别为OSD视图信息和SSA视图信息:
表一:OSD视图信息
表二:SSA视图信息
上述表一和表二将OSD和SSA的视图信息分开描述,本领域技术人员也可以将上述表一和表二合并为一个读写控制模块的视图信息。
所述MDC在划分了存储分区和确定了读写控制模块的部署之后,还可以为每个存储分区配置对应的读写控制模块,所述分配过程可以比较灵活,由所述MDC根据存储分区的划分情况和实际运行负载确定,例如P1-10对应部署在服务器节点1上,由服务器节点1上运行的OSD1作为所述存储分区的读写控制模块,P11-20对应部署在服务器节点2上,由服务器节点2上运行的OSD2作为所述存储分区的读写控制模块,P21-30对应部署在服务器节点2上,由服务器节点2上运行的SSA1作为所述存储分区的读写控制模块。
进一步,所述MDC还可以生成全局分区信息(本发明实施例以全局分区信息表为例),所述全局分区信息表记录了所述服务器集群系统中的存储分区的分布情况,如图2和表三所示,所述全局分区信息表中记录每个存储分区对应的读写控制模块(OSD或SSA)。所述全局分区信息表还可以记录每个存储分区对应的源存储设备的信息,例如磁盘编号或者物理地址信息。
如表三,P1对应的读写控制模块为OSD1,P1对应的源存储单元为SERVER1中的DISK1,P1对应的源物理地址为100-199。
表三:全局分区信息表
所述分布式存储控制器还包括虚拟块服务VBS。所述MDC完成存储分区和读写控制模块的部署之后,还可以将上述全局分区信息表和读写控制模块视图信息下发到所述VBS。所述VBS根据所述MDC下发的信息获得I/O视图,所述I/0视图是全局分区信息表的一个子表,用于表明每个存储分区实际的读写控制模块,其包含存储分区与读写控制模块的对应关系,所述I/0视图可以是所述MDC直接下发给所述VBS的,也可以是所述VBS根据MDC模块下发的全局分区信息表生成的。
所述VBS可以运行在所述服务器集群系统中的每个服务器节点上,作为存储的驱动层,用于向所述服务器集群系统的应用模块提供块访问接口,例如基于SCSI的块设备访问接口,所述VBS接收上层应用下发的数据读写请求后,确定所述数据读写请求所需要读写的存储分区,并根据所述I/0视图中的视图规则,确定当前数据读写请求所请求的存储分区所对应的读写控制模块(OSD和SSA),将读写数据请求下发给对应的读写控制模块,以完成数据的读写。
具体地,所述VBS还可以支持对全局元数据进行管理,所述全局元数据记录所述服务器集群系统中的共享存储资源池中的存储分区的全局使用情况以及每个存储分区的元数据。所述全局使用情况包括已经占用的存储分区的信息和空闲的存储分区的信息。所述每个存储分区的元数据用于表明每个存储分区的分配情况,本发明实施例中存储分区的分配采用块数据的存储分配方式,也就是说,每个存储分区的使用单位采用数据块为单位,所述存储分区的使用包括读、写或者分配等方式,例如所述存储分区在被分配到用户卷的时候,采用数据块为单位进行分配,举例来说,本发明实施例中的每个存储分区的大小为10GB,所述10GB可以被均分为10240个数据块(Block),读取数据到每个存储分区或者写入数据到每个存储分区的时候,以数据块为单位进行读写,因此,每个存储分区的元数据具体包括每个存储分区所分配的Block ID的对应关系,每个存储分区被分配了多个数据块。每个数据块的大小可以平均,也可以不限定,本发明实施例以每个数据块的大小为1MB为例。另外,本发明实施例中每个数据块的ID可以由该数据块对应的用户卷的ID组成,也可以由该数据块对应的用户卷的ID和逻辑块地址(Logical Block Address,LBA)组成。
每个存储分区的元数据,例如,如表四所示:
表四:存储分区的元数据
其中,存储分区与分配的数据块的对应关系可以采用Key-Value索引形式,其中,数据块的ID为Key值,例如Key值与用户卷的标识和数据块的逻辑块地址有关,存储分区的ID为Value值。需要说明的是,如果是采用Key-Value索引形式,所述VBS也可以不用维护上述表四,而直接通过算法确定对应关系。所述VBS可以在启动的时候,通过遍历服务器节点的硬盘和SAN节点的存储阵列的磁盘,获取存储资源的分配信息,并根据MDC下发的全局分区信息表,对存储元数据进行初始化。
所述分布式存储控制器还包括读写控制模块,例如对服务器节点的硬盘资源进行读写控制的OSD,以及对网络存储节点的存储阵列的存储资源进行读写控制的SSA。
具体地,所述OSD主要接收VBS的读写命令,完成数据到服务器节点的硬盘的存放与获取。所述SSA主要接收VBS的读写命令,完成数据到SAN节点的硬盘的存放与获取,所述SSA用于实现SAN设备在主机上的代理,每一个物理SAN设备的存储信息在SSA中都建立了视图,对每个物理SAN/NAS设备的访问都是通过其代理进行的,SSA增加了iSCSI的接口功能。
进一步,如果对所述共享存储资源池中的存储分区采用统一地址的方式分配物理地址,则所述SSA还可以维护统一的物理地址与SAN节点上的原始LUN地址的对应关系,所述SSA还可以根据所述对应关系,确定读写请求所对应的原始LUN的地址。
上述的服务器集群系统,由于运行了分布式存储控制器,所述分布式存储控制器上的MDC、VBS以及OSD、SSA能够实现对异构存储资源进行整合和利用,将各种异构存储资源组成集群共享资源池,统一进行存储资源的分配和管理,提高存储资源的利用率,并且可以实现多个存储分区同时读或写,则提高了读写性能,提升了系统的息率。
结合图1,图3为本发明实施例提供的采用异构存储资源整合的服务器集群系统中创建用户卷的处理流程:
S301:服务器集群系统中的一个服务器节点上部署的VBS接收到应用端发送的创建用户卷的命令;
具体地,运行在所述服务器集群上的应用端的某应用程序(例如某台虚拟机)发起创建用户卷的命令,该命令被应用管理器转发到所述服务器集群中的任意一个服务器节点上部署的VBS(一种优选的方式是,发起命令的虚拟机的计算资源所在的服务器节点的VBS接收到该创建用户卷的命令);优选地,如果本发明实施例中的服务器集群系统进一步提供主备VBS的功能,则该接收到创建用户卷的命令后,可以进一步判断自身是不是所述服务器集群中的主VBS,如果不是,将所述创建用户卷的命令转发给主VBS。事实上,VBS的部署比较灵活,所述服务器集群系统每个服务器节点上安装的VBS可以不分主次,此时每个VBS的配置和功能等同,也可以在服务器集群系统中选择一个VBS作为主VBS,其它VBS作为备份VBS,主VBS用于实现用户卷/数据块的分配以及存储分区的元数据管理,备份VBS用于向主VBS查询元数据以及根据主VBS的命令执行操作。本发明实施例以服务器集群系统实现主备VBS为例。
S302:所述主VBS根据所述创建用户卷的命令所指示的卷的大小信息,查询全局元数据,确定共享存储资源池的剩余资源是否满足要求,如果满足,则创建所述用户卷,即确定所述用户卷的卷标识(ID),并为所述用户卷分配初始存储分区,将所述用户卷的标识和分配的初始存储分区的信息记录在所述初始存储分区的元数据中。
具体地,如果所述创建用户卷的命令已经指定所述用户卷的ID,则所述主VBS直接使用所述创建用户卷的命令中的所述用户卷的ID,如果所述创建用户卷的命令未指定所述用户卷的ID,则所述VBS为所述用户卷分配用户卷的ID。
所述VBS在创建所述用户卷的过程中,还可以进一步为所述用户卷分配初始存储分区,即从空闲的存储分区中挑选某些存储分区作为所述用户卷的初始存储分区。所述用户卷的初始存储资源的大小可以根据所述创建用户卷的命令指定的用户卷的容量灵活分配,可以将所述创建用户卷的命令指定的用户卷的容量全部作为初始存储分区的容量,例如所述创建用户卷的命令请求创建一个5GB的用户卷,所述VBS可以将5GB全部分配给所述用户卷作为初始存储分区,即将5GB划分为5120个1MB的数据块,将这5120个数据块分布部署在P1-P30的存储分区中,此时初始存储分区的大小为5GB;所述VBS也可以使用瘦分配的方式,根据所述共享存储资源池中的实际情况为所述用户卷分配一部分的存储资源,例如为所述用户卷分配1GB的初始存储资源,将1GB划分为1024个1MB的数据块,将这1024个数据块分布部署在P1-P30的存储分区中,此时初始存储分区的大小为1GB。
所述VBS将所述用户卷ID和分配的初始存储分区的信息记录到全局元数据中的每个初始存储分区的元数据信息中。
所述VBS在为所述用户卷分配初始存储分区的时候,也为每个用户卷的每个数据块分配对应的源物理地址。
S303:所述主VBS挂载所述用户卷,并在挂载成功后,生成一个虚拟存储设备;
S304:所述主VBS向所述应用端返回所述虚拟存储设备的信息;
S305:所述主VBS将所述全局元数据返回给服务器集群系统中的MDC,以供所述MDC根据所述全局元数据更新全局分区信息表。
其中,步骤305为可选步骤,其实施顺序也可灵活进行。
结合图1,图4为本发明实施例提供的采用异构存储资源整合的服务器集群系统中用户写数据的处理流程:
S401:运行在所述服务器进群系统上的任意一个应用程序发起写数据操作之后,服务器集群系统中的VBS接收到写数据操作请求。
所述写数据操作请求携带文件名和待写入数据本身。
S402:所述VBS根据所述写数据操作请求携带的文件名,确定当前写操作对应的用户卷ID;
所述VBS还可以根据所述待写入数据计算待写入数据的大小。
所述VBS为所述待写入数据分配LBA(本步骤分配LBA为可选的,所述VBS也可以在此步骤不为所述待写入数据分配LBA)。
例如,所述VBS确定所述当前写操作的Volume ID1,Size=1GB,LBA:001×-221×。
S403:所述VBS将所述待写入数据分割为多个数据块,并为所述每个数据块分配LBA。
其中,所述VBS分割所述待写入数据可以按照一定单位大小进行均匀分割,例如按照1MB进行分割,即按照每个存储分区的每次的使用单位进行分割,在本实施例中,所述VBS将所述Size=1GB的待写入数据分割为1024个数据块,每个数据块的大小为1MB,若待写入数据的余数不足1MB,最后一个数据块的大小为余数的实际大小。所述VBS还为每个数据块分配对应的LBA。
例如:
Block1LBA:0000-1024
Block2LBA:1025-2048
……
S404:所述VBS为所述每个数据块确定对应的存储分区;
具体地,所述VBS先确定每个待写入数据块的逻辑块地址(LBA),再将所述用户卷ID和每个数据块的LBA组合成每个数据块key值,根据分布式存储的算法,例如哈希算法,为每个数据块确定对应的存储分区。这里的LBA可以是对原LBA处理后的值,如block1对应的LBA0000-1024对应1,block2对应的LBA1025-2048对应2。
S405:所述VBS生成多个数据块写命令,其中,每个所述数据块对应一个所述数据块写命令,每个数据块写命令携带待写入数据块本身,以及待写入数据块ID(例如Block ID由用户卷ID和待写入数据块LBA组成)。
本步骤也可以在后续步骤执行完成后再执行,具体实施无时序限定。
S406:所述VBS根据所述每个数据块对应的存储分区,确定每个数据块所对应的读写控制模块。
具体地,所述VBS根据全局分区信息表,确定每个数据块对应的读写控制模块。
S407:所述VBS分别向每个数据块对应的读写控制模块发送所述每个数据块写命令,以使得每个数据块对应的读写控制模块将所述每个数据块写入存储硬件资源上。
具体地,如果是OSD接收到数据块写命令,所述OSD根据所述待写入数据块的ID查询自身保存的数据块元数据确定是否自身是否对该数据块ID进行第一次操作,如果是第一次操作,则为所述待写入数据块分配实际的物理地址,将所述待写入数据块写入所述物理地址对应的磁盘中,并更新自身保存的数据块元数据,记录所述待写入数据块的ID与物理地址的对应关系;如果非第一次操作,所述OSD根据所述待写入数据块的ID查询自身保存的数据块元数据,确定所述待写入数据块对应的物理地址,将所述待写入数据块写入所述查询到的物理地址。
如果是SSA接收到数据块写命令,所述SSA根据所述待写入数据块的ID查询自身保存的数据块元数据确定是否自身是否对该数据块ID进行第一次操作,如果是第一次操作,则为所述待写入数据块分配实际的SAN存储节点的存储阵列上的逻辑地址,即LUN的地址,将所述待写入数据块写入所述LUN的地址对应的磁盘中,并更新自身保存的数据块元数据,记录所述待写入数据块的ID与LUN的地址的对应关系;如果非第一次操作,所述OSD根据所述待写入数据块的ID查询自身保存的数据块元数据,确定所述待写入数据块对应的LUN的地址,将所述待写入数据块写入所述查询到的LUN的地址。
其中,所述OSD或者SSA在写操作的时候,可以将所述数据块先写到本地高速缓存层即返回响应消息,提高存储效率。
结合图1,图5为本发明实施例提供的采用异构存储资源整合的服务器集群系统中用户读数据的处理流程:
S501:运行在所述服务器进群系统上的任意一个应用程序发起读数据操作之后,服务器集群系统中的VBS接收到读数据操作请求。
所述读数据操作请求携带文件名和待读取数据的偏移量信息。
S502:所述VBS根据所述读数据操作请求携带的文件名,确定当前读操作对应的用户卷ID,根据所述待读取数据的偏移量信息确定所述待读取数据的LBA。
S503:所述VBS根据所述用户卷的ID和待读取数据的LBA,确定多个待读取数据块。
具体地,所述每个待读取数据块的ID由所述用户卷和每个数据块的LBA组成,每个数据块的LBA可以根据待读取的数据量的大小和待读取的数据的偏移量确定。
S504:所述VBS为所述每个待读取数据块确定对应的存储分区;
具体地,所述VBS先确定每个待读取数据块的逻辑块地址(LBA),再将所述用户卷ID和每个数据块的LBA组合成每个数据块key值,根据分布式存储的算法,例如哈希算法,为每个数据块确定对应的存储分区。
S505:所述VBS生成多个数据块读命令,其中,每个所述数据块对应一个所述数据块读命令,每个数据块读命令携带待读取数据块的ID(例如Block ID由用户卷ID和待读取数据块LBA组成。
S506:所述VBS根据所述每个数据块对应的存储分区,确定每个数据块所对应的读写控制模块。
具体地,所述VBS根据全局分区信息表,确定每个数据块对应的读写控制模块。
S507:所述VBS分别向每个数据块对应的读写控制模块发送所述每个数据块读命令,以使得每个数据块对应的读写控制模块从存储硬件资源读取每个待读取数据块。
具体地,如果是OSD接收到数据块读命令,所述OSD根据所述待读取数据块的ID查询自身保存的数据块元数据确定所述待读取数据块分配实际的物理地址,从所述物理地址对应的磁盘读取所述待写入数据块中。
如果是SSA接收到数据块写命令,所述SSA根据所述待写入数据块的ID查询自身保存的数据块元数据确定所述待读取数据块分配实际的SAN存储节点的存储阵列上的逻辑地址,即LUN的地址,从所述LUN的地址对应的磁盘中读取所述待读取数据块。
通过本发明实施例提供计算存储融合的集群系统,在硬件上解决了现有技术中因为使用专用SAN而导致的操作复杂、成本较高的问题;存储设备可以有多个,每个存储设备上都可以部署缓存,在硬件上极大的提升了存储端缓存的扩展能力;存储资源不依赖于计算资源,存储资源可以独立的增加和减少,增强了系统的可扩展性;将系统中的持久化磁盘、缓存资源虚拟化为共享资源池并被所有计算共享,数据读写时所有计算和存储都可以参与,通过并发性的提高而提升了系统的存储性能。另外,由于本发明实施例提供计算存储融合的集群系统采用高速数据交换网络进行通信,进一步加快了数据的交换速度。
如图6所示,为本发明实施例提供的服务器集群系统的又一组成图,所述服务器集群系统包括服务器节点1和2,以及网络存储节点,即A厂家的SAN设备,所述服务器节点1包括硬盘1和2,所述服务器节点2包括硬盘3,所述网络存储节点包括存储阵列,即LUN1和LUN2,所述服务器节点上运行分布式存储控制器,所述分布式存储控制器包括:
元数据控制器,本实施例中部署在两个服务器节点上,其中,部署在服务器节点1的为主MDC,部署在服务器节点2的为备MDC,所述元数据控制器用于将所述硬盘和所述存储阵列的存储资源划分为多个存储分区,所述多个存储分区组成共享存储资源池,为所述每个存储分区分配读写控制模块,生成全局分区信息,所述全局分区信息记录了所述共享存储资源池中的每个存储分区与读写控制模块的对应关系,以及向虚拟块服务模块下发所述全局分区信息;
所述虚拟块服务模块,本实施例中每个服务器节点都部署了VBS,用于面向业务层,接收存储请求消息,确定所述存储请求消息对应的存储分区,根据所述全局分区信息,确定所述存储请求消息对应的存储分区对应的读写控制模块,以及向确定的所述读写控制模块发送所述存储请求消息;
所述读写控制模块,用于面向所述硬盘或所述网络存储节点,执行所述存储请求消息所请求的操作。本实施例中包括部署在服务器节点1的OSD1和OSD2,以及部署在服务器节点2的OSD3、SSA1和SSA2,其中,所述OSD1用于对硬盘1进行读写控制,所述OSD2用于对硬盘2进行读写控制,所述OSD3用于对硬盘3进行读写控制,所述SSA1用于对LUN1进行读写控制,所述SSA2用于对LUN2进行读写控制。
所述元数据控制器,还用于分别确定所述对象存储代理和所述网络存储代理在所述服务器节点上的部署情况,并根据确定的部署情况生成读写控制模块的视图信息,所述读写控制模块的视图信息用于指示每个读写控制模块部署的服务器节点的信息,以及向所述虚拟块服务模块下发所述读写控制模块的视图信息;
进一步,所述元数据控制器具体用于确定将所述对象存储代理部署在所述服务器集群系统中具备硬盘资源的服务器节点上,以及确定将所述网络存储代理部署在所述服务器集群系统中的负载小的服务器节点上。
如本实施例中,所述元数据控制器将SSA1和SSA2部署在服务器节点2上。
所述虚拟块服务模块,具体用于根据所述读写控制模块的视图信息确定读写控制模块的路由信息,向确定的所述读写控制模块发送所述存储请求消息。
图6所示的本实施例,还可以执行如图3-5任意之一所说的方法,本发明实施例在此不再赘述。
如图7,为本发明实施例的计算机的结构组成示意图。本发明实施例的计算机可包括:
处理器701、存储器702、系统总线704和通信接口705。CPU701、存储器702和通信接口705之间通过系统总线704连接并完成相互间的通信。
处理器701可能为单核或多核中央处理单元,或者为特定集合成电路,或者为被配置成实施本发明实施例的一个或多个集合成电路。
存储器702可以为高速RAM存储器,也可以为非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
存储器702用于计算机执行指令703。具体的,计算机执行指令703中可以包括程序代码。
当计算机运行时,处理器701运行计算机执行指令703,可以执行本发明实施例任意一个实施例所提供的方法。更具体地说,本发明实施例中所述的分布式存储控制器如果通过计算机代码实现,则所述计算机执行本发明实施例的分布式存储控制器的功能。
应理解,在本发明实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的实施例中,应该理解到,所揭露的系统,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (25)
1.一种共享存储资源的方法,其特征在于,应用于服务器集群系统,所述服务器集群系统包括服务器节点和网络存储节点,所述服务器节点包括硬盘,所述网络存储节点包括存储阵列,所述方法包括:
将所述硬盘和所述存储阵列的存储资源划分为多个存储分区,所述多个存储分区组成共享存储资源池;
为所述每个存储分区分配读写控制模块;
生成全局分区信息,所述全局分区信息记录了所述共享存储资源池中的每个存储分区与读写控制模块的对应关系;
接收存储请求消息,确定所述存储请求消息对应的存储分区;
根据所述全局分区信息,确定所述存储请求消息对应的存储分区对应的读写控制模块;
向确定的所述读写控制模块发送所述存储请求消息,以使所述读写控制模块执行所述存储请求消息所请求的操作。
2.如权利要求1所述的方法,其特征在于,所述确定所述存储请求消息对应的存储分区包括:
确定所述存储请求消息待操作的数据所在的用户卷ID和所述待操作的数据的至少一个数据块的逻辑块地址LBA;
根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
建立所述共享存储资源池的每个存储分区的元数据,所述每个存储分区的元数据记录本存储分区ID与被分配到本存储分区的数据块ID的对应关系;
则,所述根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区包括:
根据所述用户卷ID和所述至少一个数据块的LBA确定所述至少一个数据块的ID,查询所述每个存储分区的元数据,确定所述至少一个数据块对应的存储分区的ID。
4.如权利要求2所述的方法,其特征在于,所述根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区包括:
将所述用户卷ID和每个数据块的LBA组成所述每个数据块的key值,计算所述每个数据块的key值对应的value值,根据所述value值确定所述每个数据块对应的存储分区。
5.如权利要求2或3或4所述的方法,其特征在于,所述接收存储请求消息包括:接收创建用户卷的命令,所述创建用户卷的命令指示所述用户卷的大小;
则所述确定所述存储请求消息待操作的数据所在的用户卷ID和所述待操作的数据的至少一个数据块的逻辑块地址LBA,根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区,包括:
为所述用户卷分配所述用户卷ID;
根据所述所述用户卷的大小,确定分配给所述用户卷的初始存储资源的大小,根据所述初始存储资源的大小确定至少一个数据块的LBA;
根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区。
6.如权利要求5所述的方法,其特征在于,所述确定分配给所述用户卷的初始存储资源的大小包括:
所述初始存储资源的大小小于或等于所述创建用户卷的命令指示的所述用户卷的大小。
7.如权利要求2或3或4所述的方法,其特征在于,所述接收存储请求消息包括:接收写数据操作请求;
则所述确定所述存储请求消息待操作的数据所在的用户卷ID和所述待操作的数据的至少一个数据块的逻辑块地址LBA,根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区,包括:
根据所述写数据操作请求携带的文件名,确定当前写操作对应的用户卷ID;
将待写入的数据划分为多个待写入数据块,并为每个待写入数据块分配LBA;
根据所述当前写操作对应的用户卷ID和所述每个待写入数据块的LBA,确定所述每个待写入数据块对应的存储分区。
8.如权利要求7所述的方法,其特征在于,所述将待写入的数据划分为大小平均的所述多个待写入数据块。
9.如权利要求8所述的方法,其特征在于,所述根据所述全局分区信息,确定所述存储请求消息对应的读写控制模块;向确定的所述读写控制模块发送所述存储请求消息,以使所述读写控制模块执行所述存储请求消息所请求的操作,包括:
根据所述全局分区信息,确定所述每个待写入数据块对应的存储分区所对应的读写控制模块;
生成多个数据块写命令,其中,每个数据块写命令对应一个所述待写入数据块,所述每个数据块写命令携带待写入数据块以及待写入数据的ID;
分别向所述每个待写入数据块对应的读写控制模块发送所述每个数据块写命令,以使得所述每个待写入数据块对应的读写控制模块将所述每个待写入数据块写入存储硬件资源。
10.如权利要求2或3或4所述的方法,其特征在于,所述接收存储请求消息包括:接收读数据操作请求,所述读数据操作请求携带文件名和待读取数据的偏移量;
则所述确定所述存储请求消息待操作的数据所在的用户卷ID和所述待操作的数据的至少一个数据块的逻辑块地址LBA,根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区,包括:
根据所述读数据操作请求携带的文件名,确定当前读操作对应的用户卷ID;
根据所述待读取数据的偏移量信息,确定多个待读取数据块的LBA;
根据所述当前读操作对应的用户卷ID和每个待读取数据块的LBA,确定所述每个待读取数据块对应的存储分区。
11.如权利要求10所述的方法,其特征在于,根据所述待读取数据的偏移量信息,确定多个大小平均的所述待读取数据块。
12.如权利要求10所述的方法,其特征在于,所述根据所述全局分区信息,确定所述存储请求消息对应的读写控制模块;向确定的所述读写控制模块发送所述存储请求消息,以使所述读写控制模块执行所述存储请求消息所请求的操作,包括:
根据所述全局分区信息,确定所述多个待读取数据块对应的存储分区所对应的读写控制模块;
生成多个数据块读命令,其中,每个数据块读命令对应一个所述待读取数据块,所述每个数据块读命令携带待读取数据块以及待读取数据块的ID;
分别向所述每个待读取数据块对应的读写控制模块发送所述每个数据块读命令,以使得所述每个待读取数据块对应的读写控制模块读取所述每个待读取数据块。
13.一种服务器集群系统,其特征在于,所述服务器集群系统包括服务器节点和网络存储节点,所述服务器节点包括硬盘,所述网络存储节点包括存储阵列,所述服务器节点上运行分布式存储控制器,所述分布式存储控制器包括:
元数据控制器,用于将所述硬盘和所述存储阵列的存储资源划分为多个存储分区,所述多个存储分区组成共享存储资源池,为所述每个存储分区分配读写控制模块,生成全局分区信息,所述全局分区信息记录了所述共享存储资源池中的每个存储分区与读写控制模块的对应关系,以及向虚拟块服务模块下发所述全局分区信息;
所述虚拟块服务模块,用于面向业务层,接收存储请求消息,确定所述存储请求消息对应的存储分区,根据所述全局分区信息,确定所述存储请求消息对应的存储分区对应的读写控制模块,以及向确定的所述读写控制模块发送所述存储请求消息;
所述读写控制模块,用于面向所述硬盘或所述网络存储节点,执行所述存储请求消息所请求的操作。
14.如权利要求13所述的系统,其特征在于,所述读写控制模块包括对象存储代理和网络存储代理;
所述元数据控制器具体用于为所述本地硬盘组成的存储分区分配所述对象存储代理作为读写控制模块,为所述存储阵列组成的存储分区分配所述网络存储代理作为读写控制模块;
所述对象存储代理,用于接收存储请求消息,确定所述存储请求消息对应的物理地址,根据所述物理地址在所述硬盘上执行所述存储请求消息所请求的操作;
所述网络存储代理,用于接收存储请求消息,确定所述存储请求消息对应的网络存储节点的逻辑地址,根据所述逻辑地址在所述存储阵列上执行所述存储请求消息所请求的操作。
15.如权利要求13所述的系统,其特征在于,所述虚拟块服务模块,具体用于确定所述存储请求消息待操作的数据所在的用户卷ID和所述待操作的数据的至少一个数据块的逻辑块地址LBA,根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区。
16.如权利要求15所述的系统,其特征在于,所述虚拟块服务模块,具体用于建立所述共享存储资源池的每个存储分区的元数据,所述每个存储分区的元数据记录本存储分区ID与被分配到本存储分区的数据块ID的对应关系,根据所述用户卷ID和所述至少一个数据块的LBA确定所述至少一个数据块的ID,查询所述每个存储分区的元数据,确定所述至少一个数据块对应的存储分区的ID。
17.如权利要求15所述的系统,其特征在于,所述虚拟块服务模块,具体用于将所述用户卷ID和每个数据块的LBA组成所述每个数据块的key值,计算所述每个数据块的key值对应的value值,根据所述value值确定所述每个数据块对应的存储分区。
18.如权利要求13-17任一项所述的系统,其特征在于,所述虚拟块服务模块,具体用于接收创建用户卷的命令,所述创建用户卷的命令指示所述用户卷的大小,为所述用户卷分配所述用户卷ID,根据所述所述用户卷的大小,确定分配给所述用户卷的初始存储资源的大小,根据所述初始存储资源的大小确定至少一个数据块的LBA,以及根据所述用户卷ID和所述至少一个数据块的LBA,确定所述至少一个数据块对应的存储分区。
19.如权利要求13-17任一项所述的系统,其特征在于,所述虚拟块服务模块,具体用于接收写数据操作请求,根据所述写数据操作请求携带的文件名,确定当前写操作对应的用户卷ID,将待写入的数据划分为多个待写入数据块,并为每个待写入数据块分配LBA,根据所述当前写操作对应的用户卷ID和所述每个待写入数据块的LBA,确定所述每个待写入数据块对应的存储分区,根据所述全局分区信息,确定所述每个待写入数据块对应的存储分区所对应的读写控制模块,生成多个数据块写命令,其中,每个数据块写命令对应一个所述待写入数据块,所述每个数据块写命令携带待写入数据块以及待写入数据的ID,以及分别向所述每个待写入数据块对应的读写控制模块发送所述每个数据块写命令。
20.如权利要求13-17任一项所述的系统,其特征在于,所述虚拟块服务模块,具体用于接收读数据操作请求,所述读数据操作请求携带文件名和待读取数据的偏移量,根据所述读数据操作请求携带的文件名,确定当前读操作对应的用户卷ID,根据所述待读取数据的偏移量信息,确定多个待读取数据块的LBA,以及根据所述当前读操作对应的用户卷ID和每个待读取数据块的LBA,确定所述每个待读取数据块对应的存储分区,根据所述全局分区信息,确定所述多个待读取数据块对应的存储分区所对应的读写控制模块,生成多个数据块读命令,其中,每个数据块读命令对应一个所述待读取数据块,所述每个数据块读命令携带待读取数据块以及待读取数据块的ID,以及分别向所述每个待读取数据块对应的读写控制模块发送所述每个数据块读命令。
21.如权利要求13-17任一项所述的系统,其特征在于,所述元数据控制器,还用于分别确定所述对象存储代理和所述网络存储代理在所述服务器节点上的部署情况,并根据确定的部署情况生成读写控制模块的视图信息,所述读写控制模块的视图信息用于指示每个读写控制模块部署的服务器节点的信息,以及向所述虚拟块服务模块下发所述读写控制模块的视图信息;
所述虚拟块服务模块,具体用于根据所述读写控制模块的视图信息确定读写控制模块的路由信息,向确定的所述读写控制模块发送所述存储请求消息。
22.如权利要求21所述的系统,其特征在于,所述元数据控制器具体用于确定将所述对象存储代理部署在所述服务器集群系统中具备硬盘资源的服务器节点上,以及确定将所述网络存储代理部署在所述服务器集群系统中的负载小的服务器节点上。
23.如权利要求21所述的系统,其特征在于,所述元数据控制器,还用于搜集所述服务器节点的硬盘的可用存储资源和所述网络存储节点的存储阵列的可用存储资源,将所述硬盘和所述存储阵列的可用存储资源划分为多个存储分区。
24.一种计算机,其特征在于,包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算机运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述计算机执行如权利要求1-12任一项所述的创建虚拟机的方法。
25.一种计算机可读介质,其特征在于,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行如权利要求1-12任一项所述的创建虚拟机的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201380002608.1A CN103797770B (zh) | 2012-12-31 | 2013-12-31 | 一种共享存储资源的方法和系统 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/088109 WO2014101218A1 (zh) | 2012-12-31 | 2012-12-31 | 一种计算存储融合的集群系统 |
CNPCT/CN2012/088109 | 2012-12-31 | ||
CN201380002608.1A CN103797770B (zh) | 2012-12-31 | 2013-12-31 | 一种共享存储资源的方法和系统 |
PCT/CN2013/091253 WO2014101896A1 (zh) | 2012-12-31 | 2013-12-31 | 一种共享存储资源的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103797770A true CN103797770A (zh) | 2014-05-14 |
CN103797770B CN103797770B (zh) | 2015-12-02 |
Family
ID=50671630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380002608.1A Active CN103797770B (zh) | 2012-12-31 | 2013-12-31 | 一种共享存储资源的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103797770B (zh) |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702691A (zh) * | 2015-03-13 | 2015-06-10 | 华为技术有限公司 | 分布式负载均衡方法和装置 |
CN105302865A (zh) * | 2015-09-22 | 2016-02-03 | 中国联合网络通信集团有限公司 | 一种实现数据处理的方法及装置 |
CN105373344A (zh) * | 2014-08-19 | 2016-03-02 | 三星电子株式会社 | 虚拟化超大规模环境中的数据管理方案 |
WO2016070341A1 (zh) * | 2014-11-05 | 2016-05-12 | 华为技术有限公司 | 数据处理方法和装置 |
CN105630419A (zh) * | 2015-12-25 | 2016-06-01 | 华为技术有限公司 | 一种资源池的分区视图发送方法及管理节点 |
CN105718221A (zh) * | 2016-01-22 | 2016-06-29 | 华为技术有限公司 | 一种数据存储的方法、装置和系统 |
CN106446159A (zh) * | 2016-09-23 | 2017-02-22 | 华为技术有限公司 | 一种存储文件的方法、第一虚拟机及名称节点 |
CN106528265A (zh) * | 2016-10-24 | 2017-03-22 | 郑州云海信息技术有限公司 | 基于分布式san存储架构的虚拟机管理方法及系统 |
CN106650480A (zh) * | 2015-10-29 | 2017-05-10 | 杭州华为数字技术有限公司 | 文件访问隔离方法和装置 |
CN106708751A (zh) * | 2015-11-13 | 2017-05-24 | 三星电子株式会社 | 包括用于多模操作的多分区的存储装置及其操作方法 |
CN106775457A (zh) * | 2016-11-28 | 2017-05-31 | 国云科技股份有限公司 | 一种基于异构存储虚拟机的通用获取磁盘利用率的方法 |
CN106980685A (zh) * | 2017-03-31 | 2017-07-25 | 广东神马搜索科技有限公司 | 数据处理方法及数据处理装置 |
CN107040591A (zh) * | 2017-03-28 | 2017-08-11 | 北京小米移动软件有限公司 | 一种对客户端进行控制的方法及装置 |
CN107065841A (zh) * | 2017-06-07 | 2017-08-18 | 四川谊田集群科技有限公司 | 一种基于通信的输入输出数据共享的系统及方法 |
CN107660281A (zh) * | 2015-05-19 | 2018-02-02 | 华为技术有限公司 | 同步分布式计算运行时间的系统和方法 |
CN107729536A (zh) * | 2017-10-31 | 2018-02-23 | 新华三技术有限公司 | 一种数据存储方法和装置 |
CN107807794A (zh) * | 2017-10-31 | 2018-03-16 | 新华三技术有限公司 | 一种数据存储方法和装置 |
CN108011913A (zh) * | 2016-12-29 | 2018-05-08 | 北京车和家信息技术有限责任公司 | 数据传输方法、车机显示装置、车辆多媒体设备及系统 |
CN108205573A (zh) * | 2016-12-20 | 2018-06-26 | 中兴通讯股份有限公司 | 一种数据分布式存储方法及系统 |
CN108833570A (zh) * | 2018-06-27 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种基于云存储的集群存储及均衡传输系统 |
WO2018214905A1 (zh) * | 2017-05-26 | 2018-11-29 | 贵州白山云科技有限公司 | 一种数据存储的方法、装置、介质及设备 |
CN108989398A (zh) * | 2018-06-27 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种虚拟共享存储单元以及基于云存储的集群存储系统 |
CN109376123A (zh) * | 2014-08-12 | 2019-02-22 | 华为技术有限公司 | 管理文件的方法、分布式存储系统和管理节点 |
CN109542625A (zh) * | 2018-11-29 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种存储资源控制方法、装置及电子设备 |
CN109582718A (zh) * | 2018-10-17 | 2019-04-05 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置及存储介质 |
WO2019085334A1 (zh) * | 2017-11-01 | 2019-05-09 | 平安科技(深圳)有限公司 | 分布式存储方法、控制服务器及计算机可读存储介质 |
CN109753225A (zh) * | 2017-11-03 | 2019-05-14 | 华为技术有限公司 | 一种数据存储方法及设备 |
WO2019119212A1 (zh) * | 2017-12-18 | 2019-06-27 | 华为技术有限公司 | 识别osd亚健康的方法、装置和数据存储系统 |
CN110140114A (zh) * | 2017-03-27 | 2019-08-16 | 西部数据技术公司 | 管理存储系统中数据对象的i/o操作 |
US10437479B2 (en) | 2014-08-19 | 2019-10-08 | Samsung Electronics Co., Ltd. | Unified addressing and hierarchical heterogeneous storage and memory |
CN110555075A (zh) * | 2018-03-29 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备以及计算机可读存储介质 |
CN110750220A (zh) * | 2019-10-25 | 2020-02-04 | 北京浪潮数据技术有限公司 | sheepdog分布式存储系统中卷的读写方法及装置 |
CN110837479A (zh) * | 2018-08-17 | 2020-02-25 | 华为技术有限公司 | 数据处理方法、相关设备及计算机存储介质 |
CN111198746A (zh) * | 2018-11-20 | 2020-05-26 | 中标软件有限公司 | 在虚拟化集群中基于共享存储的主机间的通信方法及系统 |
CN112269542A (zh) * | 2020-10-19 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种nvme硬盘存储空间分配方法、装置及存储介质 |
CN113168293A (zh) * | 2019-01-31 | 2021-07-23 | 华为技术有限公司 | 用于访问集群存储系统中的缓存的方法和装置 |
CN113741790A (zh) * | 2020-05-29 | 2021-12-03 | 杭州海康威视数字技术股份有限公司 | 一种视频数据的多录像计划存储方法、装置及存储介质 |
CN113821172A (zh) * | 2021-09-03 | 2021-12-21 | 济南浪潮数据技术有限公司 | 一种存储卷容量获取方法、装置及相关设备 |
CN114008593A (zh) * | 2019-06-28 | 2022-02-01 | 亚马逊技术股份有限公司 | 云提供者底层扩展部分中的虚拟化的块存储服务器 |
US11620081B1 (en) | 2019-06-28 | 2023-04-04 | Amazon Technologies, Inc. | Virtualized block storage servers in cloud provider substrate extension |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164177A (zh) * | 2011-03-11 | 2011-08-24 | 浪潮(北京)电子信息产业有限公司 | 一种集群共享存储池的方法、装置及系统 |
CN102520883A (zh) * | 2011-12-12 | 2012-06-27 | 杭州华三通信技术有限公司 | 一种数据存取方法及其装置 |
CN102664923A (zh) * | 2012-03-30 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种利用Linux全局文件系统实现共享存储池的方法 |
CN102696010A (zh) * | 2009-09-08 | 2012-09-26 | 弗森-艾奥公司 | 用于将数据高速缓存在固态存储设备上的装置、系统和方法 |
-
2013
- 2013-12-31 CN CN201380002608.1A patent/CN103797770B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102696010A (zh) * | 2009-09-08 | 2012-09-26 | 弗森-艾奥公司 | 用于将数据高速缓存在固态存储设备上的装置、系统和方法 |
CN102164177A (zh) * | 2011-03-11 | 2011-08-24 | 浪潮(北京)电子信息产业有限公司 | 一种集群共享存储池的方法、装置及系统 |
CN102520883A (zh) * | 2011-12-12 | 2012-06-27 | 杭州华三通信技术有限公司 | 一种数据存取方法及其装置 |
CN102664923A (zh) * | 2012-03-30 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种利用Linux全局文件系统实现共享存储池的方法 |
Cited By (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11656763B2 (en) | 2014-08-12 | 2023-05-23 | Huawei Technologies Co., Ltd. | File management method, distributed storage system, and management node |
CN109376123B (zh) * | 2014-08-12 | 2022-08-19 | 华为技术有限公司 | 管理文件的方法、分布式存储系统和管理节点 |
CN109376123A (zh) * | 2014-08-12 | 2019-02-22 | 华为技术有限公司 | 管理文件的方法、分布式存储系统和管理节点 |
US11036397B2 (en) | 2014-08-19 | 2021-06-15 | Samsung Electronics Co., Ltd. | Unified addressing and hierarchical heterogeneous storage and memory |
CN105373344A (zh) * | 2014-08-19 | 2016-03-02 | 三星电子株式会社 | 虚拟化超大规模环境中的数据管理方案 |
US10437479B2 (en) | 2014-08-19 | 2019-10-08 | Samsung Electronics Co., Ltd. | Unified addressing and hierarchical heterogeneous storage and memory |
US10725663B2 (en) | 2014-08-19 | 2020-07-28 | Samsung Electronics Co., Ltd. | Data management scheme in virtualized hyperscale environments |
CN105373344B (zh) * | 2014-08-19 | 2020-04-03 | 三星电子株式会社 | 虚拟化超大规模环境中的数据管理的装置和方法 |
US10628050B2 (en) | 2014-11-05 | 2020-04-21 | Huawei Technologies Co., Ltd. | Data processing method and apparatus |
WO2016070341A1 (zh) * | 2014-11-05 | 2016-05-12 | 华为技术有限公司 | 数据处理方法和装置 |
AU2014410705B2 (en) * | 2014-11-05 | 2017-05-11 | Xfusion Digital Technologies Co., Ltd. | Data processing method and apparatus |
US9952778B2 (en) | 2014-11-05 | 2018-04-24 | Huawei Technologies Co., Ltd. | Data processing method and apparatus |
CN107357522B (zh) * | 2014-11-05 | 2019-11-15 | 华为技术有限公司 | 数据处理方法和装置 |
CN107357522A (zh) * | 2014-11-05 | 2017-11-17 | 华为技术有限公司 | 数据处理方法和装置 |
CN104702691A (zh) * | 2015-03-13 | 2015-06-10 | 华为技术有限公司 | 分布式负载均衡方法和装置 |
CN104702691B (zh) * | 2015-03-13 | 2017-12-01 | 华为技术有限公司 | 分布式负载均衡方法和装置 |
CN107660281B (zh) * | 2015-05-19 | 2021-06-08 | 华为技术有限公司 | 同步分布式计算运行时间的系统和方法 |
CN107660281A (zh) * | 2015-05-19 | 2018-02-02 | 华为技术有限公司 | 同步分布式计算运行时间的系统和方法 |
CN105302865B (zh) * | 2015-09-22 | 2019-04-26 | 中国联合网络通信集团有限公司 | 一种实现数据处理的方法及装置 |
CN105302865A (zh) * | 2015-09-22 | 2016-02-03 | 中国联合网络通信集团有限公司 | 一种实现数据处理的方法及装置 |
CN106650480A (zh) * | 2015-10-29 | 2017-05-10 | 杭州华为数字技术有限公司 | 文件访问隔离方法和装置 |
CN106708751A (zh) * | 2015-11-13 | 2017-05-24 | 三星电子株式会社 | 包括用于多模操作的多分区的存储装置及其操作方法 |
CN105630419A (zh) * | 2015-12-25 | 2016-06-01 | 华为技术有限公司 | 一种资源池的分区视图发送方法及管理节点 |
CN105630419B (zh) * | 2015-12-25 | 2018-09-21 | 华为技术有限公司 | 一种资源池的分区视图发送方法及管理节点 |
CN105718221A (zh) * | 2016-01-22 | 2016-06-29 | 华为技术有限公司 | 一种数据存储的方法、装置和系统 |
CN105718221B (zh) * | 2016-01-22 | 2018-09-21 | 华为技术有限公司 | 一种数据存储的方法、装置和系统 |
CN106446159B (zh) * | 2016-09-23 | 2019-11-12 | 华为技术有限公司 | 一种存储文件的方法、第一虚拟机及名称节点 |
CN106446159A (zh) * | 2016-09-23 | 2017-02-22 | 华为技术有限公司 | 一种存储文件的方法、第一虚拟机及名称节点 |
CN106528265A (zh) * | 2016-10-24 | 2017-03-22 | 郑州云海信息技术有限公司 | 基于分布式san存储架构的虚拟机管理方法及系统 |
CN106775457A (zh) * | 2016-11-28 | 2017-05-31 | 国云科技股份有限公司 | 一种基于异构存储虚拟机的通用获取磁盘利用率的方法 |
CN108205573A (zh) * | 2016-12-20 | 2018-06-26 | 中兴通讯股份有限公司 | 一种数据分布式存储方法及系统 |
CN108205573B (zh) * | 2016-12-20 | 2023-04-14 | 中兴通讯股份有限公司 | 一种数据分布式存储方法及系统 |
CN108011913B (zh) * | 2016-12-29 | 2021-08-20 | 北京车和家信息技术有限责任公司 | 数据传输方法、车机显示装置、车辆多媒体设备及系统 |
CN108011913A (zh) * | 2016-12-29 | 2018-05-08 | 北京车和家信息技术有限责任公司 | 数据传输方法、车机显示装置、车辆多媒体设备及系统 |
CN110140114A (zh) * | 2017-03-27 | 2019-08-16 | 西部数据技术公司 | 管理存储系统中数据对象的i/o操作 |
CN107040591B (zh) * | 2017-03-28 | 2020-06-19 | 北京小米移动软件有限公司 | 一种对客户端进行控制的方法及装置 |
US10931755B2 (en) | 2017-03-28 | 2021-02-23 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for managing a shared storage system |
CN107040591A (zh) * | 2017-03-28 | 2017-08-11 | 北京小米移动软件有限公司 | 一种对客户端进行控制的方法及装置 |
CN106980685B (zh) * | 2017-03-31 | 2020-04-17 | 广东神马搜索科技有限公司 | 数据处理方法及数据处理装置 |
CN106980685A (zh) * | 2017-03-31 | 2017-07-25 | 广东神马搜索科技有限公司 | 数据处理方法及数据处理装置 |
WO2018214905A1 (zh) * | 2017-05-26 | 2018-11-29 | 贵州白山云科技有限公司 | 一种数据存储的方法、装置、介质及设备 |
CN107065841B (zh) * | 2017-06-07 | 2019-04-26 | 四川谊田集群科技有限公司 | 一种基于通信的输入输出数据共享的系统及方法 |
CN107065841A (zh) * | 2017-06-07 | 2017-08-18 | 四川谊田集群科技有限公司 | 一种基于通信的输入输出数据共享的系统及方法 |
CN107807794A (zh) * | 2017-10-31 | 2018-03-16 | 新华三技术有限公司 | 一种数据存储方法和装置 |
CN107729536A (zh) * | 2017-10-31 | 2018-02-23 | 新华三技术有限公司 | 一种数据存储方法和装置 |
WO2019085334A1 (zh) * | 2017-11-01 | 2019-05-09 | 平安科技(深圳)有限公司 | 分布式存储方法、控制服务器及计算机可读存储介质 |
CN109753225A (zh) * | 2017-11-03 | 2019-05-14 | 华为技术有限公司 | 一种数据存储方法及设备 |
CN109753225B (zh) * | 2017-11-03 | 2020-06-02 | 华为技术有限公司 | 一种数据存储方法及设备 |
US11320991B2 (en) | 2017-12-18 | 2022-05-03 | Huawei Technologies Co., Ltd. | Identifying sub-health object storage devices in a data storage system |
WO2019119212A1 (zh) * | 2017-12-18 | 2019-06-27 | 华为技术有限公司 | 识别osd亚健康的方法、装置和数据存储系统 |
CN110555075B (zh) * | 2018-03-29 | 2023-07-07 | 阿里云计算有限公司 | 数据处理方法、装置、电子设备以及计算机可读存储介质 |
CN110555075A (zh) * | 2018-03-29 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备以及计算机可读存储介质 |
CN108833570A (zh) * | 2018-06-27 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种基于云存储的集群存储及均衡传输系统 |
CN108989398A (zh) * | 2018-06-27 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种虚拟共享存储单元以及基于云存储的集群存储系统 |
CN108989398B (zh) * | 2018-06-27 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种虚拟共享存储单元以及基于云存储的集群存储系统 |
CN108833570B (zh) * | 2018-06-27 | 2021-03-16 | 苏州浪潮智能科技有限公司 | 一种基于云存储的集群存储及均衡传输系统 |
CN110837479B (zh) * | 2018-08-17 | 2023-09-01 | 华为云计算技术有限公司 | 数据处理方法、相关设备及计算机存储介质 |
CN110837479A (zh) * | 2018-08-17 | 2020-02-25 | 华为技术有限公司 | 数据处理方法、相关设备及计算机存储介质 |
CN109582718A (zh) * | 2018-10-17 | 2019-04-05 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置及存储介质 |
CN111198746B (zh) * | 2018-11-20 | 2023-05-30 | 中标软件有限公司 | 在虚拟化集群中基于共享存储的主机间的通信方法及系统 |
CN111198746A (zh) * | 2018-11-20 | 2020-05-26 | 中标软件有限公司 | 在虚拟化集群中基于共享存储的主机间的通信方法及系统 |
CN109542625A (zh) * | 2018-11-29 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种存储资源控制方法、装置及电子设备 |
CN113168293A (zh) * | 2019-01-31 | 2021-07-23 | 华为技术有限公司 | 用于访问集群存储系统中的缓存的方法和装置 |
CN114008593A (zh) * | 2019-06-28 | 2022-02-01 | 亚马逊技术股份有限公司 | 云提供者底层扩展部分中的虚拟化的块存储服务器 |
US11620081B1 (en) | 2019-06-28 | 2023-04-04 | Amazon Technologies, Inc. | Virtualized block storage servers in cloud provider substrate extension |
CN110750220A (zh) * | 2019-10-25 | 2020-02-04 | 北京浪潮数据技术有限公司 | sheepdog分布式存储系统中卷的读写方法及装置 |
CN113741790A (zh) * | 2020-05-29 | 2021-12-03 | 杭州海康威视数字技术股份有限公司 | 一种视频数据的多录像计划存储方法、装置及存储介质 |
CN112269542B (zh) * | 2020-10-19 | 2022-10-25 | 苏州浪潮智能科技有限公司 | 一种nvme硬盘存储空间分配方法、装置及存储介质 |
CN112269542A (zh) * | 2020-10-19 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种nvme硬盘存储空间分配方法、装置及存储介质 |
CN113821172A (zh) * | 2021-09-03 | 2021-12-21 | 济南浪潮数据技术有限公司 | 一种存储卷容量获取方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103797770B (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103797770B (zh) | 一种共享存储资源的方法和系统 | |
US10082972B2 (en) | Method and system for pooling, partitioning, and sharing network storage resources | |
JP6957431B2 (ja) | Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム | |
US10708356B2 (en) | Cloud computing system and method for managing storage resources therein | |
US10853139B2 (en) | Dynamic workload management based on predictive modeling and recommendation engine for storage systems | |
US9229749B2 (en) | Compute and storage provisioning in a cloud environment | |
CN109799951A (zh) | 使用分布式的和虚拟的命名空间管理的按需存储供应 | |
JP4634812B2 (ja) | 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム | |
CN102123176B (zh) | 一种网络存储系统空间分配管理方法及装置 | |
US20170177224A1 (en) | Dynamic storage transitions employing tiered range volumes | |
US11169927B2 (en) | Efficient cache management | |
US20170199694A1 (en) | Systems and methods for dynamic storage allocation among storage servers | |
CN111149081A (zh) | 负载平衡分配式存储系统中的元数据控制 | |
US10084860B2 (en) | Distributed file system using torus network and method for configuring and operating distributed file system using torus network | |
US9069471B2 (en) | Passing hint of page allocation of thin provisioning with multiple virtual volumes fit to parallel data access | |
CN104715044A (zh) | 一种分布式系统及其数据操作方法 | |
US9348513B2 (en) | SAS virtual tape drive | |
US11687443B2 (en) | Tiered persistent memory allocation | |
CN102123171A (zh) | 一种面向海量存储管理的存储虚拟化方法 | |
CN113821165B (zh) | 一种分布式集群融合存储方法、系统及设备 | |
JP7337869B2 (ja) | 分散ストレージシステム、及び管理方法 | |
CN114816237A (zh) | 用于存储查询计划的系统、方法和装置 | |
TW201432473A (zh) | 雲端網路硬碟陣列供應系統及其建構方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information |
Inventor after: Gu Jiongjiong Inventor after: Wang Daohui Inventor after: Min Xiaoyong Inventor before: Gu Jiongjiong Inventor before: Min Xiaoyong |
|
CB03 | Change of inventor or designer information |