CN101997918B - 异构san环境中的海量存储资源按需分配的实现方法 - Google Patents
异构san环境中的海量存储资源按需分配的实现方法 Download PDFInfo
- Publication number
- CN101997918B CN101997918B CN 201010543251 CN201010543251A CN101997918B CN 101997918 B CN101997918 B CN 101997918B CN 201010543251 CN201010543251 CN 201010543251 CN 201010543251 A CN201010543251 A CN 201010543251A CN 101997918 B CN101997918 B CN 101997918B
- Authority
- CN
- China
- Prior art keywords
- mapping
- logical
- address
- physical
- meta data
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000013507 mapping Methods 0.000 claims abstract description 218
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 238000007726 management method Methods 0.000 claims description 44
- 238000004891 communication Methods 0.000 claims description 41
- 230000004044 response Effects 0.000 claims description 37
- 238000005192 partition Methods 0.000 claims description 12
- 239000000835 fiber Substances 0.000 claims description 4
- 239000013307 optical fiber Substances 0.000 claims description 3
- 238000013468 resource allocation Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000010339 dilation Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
异构SAN环境中的海量存储资源按需分配的实现方法属于存储区域网络领域,尤其涉及其中的存储虚拟化技术领域。本发明的特征在于针对SAN环境中异构的存储应用服务器和多样的存储设备,设计并实现了一个带外模式的存储虚拟化系统,并基于此系统,提出了一种基于写时分配和动态地址映射机制的海量存储资源按需分配的方法,它根据应用的实际需求来分配存储资源,动态扩展逻辑存储空间与物理存储空间的映射关系,有效提高存储资源的利用率和存储容量的可扩展性,降低存储设备的维护成本,实现即时的存储采购。
Description
技术领域
异构SAN环境中的海量存储资源按需分配的实现方法属于存储区域网络领域,尤其涉及其中的存储虚拟化技术领域。
背景技术
随着信息技术的飞速发展,需要存储的数据容量正在迅猛增长,这就使得存储系统的规模变得越来越庞大。SAN(Storage Area Network)系统由于具有高可扩展性、高性能、超长传输距离等特性,在构建大规模存储系统中发挥着越来越重要的作用。它可以把各种存储设备连接在一起,组成统一管理的存储资源,而主机可以通过光纤或IP网络来访问这些资源。SAN系统具有良好的性能和高度的可扩展性。在这种存储体系结构中,资源的配置是不断变化的,新的设备可以不断地加入到系统中,以满足用户对存储容量或性能的需求。
存储系统的规模迅猛增长使得存储管理问题日益凸显出其重要的地位。存储虚拟化存储就是为了解决存储管理问题而出现的一种存储技术。存储虚拟化技术能够屏蔽底层物理设备的区别,给存储应用服务器提供一个统一的虚拟化存储资源视图。通过存储虚拟化系统,存储管理员能够动态调整存储资源的配置,同时虚拟化系统还能提供在线数据备份,数据镜像等功能。通过将多个物理磁盘虚拟成一个逻辑磁盘技术,它还能够提供较好的IO性能。
SAN环境中的存储虚拟化按照数据流和控制流是否同路分为带内模式的虚拟化和带外模式的虚拟化。带内虚拟化的功能部件作为I/O路径上的集中环节容易成为系统性能瓶颈,从而使带内虚拟化扩展性较差。带外虚拟化因其功能部件在I/O路径之外而不触及真正数据,故性能较高。它还因为没有在I/O路径上引入集中环节而具有较好的扩展性。带外虚拟化具有性能高和扩展性好的优点,已经成为海量存储领域的一个研究热点。
在目前的海量存储系统中,对于存储资源的分配与管理,存在着如下几个问题:
(1)存储资源的利用率低下。传统的存储资源分配方法是静态的,即按照用户的估计(往往有很大余量),预先把存储资源划分成分区或卷分配给用户。由于应用对存储空间的需求是一个渐进增长的过程,应用在运行初期对存储的需求较少,随着运行时间的持续,对存储的需求逐渐增加。在此过程中,分配给用户的存储资源中会有很大一部分长期处于闲置状态或到最后根本未被利用,同时这些闲置的资源也无法被其它用户使用,从而造成了存储容量利用率低下。而且,为了满足系统性能和以后升级扩容等方面的要求,客户一般购买超过实际数据容量需求3~4倍的磁盘,用于磁盘镜像等附加功能,从而进一步造成了存储空间资源的极大浪费;
(2)存储设备采购及维护成本高。由于硬盘单位容量的价格随时间符合摩尔定律不断下降,所以随着时间的推移,存储价格会越来越便宜,而一次性采购大量的存储设备导致成本非常昂贵。而且,未利用的存储资源一直处于运转状态,大大浪费了场地租金、人力维护、以及能源消耗等成本;
(3)存储系统不易扩容。传统的存储虚拟化系统中,扩充逻辑卷容量对于文件系统并不透明,因此,当逻辑卷容量增加后,还须对原文件系统的元数据进行修改,使之与扩容后的逻辑卷相适应。然而,由于修改元数据时只能修改保存在磁盘中的元数据,在运行过程中已加载到内存中的元数据很难直接修改,因此,修改过元数据后,往往还要重新挂载文件系统才能生效。而且,整个扩容过程需要管理员手工干预,无法按用户需求动态调整存储空间。
为了解决异构SAN环境中海量存储资源的分配与管理问题,提高存储资源的利用率,我们设计并实现了一个带外模式的存储虚拟化系统,并基于此系统,提出了一种基于写时分配和动态地址映射机制的海量存储资源按需分配的方法,它有效提高了存储资源的利用率和存储容量的可扩展性,降低了存储设备的维护成本,实现了即时的存储采购。
发明内容
本发明的目的是提供一种异构SAN环境中海量存储资源动态分配管理的方法,以达到精简存储的目的。本项发明主要针对SAN环境中异构的存储应用服务器和多样的存储设备,设计并实现了一个带外模式的存储虚拟化系统,并基于此系统,提出了一种基于写时分配和动态地址映射机制的海量存储资源按需分配的方法。通过本方法,可以有效提高存储资源的利用率和存储容量的可扩展性,降低存储设备的维护成本,实现即时的存储采购。
本发明的特征在于,依次含有以下几个步骤:
步骤(1),构建一个带外模式下的存储虚拟化系统:
所述带外模式下的存储虚拟化系统由客户端、元数据服务器以及存储设备组成,所述客户端和元数据服务器都通过主机总线适配器HBA连接到光纤存储区域网络SAN上,所述存储设备也通过光纤接口连接到所述光纤存储区域网络SAN上,所述元数据服务器和客户端之间通过以太网相连;
步骤(2),步骤(1)中所述存储虚拟化系统初始化,其中:
所述元数据服务器,设有:存储空间管理模块、元数据管理模块、元数据服务器主线程模块和通信模块,其中:
存储空间管理模块,用于物理存储资源的组织和空闲存储空间的动态分配,采用写时分配机制,根据应用程序需求来动态、实时地分配物理存储空间,在存储资源中设有:物理卷、卷组以及逻辑卷三个层次,其中:
物理卷PV,对应一个物理磁盘,被分成多个物理单元,
卷组VG,由多个物理卷PV组成,每个卷组VG构成了一个存储池,在创建一个所述存储池时,按照应用需求设置:资源分配策略,至少包括线性分配策略和条带分配策略;存储块分配粒度,是扇区的整数倍,在一个存储池内,所述存储块分配粒度固定,在不同的存储池中则允许不相同,
逻辑卷LV,是从所述卷组VG中划分出来分配给所述客户端使用的至少一个物理卷,所述逻辑卷被分成多个逻辑单元,所述元数据服务器需将已分配的逻辑卷导出给所述客户端,客户端创建对应于所述元数据服务器的逻辑卷的逻辑设备,所述元数据服务器的逻辑卷与所述逻辑设备一一对应,之后客户端能对所述逻辑设备进行读写操作,
所述一个逻辑卷的每个逻辑单元被唯一地映射到所述一个物理卷的一个物理单元上,当一个存储设备加入到所述存储虚拟化系统中,所述存储空间管理模块便按照设定的存储块分配粒度对所述存储设备进行空间划分,加入到一个存储池中,所有的存储池构成了整个所述存储虚拟化系统的存储空间,当接收到元数据服务器主线程模块发送的所述逻辑卷的存储空间分配请求时,从存储池中动态分配一段空闲存储空间,并将分配结果回送给所述元数据服务器主线程模块,
元数据管理模块,用于组织和维护所述逻辑卷的元数据信息,从所述元数据服务主线程模块接收元数据信息,以追加写的方式保存到元数据文件中,并将所述元数据文件保存到元数据磁盘的文件系统中,所述元数据文件以存储池目录/逻辑卷名的二级目录结构的方式来组织,
所述元数据服务器主线程模块,设有元数据服务器主线程和缓存在内存中的逻辑地址和物理地址之间的映射表,起桥梁作用,负责调用所述存储空间管理模块来动态分配空闲存储空间,调用所述元数据管理模块更新元数据信息,与元数据服务器中的通信模块交互来获取映射请求报文和回复映射应答报文,所述映射请求报文包含所述逻辑设备的逻辑设备名、逻辑设备号和读写操作请求所对应的逻辑地址,所述映射应答报文包含所述逻辑设备的逻辑设备名、逻辑设备号、所述读写操作请求所对应的逻辑地址、映射到所述逻辑地址上的某一空闲物理存储空间所在的物理设备号和物理地址,
所述元数据服务器中的通信模块,与客户端中的通信模块通信,获取客户端的所述逻辑设备的映射请求报文并转发到所述元数据服务器主线程模块中,最后从所述元数据服务器主线程模块中获取映射应答报文回复给客户端,
客户端设有动态地址映射模块和通信模块,其中:
动态地址映射模块,用于所述逻辑设备逻辑地址到物理地址的映射索引和映射关系的建立,设有所述逻辑地址和物理地址之间的映射表的副本,当接收到客户端对所述逻辑设备的读写操作请求时,在所述映射表副本中查找所述逻辑设备读写操作请求对应的逻辑地址的映射关系,所述映射关系包含逻辑地址、映射到所述逻辑地址上的某一空闲物理存储空间所在的物理设备号和物理地址,如果不存在,则需要通过客户端通信模块向元数据服务器发送所述映射请求报文来获取所述映射关系,最后根据所述映射关系中的逻辑地址所映射到的物理设备号和物理地址,将所述读写操作请求发送到对应的物理设备上,
所述客户端中的通信模块,与所述元数据服务器中的通信模块通信,向所述元数据服务器中的通信模块发送所述逻辑设备的映射请求报文,并从所述元数据服务器中的通信模块中接收所述映射应答报文,最后将所述映射应答报文发送到所述动态地址映射模块中,
步骤(3),所述客户端对所述逻辑设备进行数据写操作,步骤如下:
步骤(3.1)客户端上的应用程序对所述逻辑设备发出数据写操作请求,
步骤(3.2)所述动态地址映射模块在所述逻辑地址和物理地址之间的映射表副本中查找是否存在所述写操作请求所对应的逻辑地址的映射关系:
步骤(3.2.1)若存在,转到步骤(3.11),
步骤(3.2.2)若不存在,则通过所述客户端中的通信模块,向元数据服务器发送映射请求报文,其中包括所述逻辑设备的逻辑设备名、逻辑设备号和所述写操作请求所对应的逻辑地址,
步骤(3.3)所述元数据服务器中的通信模块接收到映射请求报文后,向所述元数据服务器主线程模块转发所述映射请求报文,
步骤(3.4)所述元数据服务器主线程模块在所述逻辑地址与物理地址的映射表中查找是否存在所述请求映射报文中逻辑地址的映射关系:
步骤(3.4.1)若存在,转到步骤(3.8),
步骤(3.4.2)若不存在,则调用所述存储空间管理模块,进行存储空间分配,
步骤(3.5)所述存储空间管理模块判断所述存储池中是否存在能满足所述写操作请求大小的空闲存储空间:
步骤(3.5.1)若存在,则分配一段可满足所述写操作请求大小的空闲存储空间,转到步骤(3.6),
步骤(3.5.2)若不存在,则判断是否还存在未使用的物理磁盘:
步骤(3.5.2.1)若存在,则向所述存储池中增加物理磁盘,在线扩展所述存储池的存储容量,转到步骤(3.5),
步骤(3.5.2.2)若不存在,则形成一项空的映射关系,表示映射失败,转到步骤(3.8),
步骤(3.6)将所述逻辑地址映射到所述空闲存储空间的物理地址上,形成一项映射关系,并插入到所述逻辑地址与物理地址的映射表中,
步骤(3.7)所述元数据管理模块将所述映射关系更新到所述逻辑卷的元数据文件中,
步骤(3.8)将所述映射关系封装到映射应答报文方式中回复给客户端,
步骤(3.9)所述客户端中的通信模块接收到映射应答报文后,向所述动态地址映射模块转发所述映射应答报文,
步骤(3.10)所述动态地址映射模块获得所述映射应答报文后,判断映射应答报文中映射关系是否为空:
步骤(3.10.1)若为空,则此次写请求失败,返回,
步骤(3.10.2)若不为空,则把映射关系插入到所述逻辑地址与物理地址的映射表副本中,
步骤(3.11)根据映射关系中所述逻辑地址所对应的物理设备号和物理地址,将写请求中的数据发送到对应的物理设备上,返回;
步骤(4)所述客户端对所述逻辑设备进行数据读操作,步骤如下:
步骤(4.1)客户端上的应用程序对虚拟设备发出数据读操作请求,
步骤(4.2)所述动态地址映射模块在所述逻辑地址和物理地址之间的映射表的副本中查找是否存在所述读操作请求所对应的逻辑地址的映射关系:
步骤(4.2.1)若存在,转到步骤(4.8),
步骤(4.2.2)若不存在,则通过所述客户端中的通信模块,向元数
据服务器发送映射请求报文,其中包括所述逻辑设备的逻辑设备名、逻辑设备号和所述读操作请求所对应的逻辑地址,
步骤(4.3)所述元数据服务器通信模块接收到映射请求报文后,向所述元数据服务器主线程模块转发所述映射请求报文,
步骤(4.4)所述元数据服务器主线程模块在所述逻辑地址与物理地址的映射表中查找是否存在所述请求映射报文上逻辑地址的映射关系:
步骤(4.4.1)若存在,转到步骤(4.5),
步骤(4.4.2)若不存在,则形成一项空的映射关系,表示映射失败,
步骤(4.5)将所述映射关系封装到映射应答报文方式中回复给客户端,
步骤(4.6)所述客户端中的通信模块接收到映射应答报文后,向所述动态地址映射模块转发所述映射应答报文,
步骤(4.7)所述动态地址映射模块获得所述映射应答报文后,判断映射应答报文中映射关系是否为空:
步骤(4.7.1)若为空,则此次读请求失败,返回,
步骤(4.7.2)若不为空,则把映射关系插入到所述逻辑地址与物理 地址的映射表副本中,
步骤(4.8)根据所述映射关系中该逻辑地址所对应的物理设备号和物理地址,从所对应的物理设备中读取所请求的数据,返回。
为了解决异构SAN环境中海量存储资源的分配与管理问题,提高存储资源的利用率,我们设计并实现了一个带外模式的存储虚拟化系统,并基于此系统,提出了一种基于写时分配和动态地址映射机制、可满足动态扩展需求的海量存储资源按需分配的方法,相比于传统的存储资源分配与管理方法,它有如下优点:
(1)存储资源利用率高。当用户的实际数据需求达到预定阈值时,扩充存储池资源,这样可以减少初期投资,减少空闲存储资源,提高存储利用率,从而降低存储设备的采购成本和维护成本;
(2)存储资源采购和维护成本低。由于实现了存储资源的按需分配,存储设备的采购可以是即时的,并且节约了未利用的存储资源所消耗的维护费用;
(3)存储容量扩展性高。基于存储资源按需分配的方法,在动态扩展逻辑存储单元到物理存储单元的映射表过程中,无须修改上层文件系统的元数据,可以透明支持多种文件系统,而且整个扩容过程无需人为干预。
附图说明
图1带外模式存储虚拟化的硬件结构图。
图2带外模式存储虚拟化的软件模块图。
图3逻辑地址到物理地址的动态映射图。
图4基于按需分配技术的带外存储虚拟化软件架构图。
图5存储空间管理模块数据结构关系图。
图6写时分配和动态地址映射的程序流程图。
具体实施方式
本发明的核心是设计并实现了一个带外模式的存储虚拟化系统,并基于此系统,构造了一种基于写时分配和动态地址映射机制的海量存储资源按需分配的方法,它可以按照用户的实际存储容量需求动态、实时地分配存储资源,有效提高了海量存储资源的存储利用率和存储容量的可扩展性,降低了存储设备的维护成本,实现了即时的存储采购。带外模式下的存储虚拟化系统由客户端、元数据服务器MDS以及存储设备三部分组成,硬件结构图如图1所示。
本发明中的带外存储虚拟化系统的软件模块图如图2所示,元数据服务器包括以下几个模块:存储空间管理模块、元数据管理模块、元数据服务器主线程模块和通信模块,其中:
存储空间管理模块:存储空间管理模块主要负责物理存储资源的组织和空闲存储空间的 动态分配,它将系统的存储资源划分为物理卷、卷组以及逻辑卷三个层次。物理卷对应一个物理磁盘,是存储层次划分的最底层,卷组由多个物理卷组成,是一个相对独立的存储管理单元,逻辑卷是从卷组中划分出来的分配给客户端使用的至少一个物理卷,可以在上面创建文件系统,实现读写操作。存储空间管理模块利用写时分配机制动态、实时地为应用程序分配存储空间,写时分配是指在逻辑卷创建时不预留物理存储资源,而在实际发生数据写操作时进行存储资源的分配。传统的逻辑卷一次性将所需要的物理存储空间从存储池中分配出去;而基于存储资源按需分配技术的逻辑卷则根据上层应用的实际存储需求来动态分配存储空间,当上层应用的需求达到当前存储容量阈值时,扩充逻辑卷存储容量;为了便于进行存储资源的动态分配和回收,逻辑卷在创建时需要指定它的存储空间按需分配粒度,所述存储空间按需分配粒度是存储块分配粒度的整数倍,存储资源的动态分配和回收均以存储空间按需分配粒度为单位进行,如图3所示,逻辑卷在创建时只有逻辑空间,随着用户实际存储需求的增加,动态分配物理空间,并且所分配的物理空间分布在各个物理卷上;
元数据管理模块:元数据管理模块主要负责组织和维护逻辑卷的元数据信息。传统的基于静态地址映射机制的逻辑卷将元数据信息保存在卷组中,分别分布在卷组中各物理卷的头部,各物理卷中的元数据信息互为副本;由于基于存储资源按需分配技术的逻辑卷元数据信息是不断改变的,所以需要将它保存在一个容量可变的存储区域内,元数据管理模块将逻辑卷的映射表信息作为元数据以追加写的方式保存到元数据文件中,并将元数据文件持久保存在专有的元数据磁盘的文件系统中,最后以存储池目录/逻辑卷名的二级目录结构的方式来组织元数据文件,元数据磁盘按照应用需求可配置成RAID1、RAID5等数据冗余组织方式来提高元数据的可靠性。对于每个由元数据服务器导出给客户端使用的逻辑卷,在此客户端的内核态中,保存了一份映射表信息的副本,并以B+树的数据结构来组织,用于提高动态地址映射的效率;
元数据服务器主线程模块:元数据服务器主线程模块调用存储空间管理模块来动态分配空闲存储空间,调用元数据管理模块更新元数据信息,与元数据服务器中的通信模块交互来获取映射请求报文和回复映射应答报文;
通信模块:元数据服务器中的通信模块与客户端中的通信模块通过以太网用TCP/IP协议进行通信,它将客户端的映射请求报文转发到元数据服务器主线程模块中,并将映射应答报文回复给客户端;
客户端包括动态地址映射模块和通信模块,其中:
动态地址映射模块:动态地址映射模块主要负责逻辑设备逻辑地址到物理地址的映射索引和映射关系的建立,是上层文件系统/数据库层和底层驱动之间的一个层,它从元数据服务器获取逻辑卷的配置信息,并创建相应的逻辑设备呈现给上层的文件系统或数据库,当文件系统或数据库发出对逻辑设备的I/O操作时,动态地址映射模块截获该I/O操作,把逻辑地址翻译成物理地址,然后把I/O操作发送到底层驱动。传统的逻辑卷的地址映射方式是静态的,静态地址映射是指逻辑空间和物理空间的映射关系在逻辑卷创建时就已经确定,并且在地址映射过程中不会改变;而基于存储资源按需分配技术的逻辑卷的地址映射方式是动态的,动态地址映射指逻辑空间和物理空间的映射关系不是事先确定的,而是在存储资源分配时按照实际获取的存储空间的物理地址建立映射关系,并且可以动态修改,所述动态地址映射由于地址映射的不确定性而不能采用公式化的函数地址映射,只能通过映射表的方式来管理映射信息;
通信模块:客户端的通信模块向元数据服务器的通信模块发送映射请求报文,并将获得的映射应答报文送往动态地址映射模块。
本发明中的带外存储虚拟化系统的软件模块图如图4所示,它包括如下几个关键技术实现细节:
1、存储资源管理和空闲存储空间分配
逻辑卷的结构体struct logical_volume和卷组的结构体struct volume_group是存储虚拟化系统中两个核心数据结构,其中logical_volume包含了逻辑卷的所有信息,创建、删除、修改逻辑卷的时候,都需要与此结构体交互,而volume_group包含了卷组的所有信息,包括卷组的总空间大小和剩余空间大小,以及其中的逻辑卷与物理卷结构体的链表等;
逻辑卷的结构体描述信息如下:
uint32_t stripes; //逻辑卷的条带数
};
其中,name字段是逻辑卷的卷名,major和minor字段分别代表逻辑卷的主次设备号,logical_size和size字段分别表示逻辑卷的逻辑空间大小和实际物理空间大小,对于基于静态地址映射方式的传统逻辑卷,logical_size字段值等于size字段值,而对于本发明中基于写时分配和动态地址映射机制的存储资源按需分配的逻辑卷,logcial_size字段值可能远远大于size字段值,tpextent_size字段则表示逻辑卷的存储空间按需分配粒度大小,它是存储块分配粒度大小的整数倍;
卷组的结构体描述信息如下:
struct volume_group{
struct cmd_context*cmd; //命令执行上下文
uint32_t seqno; //元数据序列号
struct id id; //卷组的UUID号
char*name; //卷组名
uint32_t status; //卷组状态
uint32_t extent_size; //卷组设置的存储块分配粒度大小
uint32_t extent_count; //卷组中存储块的总数量,存储块大小
//为存储块分配粒度的大小
uint32_t free_count; //卷组中空闲存储块的个数,存储块大
//小为存储块分配粒度的大小
uint32_t max_lv; //卷组中允许的最大逻辑卷个数
uint32_t max_pv; //卷组中允许的最大物理卷个数
/*physical volumes*/
uint32_t pv_count; //卷组中物理卷个数
struct list pvs; //物理卷结构体链表
/*logical volumes*/
uint32_t lv_count; //卷组中逻辑卷个数
struct list lvs; //逻辑卷结构体链表
};
其中,extent_size字段表示卷组的存储块分配粒度大小,是在创建卷组的时候设定的, extent_count和free_count字段分别保存了卷组中存储块的总数量和剩余数量,存储块的大小即为extent_size,pvs链表和lvs链表分别链接了卷组中的所有的物理卷和所有的逻辑卷;
存储空间管理模块对存储池中的空闲存储空间进行管理,卷组与物理卷、逻辑卷以及管理空闲存储空间的数据结构关系如图5所示。create_pv_maps函数用于创建struct pv_map的链表pvms,struct pv_map结构体表示当前物理卷中的空间分配情况,alloc_tp_contiguous函数是基于写时分配和动态地址映射机制的逻辑卷按需分配存储资源的接口,它首先查询struct pv_map中的allocated_extents位图字段,获取分配所需的空闲存储空间所在的存储区域,再从area链表所链接的struct pv_area中找到所述存储区域,最后截取出所需要的存储空间。
2、元数据组织与维护
元数据管理模块将逻辑卷的映射表信息作为元数据以追加写的方式保存到元数据文件中,并将元数据文件持久保存在专有的元数据磁盘的文件系统中,最后以存储池目录/逻辑卷名的二级目录结构的方式来组织元数据文件,元数据磁盘按照应用需求可配置成RAID1、RAID5等数据冗余组织方式来提高元数据的可靠性。例如:卷组vg0和vg1中分别有一个基于存储资源按需分配技术的逻辑卷lv0和lv1,则它们的元数据文件分别为vg0/lv0和vg1/lv1,元数据文件中的每一项元数据信息格式为<lv_offset,pv_name,pv_offset,length>,其中lv_offset表示此段存储空间在逻辑卷逻辑地址空间的地址偏移,pv_name表示存储空间所在物理卷的卷名,pv_offset表示存储空间所在物理卷中的地址偏移,length表示此段存储空间的长度。tpmetadata_append函数是更新逻辑卷按需分配存储资源时的元数据信息的接口,它首先对逻辑卷的元数据文件加写锁,然后将元数据信息以追加写的方式写入到元数据文件的末尾,最后解锁返回。
3、客户端映射表管理
对于每个由元数据服务器导出给客户端使用的逻辑设备,在此客户端的内核态中,保存了一份映射表信息的副本,并以B+树来维护映射表副本。
客户端内核态中的逻辑设备映射表描述信息如下:
struct dm_table{
struct mapped_device*md; //指向内核态的逻辑设备
//指针
atomic_t holders; //映射表锁
unsigned int num_targets; //映射表项数量
struct tp_table_private*tp_data; //映射表内容
unsigned int merged_targets; //合并的存储区域数量
int mode; //逻辑设备的读写权限
struct list_head devices;//映射表所用到的物理设
//备
sector_t logic_size; //逻辑设备的逻辑空间大
//小
};
struct tp_table_private{
rwlock_t tp_table_lock; //B+树锁
struct btree*tp_bt; //B+树
};
B+树中的每个叶子节点为一项映射信息,以逻辑地址为键值,映射表项由逻辑设备的逻辑地址,映射到某物理空间所对应的物理设备名和物理地址以及映射的存储空间大小构成。tp_table_create函数用于创建一个映射表副本;lookup_tp_target函数用于在映射表副本中查找读写操作请求所对应的逻辑地址的映射信息,它首先需要对B+树加上读锁,然后进行查找,最后解锁;add_tp_target函数用于建立一段新的存储空间映射关系,它首先调用merge_target函数用于检查新增加的存储空间区域是否可以与相邻的存储空间区域进行合并,以减少映射表副本空间开销,如果不可以合并,则调用insert_tp_target函数,将新的映射关系插入到映射表副本中。
4、写时分配和动态地址映射机制
当用户对逻辑设备的写操作请求到达地址映射的设备驱动层时,动态地址映射模块首先调用dm_table_find_tp_target函数在映射表副本中查找写操作请求所对应的逻辑地址是否已经映射到某物理地址上,如果已经映射,则直接将写请求的数据发送到逻辑地址所映射到的物理地址上;否则调用get_extent_target函数向元数据服务器发送映射请求报文,映射请求报文格式为<lv_name,lv_uuid,lv_offset>,其中lv_name是逻辑设备的设备名,lv_uuid是逻辑设备的UUID号,lv_offset是写操作请求的逻辑地址,元数据服务器接收到此映射请求报文后,首先调用tp_seg_exist函数查找映射请求报文中逻辑设备的逻辑地址是否已经映射到某物理地址上,因为在分布式环境中,与当前客户端共享逻辑卷的其它客户端可能已经在此逻辑地址上建立了映射关系,如果映射关系在元数据中已存在,则直接将映射关系封装到映射应答报文中,回复给客户端,映射应答报文格式为<lv_name,lv_uuid,lv_offset,pv_uuid,pv_offset>,其中lv_name、lv_uuid和lv_offset项与映射请求报文中相应字段相同,而pv_uuid和pv_offset项则表示映射关系中的物理设备的UUID号和物理地址;如果 逻辑地址没有被映射,则调用tp_extend函数来扩充逻辑卷物理存储空间的容量大小,tp_extend调用存储空间管理模块,分配一块空闲存储空间,与逻辑地址映射,并调用元数据管理模块将映射关系写入元数据文件,同时更新映射表,最后将映射关系封装到映射应答报文中,回复给客户端。动态地址映射模块获得映射应答报文后,对映射表副本加写锁,并调用add_tp_target函数将映射关系插入到映射表副本中,使之与元数据服务器上的映射表同步,最后将用户的写操作请求发送到映射信息中相应的物理设备的物理地址上,程序流程图如图6所示。
Claims (1)
1.异构SAN环境中的海量存储资源按需分配的实现方法,其特征在于,依次含有以下几个步骤:
步骤(1),构建一个带外模式下的存储虚拟化系统:
所述带外模式下的存储虚拟化系统由客户端、元数据服务器以及存储设备组成,所述客户端和元数据服务器都通过主机总线适配器HBA连接到光纤存储区域网络SAN上,所述存储设备也通过光纤接口连接到所述光纤存储区域网络SAN上,所述元数据服务器和客户端之间通过以太网相连;
步骤(2),对步骤(1)中所述存储虚拟化系统初始化,其中:
所述元数据服务器,设有:存储空间管理模块、元数据管理模块、元数据服务器主线程模块和通信模块,其中:
存储空间管理模块,用于物理存储资源的组织和空闲存储空间的动态分配,采用写时分配机制,根据应用程序需求来动态、实时地分配物理存储空间,在存储资源中设有:物理卷、卷组以及逻辑卷三个层次,其中:
物理卷PV,对应一个物理磁盘,被分成多个物理单元,
卷组VG,由多个物理卷PV组成,每个卷组VG构成了一个存储池,在创建一个所述存储池时,按照应用需求设置:资源分配策略,至少包括线性分配策略和条带分配策略;存储块分配粒度,是扇区的整数倍,在一个存储池内,所述存储块分配粒度固定,在不同的存储池中则允许不相同,
逻辑卷LV,是从所述卷组VG中划分出来分配给所述客户端使用的至少一个物理卷,所述逻辑卷被分成多个逻辑单元,所述元数据服务器需将已分配的逻辑卷导出给所述客户端,客户端创建对应于所述元数据服务器的逻辑卷的逻辑设备,所述元数据服务器的逻辑卷与所述逻辑设备一一对应,之后客户端能对所述逻辑设备进行读写操作,
所述一个逻辑卷的每个逻辑单元被唯一地映射到所述一个物理卷的一个物理单元上,当一个存储设备加入到所述存储虚拟化系统中,所述存储空间管理模块便按照设定的存储块分配粒度对所述存储设备进行空间划分,加入到一个存储池中,所有的存储池构成了整个所述存储虚拟化系统的存储空间,当接收到元数据服务器主线程模块发送的所述逻辑卷的存储空间分配请求时,从存储池中动态分配一段空闲存储空间,并将分配结果回送给所述元数据服务器主线程模块,
元数据管理模块,用于组织和维护所述逻辑卷的元数据信息,从所述元数据服务主线程模块接收元数据信息,以追加写的方式保存到元数据文件中,并将所述元数据文件保存到元数据磁盘的文件系统中,所述元数据文件以存储池目录/逻辑卷名的二级目录结构的方式来组织,
所述元数据服务器主线程模块,设有元数据服务器主线程和缓存在内存中的逻辑地址和物理地址之间的映射表,起桥梁作用,负责调用所述存储空间管理模块来动态分配空闲存储空间,调用所述元数据管理模块更新元数据信息,与元数据服务器中的通信模块交互来获取映射请求报文和回复映射应答报文,所述映射请求报文包含所述逻辑设备的逻辑设备名、逻辑设备号和读写操作请求所对应的逻辑地址,所述映射应答报文包含所述逻辑设备的逻辑设备名、逻辑设备号、所述读写操作请求所对应的逻辑地址、映射到所述逻辑地址上的某一空闲物理存储空间所在的物理设备号和物理地址,
所述元数据服务器中的通信模块,与客户端中的通信模块通信,获取客户端的所述逻辑设备的映射请求报文并转发到所述元数据服务器主线程模块中,最后从所述元数据服务器主线程模块中获取映射应答报文回复给客户端,
客户端设有动态地址映射模块和通信模块,其中:
动态地址映射模块,用于所述逻辑设备逻辑地址到物理地址的映射索引和映射关系的建立,设有所述逻辑地址和物理地址之间的映射表的副本,当接收到客户端对所述逻辑设备的读写操作请求时,在所述映射表副本中查找所述逻辑设备读写操作请求对应的逻辑地址的映射关系,所述映射关系包含所述逻辑地址、映射到所述逻辑地址上的某一空闲物理存储空间所在的物理设备号和物理地址,如果不存在,则需要通过客户端通信模块向元数据服务器发送所述映射请求报文来获取所述映射关系,最后根据所述映射关系中的逻辑地址所映射到的物理设备号和物理地址,将所述读写操作请求发送到对应的物理设备上,
所述客户端中的通信模块,与所述元数据服务器中的通信模块通信,向所述元数据服务器中的通信模块发送所述逻辑设备的映射请求报文,并从所述元数据服务器中的通信模块中接收所述映射应答报文,最后将所述映射应答报文发送到所述动态地址映射模块中,
步骤(3),所述客户端对所述逻辑设备进行数据写操作,步骤如下:
步骤(3.1)客户端上的应用程序对所述逻辑设备发出数据写操作请求,
步骤(3.2)所述动态地址映射模块在所述逻辑地址和物理地址之间的映射表副本中查找是否存在所述写操作请求所对应的逻辑地址的映射关系:
步骤(3.2.1)若存在,转到步骤(3.11),
步骤(3.2.2)若不存在,则通过所述客户端中的通信模块,向元数据服务器发送映射请求报文,其中包括所述逻辑设备的逻辑设备名、逻辑设备号和所述写操作请求所对应的逻辑地址,
步骤(3.3)所述元数据服务器中的通信模块接收到映射请求报文后,向所述元数据服务器主线程模块转发所述映射请求报文,
步骤(3.4)所述元数据服务器主线程模块在所述逻辑地址与物理地址的映射表中查找是否存在所述请求映射报文中逻辑地址的映射关系:
步骤(3.4.1)若存在,转到步骤(3.8),
步骤(3.4.2)若不存在,则调用所述存储空间管理模块,进行存储空间分配,
步骤(3.5)所述存储空间管理模块判断所述存储池中是否存在能满足所述写操作请求大小的空闲存储空间:
步骤(3.5.1)若存在,则分配一段可满足所述写操作请求大小的空闲存储空间,转到步骤(3.6),
步骤(3.5.2)若不存在,则判断是否还存在未使用的物理磁盘:
步骤(3.5.2.1)若存在,则向所述存储池中增加物理磁盘,在线扩展所述存储池的存储容量,转到步骤(3.5),
步骤(3.5.2.2)若不存在,则形成一项空的映射关系,表示映射失败,转到步骤(3.8),
步骤(3.6)将所述逻辑地址映射到所述空闲存储空间的物理地址上,形成一项映射关系,并插入到所述逻辑地址与物理地址的映射表中,
步骤(3.7)所述元数据管理模块将所述映射关系更新到所述逻辑卷的元数据文件中,
步骤(3.8)将所述映射关系封装到映射应答报文方式中回复给客户端,
步骤(3.9)所述客户端中的通信模块接收到映射应答报文后,向所述动态地址映射模块转发所述映射应答报文,
步骤(3.10)所述动态地址映射模块获得所述映射应答报文后,判断映射应答报文中映射关系是否为空:
步骤(3.10.1)若为空,则此次写请求失败,返回,
步骤(3.10.2)若不为空,则把映射关系插入到所述逻辑地址与物理地址的映射表副本中,
步骤(3.11)根据映射关系中所述逻辑地址所对应的物理设备号和物理地址,将写请求中的数据发送到对应的物理设备上,返回;
步骤(4)所述客户端对所述逻辑设备进行数据读操作,步骤如下:
步骤(4.1)客户端上的应用程序对虚拟设备发出数据读操作请求,
步骤(4.2)所述动态地址映射模块在所述逻辑地址和物理地址之间的映射表的副本中查找是否存在所述读操作请求所对应的逻辑地址的映射关系:
步骤(4.2.1)若存在,转到步骤(4.8),
步骤(4.2.2)若不存在,则通过所述客户端中的通信模块,向元数据服务器发送映射请求报文,其中包括所述逻辑设备的逻辑设备名、逻辑设备号和所述读操作请求所对应的逻辑地址,
步骤(4.3)所述元数据服务器通信模块接收到映射请求报文后,向所述元数据服务器主线程模块转发所述映射请求报文,
步骤(4.4)所述元数据服务器主线程模块在所述逻辑地址与物理地址的映射表中查找是否存在所述请求映射报文上逻辑地址的映射关系:
步骤(4.4.1)若存在,转到步骤(4.5),
步骤(4.4.2)若不存在,则形成一项空的映射关系,表示映射失败,
步骤(4.5)将所述映射关系封装到映射应答报文方式中回复给客户端,
步骤(4.6)所述客户端中的通信模块接收到映射应答报文后,向所述动态地址映射模块转发所述映射应答报文,
步骤(4.7)所述动态地址映射模块获得所述映射应答报文后,判断映射应答报文中映射关系是否为空:
步骤(4.7.1)若为空,则此次读请求失败,返回,
步骤(4.7.2)若不为空,则把映射关系插入到所述逻辑地址与物理地址的映射表副本中,
步骤(4.8)根据所述映射关系中该逻辑地址所对应的物理设备号和物理地址,从所对应的物理设备中读取所请求的数据,返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010543251 CN101997918B (zh) | 2010-11-11 | 2010-11-11 | 异构san环境中的海量存储资源按需分配的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010543251 CN101997918B (zh) | 2010-11-11 | 2010-11-11 | 异构san环境中的海量存储资源按需分配的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101997918A CN101997918A (zh) | 2011-03-30 |
CN101997918B true CN101997918B (zh) | 2013-02-27 |
Family
ID=43787488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010543251 Expired - Fee Related CN101997918B (zh) | 2010-11-11 | 2010-11-11 | 异构san环境中的海量存储资源按需分配的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101997918B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713272B2 (en) | 2008-10-30 | 2014-04-29 | International Business Machines Corporation | Point-in-time copies in a cascade using maps and fdisks |
US9852168B2 (en) | 2012-12-21 | 2017-12-26 | Zhejiang Uniview Technologies Co., Ltd | Data storage planning |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012106876A1 (zh) * | 2011-07-08 | 2012-08-16 | 华为技术有限公司 | 计算机系统中子网管理方法、总线适配器及计算机系统 |
WO2013044502A1 (zh) * | 2011-09-30 | 2013-04-04 | 华为技术有限公司 | 数据管理的方法及装置 |
CN103036930B (zh) * | 2011-09-30 | 2015-06-03 | 国际商业机器公司 | 用于管理存储设备的方法和设备 |
US8719523B2 (en) * | 2011-10-03 | 2014-05-06 | International Business Machines Corporation | Maintaining multiple target copies |
CN102420856B (zh) * | 2011-11-17 | 2014-10-29 | 杭州华三通信技术有限公司 | 一种数据处理方法和设备 |
WO2013075306A1 (zh) * | 2011-11-24 | 2013-05-30 | 华为技术有限公司 | 数据访问方法和装置 |
CN102520887A (zh) * | 2011-12-19 | 2012-06-27 | 中山爱科数字科技股份有限公司 | 一种应用于云计算的存储空间配置与管理方法 |
ES2608378T3 (es) | 2011-12-29 | 2017-04-10 | Huawei Technologies Co., Ltd. | Sistema y procedimiento de computación en la nube para gestionar recursos de almacenamiento asociados |
CN102685219B (zh) * | 2012-04-27 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | San存储系统中通过动态扩容提高存储资源利用率的方法 |
US20130346532A1 (en) * | 2012-06-21 | 2013-12-26 | Microsoft Corporation | Virtual shared storage in a cluster |
CN102904948A (zh) * | 2012-09-29 | 2013-01-30 | 南京云创存储科技有限公司 | 一种超大规模低成本存储系统 |
CN103036952B (zh) * | 2012-11-30 | 2016-04-20 | 国家电网公司 | 一种企业级异构融合存储管理系统 |
US9619404B2 (en) | 2013-04-16 | 2017-04-11 | International Business Machines Corporation | Backup cache with immediate availability |
US9298617B2 (en) | 2013-04-16 | 2016-03-29 | International Business Machines Corporation | Parallel destaging with replicated cache pinning |
US9423981B2 (en) | 2013-04-16 | 2016-08-23 | International Business Machines Corporation | Logical region allocation with immediate availability |
US9104332B2 (en) | 2013-04-16 | 2015-08-11 | International Business Machines Corporation | Managing metadata and data for a logical volume in a distributed and declustered system |
US9329938B2 (en) | 2013-04-16 | 2016-05-03 | International Business Machines Corporation | Essential metadata replication |
US9104597B2 (en) | 2013-04-16 | 2015-08-11 | International Business Machines Corporation | Destaging cache data using a distributed freezer |
US9298398B2 (en) | 2013-04-16 | 2016-03-29 | International Business Machines Corporation | Fine-grained control of data placement |
US9641614B2 (en) | 2013-05-29 | 2017-05-02 | Microsoft Technology Licensing, Llc | Distributed storage defense in a cluster |
US10404520B2 (en) | 2013-05-29 | 2019-09-03 | Microsoft Technology Licensing, Llc | Efficient programmatic memory access over network file access protocols |
CN103514249B (zh) * | 2013-06-20 | 2016-12-28 | 易乐天 | 一种数据自精简方法和系统及存储装置 |
CN104238955B (zh) * | 2013-06-20 | 2018-12-25 | 杭州迪普科技股份有限公司 | 一种存储资源虚拟化按需分配的装置和方法 |
CN104426965B (zh) * | 2013-08-30 | 2018-03-16 | 华为技术有限公司 | 自管理存储方法和系统 |
CN103593243B (zh) * | 2013-11-01 | 2017-05-10 | 浪潮电子信息产业股份有限公司 | 一种可动态扩展的增加虚拟机资源集群系统 |
US9053002B2 (en) * | 2013-11-12 | 2015-06-09 | International Business Machines Corporation | Thick and thin data volume management |
WO2015096002A1 (zh) * | 2013-12-23 | 2015-07-02 | 华为技术有限公司 | 分配存储空间的方法、装置和控制器 |
CN103929500A (zh) * | 2014-05-06 | 2014-07-16 | 刘跃 | 一种分布式存储系统的数据分片方法 |
CN105205067B (zh) * | 2014-06-18 | 2019-11-12 | 中国移动通信集团浙江有限公司 | 一种存储扩容方法、装置、计算节点及存储设备 |
CN104331478B (zh) * | 2014-11-05 | 2017-09-22 | 浪潮电子信息产业股份有限公司 | 一种自精简存储系统数据一致性管理方法 |
CN105893139B (zh) * | 2015-01-04 | 2020-09-04 | 伊姆西Ip控股有限责任公司 | 在云存储环境中用于向租户提供存储服务的方法和装置 |
CN107037975B (zh) * | 2015-07-15 | 2019-12-03 | 中兴通讯股份有限公司 | 卷的空间分配方法和装置 |
CN107203331B (zh) * | 2016-03-17 | 2022-05-06 | 中兴通讯股份有限公司 | 写数据的方法及装置 |
CN105824580B (zh) * | 2016-03-18 | 2018-11-02 | 福州瑞芯微电子股份有限公司 | 录像文件写方法和录制设备 |
US9875190B2 (en) * | 2016-03-31 | 2018-01-23 | EMC IP Holding Company LLC | Delegated media translation layer in a storage appliance |
CN105975211B (zh) * | 2016-04-28 | 2019-05-28 | 浪潮(北京)电子信息产业有限公司 | 一种基于k1系统提高io性能的方法与系统 |
CN107526691B (zh) * | 2016-06-21 | 2020-06-02 | 深圳市中兴微电子技术有限公司 | 一种缓存管理方法及装置 |
CN107766374B (zh) * | 2016-08-19 | 2021-05-25 | 上海凯翔信息科技有限公司 | 一种海量小文件存储读取的优化方法和系统 |
CN106776046B (zh) * | 2017-01-13 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种scst读写优化方法及系统 |
CN108874530B (zh) * | 2017-05-12 | 2020-11-06 | 华为技术有限公司 | 对报文转发设备的业务板进行扩容、缩容的方法和装置 |
US20200174926A1 (en) * | 2017-06-22 | 2020-06-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatuses and methods for allocating memory in a data center |
CN107422989B (zh) * | 2017-07-27 | 2020-04-07 | 深圳市云舒网络技术有限公司 | 一种Server SAN系统多副本读取方法及存储系统 |
CN107479834A (zh) * | 2017-08-28 | 2017-12-15 | 北京智芯微电子科技有限公司 | 一种基于cos的文件存储方法及装置 |
CN107688441B (zh) * | 2017-08-31 | 2021-02-02 | 郑州云海信息技术有限公司 | 一种存储虚拟化的实现方法及装置 |
CN107728949B (zh) * | 2017-10-20 | 2020-09-18 | 苏州浪潮智能科技有限公司 | 一种自动精简卷测试方法、系统、装置及计算机存储介质 |
CN107885672A (zh) * | 2017-11-07 | 2018-04-06 | 杭州顺网科技股份有限公司 | 内存管理系统及方法 |
CN107888689B (zh) * | 2017-11-16 | 2019-04-30 | 无锡地铁集团有限公司 | 基于共享存储的加锁资源配置方法 |
CN108154463B (zh) * | 2017-12-06 | 2021-12-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种模型化gpu显存系统管理方法 |
CN109992536A (zh) * | 2018-01-03 | 2019-07-09 | 华为技术有限公司 | 数据处理方法、固态硬盘以及计算机设备 |
CN108520025B (zh) * | 2018-03-26 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 一种服务节点确定方法、装置、设备及介质 |
CN108845764A (zh) * | 2018-05-30 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种io数据的处理方法及装置 |
CN108920613A (zh) * | 2018-06-28 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种元数据管理方法、系统及设备和存储介质 |
CN109002503A (zh) * | 2018-06-29 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种元数据读取方法、装置、设备及可读存储介质 |
CN109032521B (zh) * | 2018-07-25 | 2019-09-10 | 星环信息科技(上海)有限公司 | 存储卷创建方法、装置、服务器及存储介质 |
CN109063103A (zh) * | 2018-07-27 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种分布式非易失文件系统 |
CN109189347A (zh) * | 2018-09-20 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种共享存储模块、服务器及系统 |
CN109739440B (zh) * | 2018-12-28 | 2022-06-07 | 武汉市烽视威科技有限公司 | 分布式共享存储方法、存储介质、电子设备及系统 |
CN112966166B (zh) * | 2021-02-07 | 2023-09-05 | 白腊梅 | 一种请求语句以及应答语句的索引生成与匹配的方法及装置 |
CN114115722A (zh) * | 2021-10-15 | 2022-03-01 | 阿里云计算有限公司 | 逻辑卷构建方法、装置、设备、可读存储介质和程序产品 |
CN114679278B (zh) * | 2022-02-23 | 2023-11-03 | 福建升腾资讯有限公司 | 基于金融设备的生产维护方法及金融设备 |
CN115309348B (zh) * | 2022-10-11 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 元数据的管理方法、装置和计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181578B1 (en) * | 2002-09-12 | 2007-02-20 | Copan Systems, Inc. | Method and apparatus for efficient scalable storage management |
CN1955912A (zh) * | 2006-10-13 | 2007-05-02 | 清华大学 | 海量存储系统中的资源分配方法 |
-
2010
- 2010-11-11 CN CN 201010543251 patent/CN101997918B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181578B1 (en) * | 2002-09-12 | 2007-02-20 | Copan Systems, Inc. | Method and apparatus for efficient scalable storage management |
CN1955912A (zh) * | 2006-10-13 | 2007-05-02 | 清华大学 | 海量存储系统中的资源分配方法 |
Non-Patent Citations (1)
Title |
---|
张广艳,等.一致持久的带外虚拟化系统.《计算机研究与发展》.2006,第1842-1847页. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713272B2 (en) | 2008-10-30 | 2014-04-29 | International Business Machines Corporation | Point-in-time copies in a cascade using maps and fdisks |
US9852168B2 (en) | 2012-12-21 | 2017-12-26 | Zhejiang Uniview Technologies Co., Ltd | Data storage planning |
Also Published As
Publication number | Publication date |
---|---|
CN101997918A (zh) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101997918B (zh) | 异构san环境中的海量存储资源按需分配的实现方法 | |
CN102255962B (zh) | 一种分布式存储方法、装置和系统 | |
CN111158587B (zh) | 基于存储池虚拟化管理的分布式存储系统及数据读写方法 | |
CN101241476B (zh) | 一种虚拟存储系统和方法 | |
US11010064B2 (en) | Data system with flush views | |
US9747155B2 (en) | Efficient data reads from distributed storage systems | |
CN102855294B (zh) | 一种智能哈希数据布局方法、集群存储系统及其方法 | |
CN114860163B (zh) | 一种存储系统、内存管理方法和管理节点 | |
US7603529B1 (en) | Methods, systems, and computer program products for mapped logical unit (MLU) replications, storage, and retrieval in a redundant array of inexpensive disks (RAID) environment | |
CN105378687B (zh) | 访问文件的方法和相关设备 | |
US7676628B1 (en) | Methods, systems, and computer program products for providing access to shared storage by computing grids and clusters with large numbers of nodes | |
US20170075741A1 (en) | Prioritizing Data Reconstruction in Distributed Storage Systems | |
CN102123176B (zh) | 一种网络存储系统空间分配管理方法及装置 | |
CN104317742A (zh) | 一种优化空间管理的自动精简配置方法 | |
CN100452046C (zh) | 一种海量文件的存储方法及系统 | |
US20190370042A1 (en) | Efficient metadata management | |
CN103514249A (zh) | 一种数据自精简方法和系统及存储装置 | |
CN106570113B (zh) | 一种海量矢量切片数据云存储方法及系统 | |
CN100424699C (zh) | 一种属性可扩展的对象文件系统 | |
CN102207830A (zh) | 一种缓存动态分配管理方法及装置 | |
CN103838853A (zh) | 一种基于不同存储介质的混合文件系统 | |
CN109933312A (zh) | 一种有效降低容器化关系型数据库i/o消耗的方法 | |
US20200341639A1 (en) | Lattice layout of replicated data across different failure domains | |
CN102982182A (zh) | 一种数据存储规划方法及装置 | |
CN106960011A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130227 Termination date: 20171111 |