CN106997274B - 一种实现存储空间管理的架构及方法 - Google Patents
一种实现存储空间管理的架构及方法 Download PDFInfo
- Publication number
- CN106997274B CN106997274B CN201610049745.6A CN201610049745A CN106997274B CN 106997274 B CN106997274 B CN 106997274B CN 201610049745 A CN201610049745 A CN 201610049745A CN 106997274 B CN106997274 B CN 106997274B
- Authority
- CN
- China
- Prior art keywords
- logical volume
- data
- lun
- san
- service
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000007726 management method Methods 0.000 claims abstract description 73
- 238000013523 data management Methods 0.000 claims abstract description 14
- 238000013508 migration Methods 0.000 claims description 86
- 230000005012 migration Effects 0.000 claims description 76
- 238000013507 mapping Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 101100226366 Arabidopsis thaliana EXT3 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 208000034420 multiple type III exostoses Diseases 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现存储空间管理的架构及方法,包括确定性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷;采用包括文件系统和容量池两个层次的空间管理方式提供SAN服务。本发明提供的技术方案,通过包括有文件系统和容量池两个层次的空间管理对主机提供SAN服务,解决了性能和功能难以兼顾的问题,从而灵活满足了各类应用对于性能和功能上的不同需求。
Description
技术领域
本发明涉及网络存储技术,尤指一种实现存储空间管理的架构及方法。
背景技术
网络存储服务主要有两类标准服务接口:网络文件服务接口和块服务接口。其中,网络文件服务接口主要基于网络文件系统(NFS,Netwok File System),网络文件共享系统(CIFS,Common Internet File System),文件传输协议(FTP,File Transfer Protocol)等标准协议,服务器可以通过文件语义方式访问存储设备上的数据,基本访问对象是文件,此时称存储设备提供了网络附加存储(NAS,Network Attack Storage)服务;块服务接口主要基于小型计算机系统接口(SCSI,Small Computer System Interface)协议族,服务器通过块设备的语义来访问存储设备上的数据,基本访问对象是逻辑卷,此时称存储设备提供了存储区域网络(SAN,Storage Area Network)服务。
二十世纪九十年代,NAS服务与SAN服务分别由不同的设备提供,各自分别称为NAS存储设备和SAN存储设备。2002年,Netapp公司的FAS900第一次在同一个存储设备上同时提供NAS和SAN两类存储服务,称为统一存储设备。在一些应用场景,统一存储设备显著降低了用户成本,从而迅速得到了广泛应用。
统一存储设备同时提供NAS和SAN两类服务,不同存储服务共享设备的物理存储空间,管理上对使用者呈现为单个完整设备。统一存储设备物理形态主要有控制器合一和控制器分离两种方式,其中,控制器合一的统一存储设备物理形态如图1所示,控制器分离的统一存储设备物理形态如图2所示。控制器合一的统一存储设备软件架构主要有基于文件系统的空间管理,和基于容量池的空间管理两类,分别如图3和图4所示。
在图3中,NAS接口软件将网络文件访问请求映射为本地文件系统中文件对象的访问,文件对象提供的字节粒度的访问服务与网络文件服务完全匹配;而SAN接口软件将对逻辑卷的访问请求映射为本地文件系统中文件对象的访问,逻辑卷对象和文件对象一一对应,逻辑卷对象的访问服务要求的粒度为扇区,而文件对象提供了比扇区更细的访问粒度,也能够满足逻辑卷的服务需求。在图4中,NAS接口软件处理与图3所示的相同,即NAS接口软件都是一侧对外提供NAS服务,一侧基于文件系统,也就是说NAS接口软件的外部接口和内部逻辑都是一样的;而SAN接口软件则将对逻辑卷的访问请求映射为容量池上的卷对象的访问,逻辑卷对象和容量池卷对象一一对应,容量池上卷的访问服务粒度为扇区,与逻辑卷的服务要求完全匹配。
文件系统和容量池都具备管理存储空间的能力,基于的方法有类似和相通的地方,图5和图6示意了两种比较常见的方式,用户可用的存储空间划分为相同或者不同粒度的数据页面,这些页面的信息(例如页面地址)存放在元数据中。在图5所示的B树方式中,树的叶节点就是用户可用的数据页面,而树的枝节点是元数据;在图6所示的iNode页面指针方式中,iNode和页面指针是元数据。无论采用何种空间管理方式,都必须基于元数据来分配、释放、查找页面。其中,元数据带来一定的空间开销,数据页面越小,同样大小的物理空间划分的页面数越多,则需要的元数据量就越大。
从上述描述可以看出,基于文件系统的空间管理,对空间实现了细粒度页面如4KB的管理,完善的文件系统使得各类业务功能可以很方便的得到支持,比如瘦供给功能(ThinProvision,也称为自动精简功能),重复数据删除(De-duplication)等,但是,这种方式的元数据量相对较大,无法全部放在内存中,虽然可以针对具体某种输入输出(IO)流进行优化,但一般来说,对比传统的SAN设备,其性能并不高。
基于容量池的空间管理,如果对空间实现细粒度页面的管理,则会与统一存储设备内部存在的文件系统逻辑重复,NAS服务数据路径处理更加复杂冗余,相比传统的NAS设备,其性能不高;如果对空间实现粗粒度页面如1MB的管理,可能将所有元数据都放在内存中处理,性能不错,但是,这种粗粒度页面会使得一些SAN服务的高级功能难以实施,或者实施效果不好,比如Thin Provision,如果粒度超过64k,就很难在一般的应用场景下取得比较好的效果。
综上所述,现有存储软件架构的空间管理方式,空间管理粒度细,利于功能开展,但是性能会稍差;而空间管理粒度粗,性能比较好,但是功能支持不好。也就是说,现有的空间管理方式,存在性能和功能难以兼顾的问题,不能满足各类应用对于性能和功能上的不同需求。
发明内容
为了解决上述技术问题,本发明提供一种实现存储空间管理的架构及方法,能够解决性能和功能难以兼顾的问题,从而灵活满足各类应用对于性能和功能上的不同需求。
为了达到本发明目的,本发明提供了一种实现存储空间管理的架构,包括控制器;控制器至少包括:用于仅提供对数据块以粗粒度进行管理的容量池;用于对数据块以细粒度进行管理的文件系统;用于完成NAS接口协议栈的处理并提供NAS服务的NAS接口组件;以及,用于完成SAN接口协议栈的处理并提供SAN服务的SAN接口组件;其中,
SAN接口组件还用于:确定性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷;采用包括文件系统和容量池的空间管理方式提供SAN服务。
可选地,所述SAN接口组件具体用于:对所述确定出的性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷,将主机对于逻辑卷的访问请求映射到对创建的文件对象的访问,对主机提供SAN服务;其中,
所述创建的文件对象为:系统自动在容量池上创建虚拟卷,并在该虚拟卷上创建文件系统,该虚拟卷和文件系统内部保留;从所述保留文件系统中创建文件对象,其中,文件对象的大小等于用户创建的逻辑卷大小。
可选地,所述SAN接口组件还用于:对于性能要求高于或等于所述预先设置的阈值的逻辑卷,采用所述容量池的空间管理方式提供SAN服务。
可选地,所述NAS接口组件还用于:采用包括所述文件系统和所述容量池的空间管理方式提供NAS服务。
可选地,所述架构还包括:数据迁移模块;
数据迁移模块用于:当检测到SAN服务的指定数据路径上的逻辑卷LUN-A满足预先设置的自动迁移条件时,通知所述SAN接口组件执行数据迁移至SAN服务的另一数据路径上。
可选地,所述数据迁移模块具体用于:
定期检测所述指定数据路径上的逻辑卷LUN-A当前是否满足预先设置的自动迁移条件,当满足自动迁移条件时,启动数据迁移;
创建所述另一数据路径上的逻辑卷LUN-A’,该逻辑卷LUN-A’的逻辑卷标识LUN ID和所述逻辑卷LUN-A的逻辑卷标识相同,但不提供SAN服务;
向所述SAN接口组件发送第一通知;从所述指定数据路径读取逻辑卷LUN-A对应的虚拟卷的数据;将读出的数据,从所述另一数据路径写入逻辑卷LUN-A’对应的文件对象,直到逻辑卷LUN-A’上的数据和逻辑卷LUN-A上的数据完全相同;向所述SAN接口组件发送第二通知;删除逻辑卷LUN-A,释放相关资源;
相应地,
所述SAN接口组件还用于:接收到第一通知,后续将对逻辑卷LUN-A的写入送给数据迁移模块;接收到第二通知,停止对逻辑卷LUN-A的服务,开始对逻辑卷LUN-A’提供SAN服务,将原来对逻辑卷LUN-A的服务映射到对文件系统上的对逻辑卷LUN-A’对象的访问。
可选地,
在所述数据迁移模块从所述指定数据路径读取逻辑卷LUN-A对应的虚拟卷的数据,并将读出的数据从所述另一数据路径写入逻辑卷LUN-A’对应的文件对象的过程中,如果所述逻辑卷LUN-A持续提供SAN服务,则,
所述SAN接口组件还用于:将主机写入所述逻辑卷LUN-A的数据发送给所述数据迁移模块;
所述数据迁移模块还用于:将数据从所述指定数据路径写入逻辑卷LUN-A对应的虚拟卷,同时通过所述另一数据路径写入所述逻辑卷LUN-A’对应的文件对象。
本发明还提供了一种实现存储空间管理的方法,包括:确定性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷;
采用包括文件系统和容量池的空间管理方式提供SAN服务。
可选地,所述采用包括文件系统和容量池的空间管理方式提供SAN服务包括:
系统自动在容量池上创建虚拟卷,并在该虚拟卷上创建文件系统,该虚拟卷和文件系统内部保留;
从保留文件系统中创建文件对象,文件对象的大小等于用户创建的逻辑卷大小;
SAN接口组件将主机对于逻辑卷的访问请求映射到对创建的文件对象的访问,对主机提供SAN服务。
可选地,该方法还包括:对于性能要求高于或等于所述预先设置的阈值的逻辑卷,采用所述容量池的空间管理方式提供SAN服务。
可选地,该方法还包括:采用包括所述文件系统和所述容量池的空间管理方式提供NAS服务。
可选地,当数据迁移模块检测到SAN服务的指定数据路径上的逻辑卷LUN-A满足预先设置的自动迁移条件时,通知SAN接口组件执行数据迁移至SAN服务的另一数据路径上。
可选地,所述执行数据迁移至SAN服务的另一数据路径上包括:
所述数据迁移模块定期检测所述指定数据路径上的逻辑卷LUN-A当前是否满足预先设置的自动迁移条件,当满足自动迁移条件时,启动数据迁移;创建所述另一数据路径上的逻辑卷LUN-A’,该逻辑卷LUN-A’的逻辑卷标识LUN ID和所述逻辑卷LUN-A的逻辑卷标识相同,但不提供SAN服务;向所述SAN接口组件发送第一通知;从所述指定数据路径读取逻辑卷LUN-A对应的虚拟卷的数据;将读出的数据,从所述另一数据路径写入逻辑卷LUN-A’对应的文件对象,直到逻辑卷LUN-A’上的数据和逻辑卷LUN-A上的数据完全相同;向所述SAN接口组件发送第二通知;删除逻辑卷LUN-A,释放相关资源;
相应地,
所述SAN接口组件接收到第一通知,后续将对逻辑卷LUN-A的写入送给数据迁移模块;接收到第二通知,停止对逻辑卷LUN-A的服务,开始对逻辑卷LUN-A’提供SAN服务,将原来对逻辑卷LUN-A的服务映射到对文件系统上的对逻辑卷LUN-A’对象的访问。
可选地,所述自动迁移条件包括:逻辑卷在一段时间内的IO访问低于某个预先设置的IO访问阈值,或者逻辑卷的创建时间长度大于预先设置的时间阈值。
可选地,在所述数据迁移模块从所述指定数据路径读取所述逻辑卷LUN-A对应的虚拟卷的数据,并将读出的数据从所述另一数据路径写入所述逻辑卷LUN-A’对应的文件对象的过程中,如果所述逻辑卷LUN-A持续提供SAN服务,该方法还包括:
所述SAN接口组件将主机写入所述逻辑卷LUN-A的数据发送给数据迁移模块;
所述数据迁移模块将数据从所述指定数据路径写入所述逻辑卷LUN-A对应的虚拟卷,同时通过所述另一数据路径写入所述逻辑卷LUN-A’对应的文件对象。
与现有技术相比,本申请技术方案包括:确定性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷;采用包括文件系统和容量池两个层次的空间管理方式提供SAN服务。本发明提供的技术方案,通过包括有文件系统和容量池两个层次的空间管理对主机提供SAN服务,解决了性能和功能难以兼顾的问题,从而灵活满足了各类应用对于性能和功能上的不同需求。
进一步地,本发明还包括:对于性能要求高于或等于预先设置的阈值的逻辑卷,采用容量池单层次的空间管理方式提供SAN服务。以及,采用包括文件系统和容量池两个层次的空间管理方式提供NAS服务。本发明真正解决了性能和功能难以兼顾的问题,从而灵活满足了各类应用对于性能和功能上的不同需求。
进一步地,本发明还包括:当数据迁移模块检测到SAN服务的指定数据路径如数据路径3上的逻辑卷LUN-A满足预先设置的自动迁移条件时,通知SAN接口组件执行数据迁移。通过本发明的SAN接口组件实现了将对系统中不同逻辑卷的访问请求分别映射为对文件对象或者对于容量池上卷对象的访问请求,这种映射关系实现了在不影响对逻辑卷访问的情况下,在逻辑卷的生命周期中进行变化。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有控制器合一的统一存储设备的示意图;
图2为现有控制器分离的统一存储设备的示意图;
图3为现有基于文件系统的空间管理的控制器合一的统一存储设备软件架构示意图;
图4为现有基于容量池的空间管理的控制器合一的统一存储设备软件架构示意图;
图5为现有空间管理方式中B树方式的示意图;
图6为现有空间管理方式中iNode页面指针方式的示意图;
图7为本发明实现存储空间管理的架构的示意图;
图8为本发明SAN存储服务的迁移的示意图;
图9为本发明实现存储空间管理的方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图7为本发明实现存储空间管理的架构的示意图,如图7所示,包括控制器,控制器至少包括容量池,文件系统,NAS接口组件,SAN接口组件;其中,
NAS接口组件,用于完成NAS接口协议栈,如NFS/CIFS/FTP等的处理,NAS服务通过NAS接口组件提供;
SAN接口组件,用于完成SAN接口协议栈,如FC/iSCSI+SCSI等的处理,SAN服务通过SAN接口组件提供。
文件系统,用于对数据块以比较细的粒度如KB粒度进行管理。基于这种细粒度管理,压缩、加密、Thin Porvision、Deduplication等高级存储功能很容易实现。不同的文件系统有自己的空间管理的方法,比如EXT3(是一种Linux内核原生的文件系统的名称)采用类似图6的结构,ZFS(是SUN公司开发的一个文件系统)采用类似图5的结构;
容量池,用于仅提供对数据块以较粗粒度如MB以上粒度进行管理。基于这种粗粒度管理的容量池,提供磁盘阵列(RAID,Redundant Arrays of Independent Disks)、数据自动分级等基本功能。一种可行的容量池空间管理方式如专利US6823442所述。
SAN接口组件还用于:确定性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷;采用包括文件系统和容量池两个层次的空间管理方式提供SAN服务。具体用于:
对于确定出的性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷,将主机对于逻辑卷的访问请求映射到对创建的文件对象的访问,对主机提供SAN服务;其中,
所述创建的文件对象为:系统自动在容量池上创建虚拟卷,并在该虚拟卷上创建文件系统,该虚拟卷和文件系统内部保留;从所述保留文件系统中创建文件对象,其中,文件对象的大小等于用户创建的逻辑卷大小。
如图7中形成了3条可行的数据路径,其中,NAS服务通过如图7中粗虚线所示的数据路径1提供,SAN服务通过粗单点划线所示的数据路径2和粗双点划线所示的数据路径3提供。
与图3、图4所示的现有解决方案相比,不同的是,在本发明图7中,SAN服务不只拥有单条路径,而是拥有两条不同的数据路径。现有技术中的单个数据路径上提供单一的服务质量,在IO性能和空间效率的权衡上只能选择一种策略,难以满足多种不同应用的需求。但是,在本发明图7所示的实现空间管理的架构中,通过引入两条不同的数据路径即数据路径2和数据路径3,提供了不同的策略,从而更好的满足了不同应用的不同需求。
下面详细介绍基于本发明实现空间管理的架构的三种不同数据路径针对不同应用的不同需求提供的服务过程。
图7中的数据路径1提供NAS服务,在数据路径1上:
磁盘空间加入容量池,容量池将磁盘空间划分为MB以上粒度的页面,生成对应的元数据。容量池完成RAID、在线扩容、数据自动分级等容量管理功能,将磁盘空间虚拟化为容量池空间。
用户选择创建文件系统时,用户指定或者系统自动设定文件系统的初始容量配额,系统从容量池上分配对应空间大小的虚拟卷,如当开启自动分级功能时虚拟卷的属性采用默认属性;在虚拟卷上创建文件系统;文件系统将虚拟卷的容量划分为4~128KB的页面进行管理,在其上创建目录、文件等存储对象。
NAS接口组件将主机的网络文件访问请求,映射到对文件系统对象的访问,对主机提供NAS服务。
在本发明中,SAN接口组件可以使用文件系统提供的服务,也可以使用容量池提供的服务。在创建逻辑卷时,用户指定逻辑卷的性能要求,系统根据用户的这个选项选择实际的数据路径即可。其中,
对于性能要求高的逻辑卷如高于或等于预先设置的阈值,SAN服务可以选择如图7的数据路径3,在数据路径3上:容量池空间管理方式和上述NAS数据路径所述相同,即:根据用户选择创建逻辑卷属性,系统从容量池上分配对应空间大小的虚拟卷,其属性满足用户设定(例如自动分级属性);SAN接口组件将主机对于逻辑卷的访问请求映射到对容量池上虚拟卷的访问,对主机提供SAN服务。如图7所示,数据路径3只有容量池一层粗粒度的空间管理,元数据可以实现常驻内存中,IO性能最佳。
而对于性能要求不高如低于预先设置的阈值,或者需要开启高级数据管理功能的逻辑卷,SAN服务可以选择如图7中的数据路径2,在数据路径2上:容量池空间管理方式和上述NAS数据路径所述相同,即:系统自动在容量池上创建虚拟卷,并在该虚拟卷上创建文件系统,该虚拟卷和文件系统内部保留,对于用户不可见;从上述保留文件系统中创建文件对象,文件对象的大小等于用户创建的逻辑卷大小;SAN接口组件将主机对于逻辑卷的访问请求映射到对创建的文件对象的访问,对主机提供SAN服务。
可见,数据路径2有文件系统和容量池两个层次的空间管理,其中,文件系统的元数据无法全部常驻内存,性能相比数据路径3要低;但是,由于空间管理粒度较小,可以很好的支持各类数据管理功能。
需要说明的是,在图7所示的实施方式中,SAN接口组件外部将系统中不同逻辑卷的访问请求映射为:对文件对象或者对于容量池上卷对象的访问请求,但是,每个卷只能有一种映射方式,这种映射关系一经形成,在逻辑卷的整个生命周期内不变。
图8为本发明SAN存储服务的迁移的示意图,与图7相比,本发明实现空间管理的架构还包括:图8中增加的用于完成系统内部的数据迁移的数据迁移功能软件组件。
随着时间推移,SAN服务访问的逻辑卷上的数据性能要求可能降低,同时需要开启高级功能(如压缩、Deduplication、Thin Provision等)来提升空间使用效率。用户根据对于逻辑卷负载的理解,可以设置一定的自动迁移条件控制某项高级功能的开启条件,设置的自动迁移条件可以包括但不限于:逻辑卷在一段时间内的IO访问低于某个预先设置的IO访问阈值,或者逻辑卷的创建时间长度大于预先设置的时间阈值等。
根据用户设置的策略,系统内部的数据迁移模块执行逻辑卷数据从容量池向文件系统的自动迁移,包括:
如图8中,数据迁移模块用于:当检测到数据路径3上的逻辑卷LUN-A满足预先设置的自动迁移条件时,执行数据迁移并通知SAN接口组件。具体用于:
定期检测数据路径3上的逻辑卷LUN-A当前是否满足预先设置的自动迁移条件。当满足自动迁移条件时,启动数据迁移;创建如图7中的数据路径2上的逻辑卷LUN-A’。该逻辑卷LUN-A’的逻辑卷标识(LUN ID)和数据路径3上的逻辑卷LUN-A的逻辑卷标识相同,但不提供SAN服务;向SAN接口组件发送第一通知;从数据路径3读取逻辑卷LUN-A对应的虚拟卷的数据;将读出的数据,从数据路径2写入逻辑卷LUN-A’对应的文件对象,直到逻辑卷LUN-A’上的数据和逻辑卷LUN-A上的数据完全相同;向SAN接口组件发送第二通知;删除LUN-A,释放相关资源;
SAN接口组件还用于:接收到来自数据迁移模块的通知,执行数据迁移。具体用于:
接收到第一通知,后续将对逻辑卷LUN-A的写入送给数据迁移模块;接收到第二通知,停止对逻辑卷LUN-A的服务,开始对逻辑卷LUN-A’提供SAN服务,将原来对逻辑卷LUN-A的服务映射到对文件系统上的对逻辑卷LUN-A’对象的访问。
进一步地,
在数据迁移模块从数据路径3读取逻辑卷LUN-A对应的虚拟卷的数据,并将读出的数据从数据路径2写入逻辑卷LUN-A’对应的文件对象的过程中,如果,逻辑卷LUN-A持续提供SAN服务,那么,
SAN接口组件还用于:将主机写入逻辑卷LUN-A的数据发送给数据迁移模块;
数据迁移模块还用于:将数据从数据路径3写入逻辑卷LUN-A对应的虚拟卷,同时也通过数据路径2写入逻辑卷LUN-A’对应的文件对象。
进一步地,用户也可以设置策略来控制逻辑卷数据进行反向的迁移。具体实现在本发明8所示的实施方式的基础上是容易实现的,这里不再赘述。
通过图8所示的实施方式,本发明的SAN接口组件实现了将对系统中不同逻辑卷的访问请求分别映射为对文件对象或者对于容量池上卷对象的访问请求,这种映射关系可以在不影响对逻辑卷访问的情况下,在逻辑卷的生命周期中进行变化。
图9为本发明实现存储空间管理的方法的流程图,如图9所示,包括:
步骤900:确定性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷。
步骤901:采用包括文件系统和容量池两个层次的空间管理方式提供SAN服务。本步骤具体包括:
系统自动在容量池上创建虚拟卷,并在该虚拟卷上创建文件系统,该虚拟卷和文件系统内部保留,对于用户不可见;
从上述保留文件系统中创建文件对象,文件对象的大小等于用户创建的逻辑卷大小;
SAN接口组件将主机对于逻辑卷的访问请求映射到对创建的文件对象的访问,对主机提供SAN服务。
本发明方法,通过包括有文件系统和容量池两个层次的空间管理对主机提供SAN服务,虽然文件系统的元数据无法全部常驻内存,性能相比采用容量池单层次的空间管理方式提供SAN服务的要低,但是,由于空间管理粒度较小,很好的支持了各类数据管理功能,解决了性能和功能难以兼顾的问题,从而灵活满足了各类应用对于性能和功能上的不同需求。
本发明方法还包括:对于性能要求高于或等于预先设置的阈值的逻辑卷,采用容量池单层次的空间管理方式提供SAN服务。具体包括:
根据用户选择创建逻辑卷属性,系统从容量池上分配对应空间大小的虚拟卷,其属性满足用户设定(例如自动分级属性);SAN接口组件将主机对于逻辑卷的访问请求映射到对容量池上虚拟卷的访问,对主机提供SAN服务。
本发明方法还包括:采用包括文件系统和容量池两个层次的空间管理方式提供NAS服务。具体包括:
磁盘空间加入容量池,容量池将磁盘空间划分为MB以上粒度的页面,生成对应的元数据;容量池完成RAID、在线扩容、数据自动分级等容量管理功能,将磁盘空间虚拟化为容量池空间;
用户选择创建文件系统时,用户指定或者系统自动设定文件系统的初始容量配额,系统从容量池上分配对应空间大小的虚拟卷,如当开启自动分级功能时虚拟卷的属性采用默认属性;在虚拟卷上创建文件系统;文件系统将虚拟卷的容量划分为4~128KB的页面进行管理,在其上创建目录、文件等存储对象;
NAS接口组件将主机的网络文件访问请求,映射到对文件系统对象的访问,对主机提供NAS服务。
进一步地,对于SAN服务,本发明方法还包括:
当数据迁移模块检测到SAN服务的指定数据路径如数据路径3上的逻辑卷LUN-A满足预先设置的自动迁移条件时,通知SAN接口组件执行数据迁移至SAN服务的另一数据路径上。
具体包括:
数据迁移模块定期检测SAN服务的指定数据路径如数据路径3上的逻辑卷LUN-A当前是否满足预先设置的自动迁移条件。当满足自动迁移条件时,启动数据迁移;创建SAN服务的另一数据路径如数据路径2上的逻辑卷LUN-A’。该逻辑卷LUN-A’的逻辑卷标识(LUNID)和SAN服务的指定数据路径如数据路径3上的逻辑卷LUN-A的逻辑卷标识相同,但不提供SAN服务;向SAN接口组件发送第一通知;从SAN服务的指定数据路径如数据路径3读取逻辑卷LUN-A对应的虚拟卷的数据;将读出的数据,从SAN服务的另一数据路径如数据路径2写入逻辑卷LUN-A’对应的文件对象,直到逻辑卷LUN-A’上的数据和逻辑卷LUN-A上的数据完全相同;向SAN接口组件发送第二通知;删除逻辑卷LUN-A,释放相关资源。
相应地,
SAN接口组件接收到第一通知,后续将对逻辑卷LUN-A的写入送给数据迁移模块;接收到第二通知,停止对逻辑卷LUN-A的服务,开始对逻辑卷LUN-A’提供SAN服务,将原来对逻辑卷LUN-A的服务映射到对文件系统上的对逻辑卷LUN-A’对象的访问。
其中,自动迁移条件可以包括但不限于:逻辑卷在一段时间内的IO访问低于某个预先设置的IO访问阈值,或者逻辑卷的创建时间长度大于预先设置的时间阈值等。
这样,通过本发明的SAN接口组件实现了将对系统中不同逻辑卷的访问请求分别映射为对文件对象或者对于容量池上卷对象的访问请求,这种映射关系实现了在不影响对逻辑卷访问的情况下,在逻辑卷的生命周期中进行变化。
进一步地,
在数据迁移模块从SAN服务的指定数据路径如数据路径3读取逻辑卷LUN-A对应的虚拟卷的数据,并将读出的数据从SAN服务的另一数据路径如数据路径2写入逻辑卷LUN-A’对应的文件对象的过程中,如果,逻辑卷LUN-A持续提供SAN服务,那么,
SAN接口组件将主机写入逻辑卷LUN-A的数据发送给数据迁移模块;
数据迁移模块将数据从SAN服务的指定数据路径如数据路径3写入逻辑卷LUN-A对应的虚拟卷,同时也通过SAN服务的另一数据路径如数据路径2写入逻辑卷LUN-A’对应的文件对象。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种实现存储空间管理的架构,其特征在于,包括控制器;控制器至少包括:用于仅提供对数据块以粗粒度进行管理的容量池;用于对数据块以细粒度进行管理的文件系统;用于完成NAS接口协议栈的处理并提供NAS服务的NAS接口组件;以及,用于完成SAN接口协议栈的处理并提供SAN服务的SAN接口组件;其中,
SAN接口组件还用于:确定性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷;采用包括文件系统和容量池的空间管理方式提供SAN服务;
所述SAN接口组件具体用于:对所述确定出的性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷,将主机对于逻辑卷的访问请求映射到对创建的文件对象的访问,对主机提供SAN服务;其中,
所述创建的文件对象为:系统自动在容量池上创建虚拟卷,并在该虚拟卷上创建文件系统,该虚拟卷和文件系统内部保留;从保留文件系统中创建文件对象,其中,文件对象的大小等于用户创建的逻辑卷大小。
2.根据权利要求1所述的架构,其特征在于,所述SAN接口组件还用于:对于性能要求高于或等于所述预先设置的阈值的逻辑卷,采用所述容量池的空间管理方式提供SAN服务。
3.根据权利要求1所述的架构,其特征在于,所述NAS接口组件还用于:采用包括所述文件系统和所述容量池的空间管理方式提供NAS服务。
4.根据权利要求1~3任一项所述的架构,其特征在于,所述架构还包括:数据迁移模块;
数据迁移模块用于:当检测到SAN服务的指定数据路径上的逻辑卷LUN-A满足预先设置的自动迁移条件时,通知所述SAN接口组件执行数据迁移至SAN服务的另一数据路径上。
5.根据权利要求4所述的架构,其特征在于,所述数据迁移模块具体用于:
定期检测所述指定数据路径上的逻辑卷LUN-A当前是否满足预先设置的自动迁移条件,当满足自动迁移条件时,启动数据迁移;
创建所述另一数据路径上的逻辑卷LUN-A’,该逻辑卷LUN-A’的逻辑卷标识LUN ID和所述逻辑卷LUN-A的逻辑卷标识相同,但不提供SAN服务;
向所述SAN接口组件发送第一通知;从所述指定数据路径读取逻辑卷LUN-A对应的虚拟卷的数据;将读出的数据,从所述另一数据路径写入逻辑卷LUN-A’对应的文件对象,直到逻辑卷LUN-A’上的数据和逻辑卷LUN-A上的数据完全相同;向所述SAN接口组件发送第二通知;删除逻辑卷LUN-A,释放相关资源;
相应地,
所述SAN接口组件还用于:接收到第一通知,后续将对逻辑卷LUN-A的写入送给数据迁移模块;接收到第二通知,停止对逻辑卷LUN-A的服务,开始对逻辑卷LUN-A’提供SAN服务,将原来对逻辑卷LUN-A的服务映射到对文件系统上的对逻辑卷LUN-A’对象的访问。
6.根据权利要求5所述的架构,其特征在于,
在所述数据迁移模块从所述指定数据路径读取逻辑卷LUN-A对应的虚拟卷的数据,并将读出的数据从所述另一数据路径写入逻辑卷LUN-A’对应的文件对象的过程中,如果所述逻辑卷LUN-A持续提供SAN服务,则,
所述SAN接口组件还用于:将主机写入所述逻辑卷LUN-A的数据发送给所述数据迁移模块;
所述数据迁移模块还用于:将数据从所述指定数据路径写入逻辑卷LUN-A对应的虚拟卷,同时通过所述另一数据路径写入所述逻辑卷LUN-A’对应的文件对象。
7.一种实现存储空间管理的方法,其特征在于,包括:确定性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷;
采用包括文件系统和容量池的空间管理方式提供SAN服务;
所述采用包括文件系统和容量池的空间管理方式提供SAN服务包括:
系统自动在容量池上创建虚拟卷,并在该虚拟卷上创建文件系统,该虚拟卷和文件系统内部保留;
从保留文件系统中创建文件对象,文件对象的大小等于用户创建的逻辑卷大小;
SAN接口组件将主机对于逻辑卷的访问请求映射到对创建的文件对象的访问,对主机提供SAN服务。
8.根据权利要求7所述的方法,其特征在于,该方法还包括:对于性能要求高于或等于所述预先设置的阈值的逻辑卷,采用所述容量池的空间管理方式提供SAN服务。
9.根据权利要求7所述的方法,其特征在于,该方法还包括:采用包括所述文件系统和所述容量池的空间管理方式提供NAS服务。
10.根据权利要求7~9任一项所述的方法,其特征在于,当数据迁移模块检测到SAN服务的指定数据路径上的逻辑卷LUN-A满足预先设置的自动迁移条件时,通知SAN接口组件执行数据迁移至SAN服务的另一数据路径上。
11.根据权利要求10所述的方法,其特征在于,所述执行数据迁移至SAN服务的另一数据路径上包括:
所述数据迁移模块定期检测所述指定数据路径上的逻辑卷LUN-A当前是否满足预先设置的自动迁移条件,当满足自动迁移条件时,启动数据迁移;创建所述另一数据路径上的逻辑卷LUN-A’,该逻辑卷LUN-A’的逻辑卷标识LUN ID和所述逻辑卷LUN-A的逻辑卷标识相同,但不提供SAN服务;向所述SAN接口组件发送第一通知;从所述指定数据路径读取逻辑卷LUN-A对应的虚拟卷的数据;将读出的数据,从所述另一数据路径写入逻辑卷LUN-A’对应的文件对象,直到逻辑卷LUN-A’上的数据和逻辑卷LUN-A上的数据完全相同;向所述SAN接口组件发送第二通知;删除逻辑卷LUN-A,释放相关资源;
相应地,
所述SAN接口组件接收到第一通知,后续将对逻辑卷LUN-A的写入送给数据迁移模块;接收到第二通知,停止对逻辑卷LUN-A的服务,开始对逻辑卷LUN-A’提供SAN服务,将原来对逻辑卷LUN-A的服务映射到对文件系统上的对逻辑卷LUN-A’对象的访问。
12.根据权利要求11所述的方法,其特征在于,所述自动迁移条件包括:逻辑卷在一段时间内的IO访问低于某个预先设置的IO访问阈值,或者逻辑卷的创建时间长度大于预先设置的时间阈值。
13.根据权利要求11所述的方法,其特征在于,在所述数据迁移模块从所述指定数据路径读取所述逻辑卷LUN-A对应的虚拟卷的数据,并将读出的数据从所述另一数据路径写入所述逻辑卷LUN-A’对应的文件对象的过程中,如果所述逻辑卷LUN-A持续提供SAN服务,该方法还包括:
所述SAN接口组件将主机写入所述逻辑卷LUN-A的数据发送给数据迁移模块;
所述数据迁移模块将数据从所述指定数据路径写入所述逻辑卷LUN-A对应的虚拟卷,同时通过所述另一数据路径写入所述逻辑卷LUN-A’对应的文件对象。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610049745.6A CN106997274B (zh) | 2016-01-25 | 2016-01-25 | 一种实现存储空间管理的架构及方法 |
PCT/CN2016/105075 WO2017128802A1 (zh) | 2016-01-25 | 2016-11-08 | 一种实现存储空间管理的架构及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610049745.6A CN106997274B (zh) | 2016-01-25 | 2016-01-25 | 一种实现存储空间管理的架构及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106997274A CN106997274A (zh) | 2017-08-01 |
CN106997274B true CN106997274B (zh) | 2021-04-30 |
Family
ID=59397363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610049745.6A Active CN106997274B (zh) | 2016-01-25 | 2016-01-25 | 一种实现存储空间管理的架构及方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106997274B (zh) |
WO (1) | WO2017128802A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000634B (zh) * | 2020-07-28 | 2023-11-14 | 中国建设银行股份有限公司 | Nas存储文件系统的容量管理方法、系统、设备和存储介质 |
CN113094756A (zh) * | 2021-05-13 | 2021-07-09 | 统信软件技术有限公司 | 一种数据加密方法及计算设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003162439A (ja) * | 2001-11-22 | 2003-06-06 | Hitachi Ltd | ストレージシステム及びその制御方法 |
CN1648842A (zh) * | 2004-01-29 | 2005-08-03 | 株式会社日立制作所 | 具有多个接口的存储装置 |
CN1688982A (zh) * | 2002-08-09 | 2005-10-26 | 网络装置公司 | 为文件和块存取协议提供综合支持的多协议存储设备 |
CN104539746A (zh) * | 2015-01-30 | 2015-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种访问数据的方法、nas机头和san |
CN104994135A (zh) * | 2015-05-25 | 2015-10-21 | 华为技术有限公司 | 存储系统中融合san及nas存储架构的方法及装置 |
CN105068771A (zh) * | 2015-09-17 | 2015-11-18 | 浪潮(北京)电子信息产业有限公司 | 一种统一存储方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986651B (zh) * | 2010-08-26 | 2013-01-30 | 上海网众信息技术有限公司 | 远程存储的方法及其系统及客户端 |
-
2016
- 2016-01-25 CN CN201610049745.6A patent/CN106997274B/zh active Active
- 2016-11-08 WO PCT/CN2016/105075 patent/WO2017128802A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003162439A (ja) * | 2001-11-22 | 2003-06-06 | Hitachi Ltd | ストレージシステム及びその制御方法 |
CN1688982A (zh) * | 2002-08-09 | 2005-10-26 | 网络装置公司 | 为文件和块存取协议提供综合支持的多协议存储设备 |
CN1648842A (zh) * | 2004-01-29 | 2005-08-03 | 株式会社日立制作所 | 具有多个接口的存储装置 |
CN104539746A (zh) * | 2015-01-30 | 2015-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种访问数据的方法、nas机头和san |
CN104994135A (zh) * | 2015-05-25 | 2015-10-21 | 华为技术有限公司 | 存储系统中融合san及nas存储架构的方法及装置 |
CN105068771A (zh) * | 2015-09-17 | 2015-11-18 | 浪潮(北京)电子信息产业有限公司 | 一种统一存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2017128802A1 (zh) | 2017-08-03 |
CN106997274A (zh) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9696932B1 (en) | Virtual provisioning space reservation | |
US11409448B2 (en) | Selectively storing data into allocation areas using streams | |
US7594084B2 (en) | File storage control device and method | |
US9229826B2 (en) | Volatile memory representation of nonvolatile storage device set | |
US7676628B1 (en) | Methods, systems, and computer program products for providing access to shared storage by computing grids and clusters with large numbers of nodes | |
US8285967B1 (en) | Method for on-demand block map generation for direct mapped LUN | |
KR100439675B1 (ko) | 대용량 공유 저장장치를 위한 효율적인 스냅샷 수행방법 | |
US8751547B2 (en) | Multiple file system and/or multi-host single instance store techniques | |
JP2017091548A (ja) | 分散格納システム及び分散格納方法並びに分散施設 | |
US8694563B1 (en) | Space recovery for thin-provisioned storage volumes | |
TW201935243A (zh) | 固態驅動器、分散式資料儲存系統和利用鍵值儲存的方法 | |
US9542401B1 (en) | Using extents of indirect blocks for file mapping of large files | |
US10007671B1 (en) | Data storage system employing space reclaim approximation | |
US20240283463A1 (en) | Data compression method and apparatus | |
US10146780B1 (en) | Data storage system using paced deallocation of truncated file blocks | |
CN113918087B (zh) | 存储装置以及用于管理存储装置中的命名空间的方法 | |
CN106997274B (zh) | 一种实现存储空间管理的架构及方法 | |
US10152234B1 (en) | Virtual volume virtual desktop infrastructure implementation using a primary storage array lacking data deduplication capability | |
US10089125B2 (en) | Virtual machines accessing file data, object data, and block data | |
US11048432B2 (en) | Deduplication of data on distributed storage system involving receiving and modifying metadata from local object store | |
US10452606B1 (en) | Continuous metadata formatting | |
US10970259B1 (en) | Selective application of block virtualization structures in a file system | |
US10853257B1 (en) | Zero detection within sub-track compression domains | |
US11372556B2 (en) | Snapshot access using nocopy undefined thin devices | |
US11144445B1 (en) | Use of compression domains that are more granular than storage allocation units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |