CN106997274A - 一种实现存储空间管理的架构及方法 - Google Patents

一种实现存储空间管理的架构及方法 Download PDF

Info

Publication number
CN106997274A
CN106997274A CN201610049745.6A CN201610049745A CN106997274A CN 106997274 A CN106997274 A CN 106997274A CN 201610049745 A CN201610049745 A CN 201610049745A CN 106997274 A CN106997274 A CN 106997274A
Authority
CN
China
Prior art keywords
logical volume
lun
data
san
services
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
Application number
CN201610049745.6A
Other languages
English (en)
Other versions
CN106997274B (zh
Inventor
秦长鹏
牛克强
杨长江
刘卯银
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201610049745.6A priority Critical patent/CN106997274B/zh
Priority to PCT/CN2016/105075 priority patent/WO2017128802A1/zh
Publication of CN106997274A publication Critical patent/CN106997274A/zh
Application granted granted Critical
Publication of CN106997274B publication Critical patent/CN106997274B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed 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 FileSystem),网络文件共享***(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的管理,完善的文件***使得各类业务功能可以很方便的得到支持,比如瘦供给功能(Thin Provision,也称为自动精简功能),重复数据删除(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 ofIndependent 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’的逻辑卷标识(LUN ID)和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 (15)

1.一种实现存储空间管理的架构,其特征在于,包括控制器;控制器至少包括:用于仅提供对数据块以粗粒度进行管理的容量池;用于对数据块以细粒度进行管理的文件***;用于完成NAS接口协议栈的处理并提供NAS服务的NAS接口组件;以及,用于完成SAN接口协议栈的处理并提供SAN服务的SAN接口组件;其中,
SAN接口组件还用于:确定性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷;采用包括文件***和容量池的空间管理方式提供SAN服务。
2.根据权利要求1所述的架构,其特征在于,所述SAN接口组件具体用于:对所述确定出的性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷,将主机对于逻辑卷的访问请求映射到对创建的文件对象的访问,对主机提供SAN服务;其中,
所述创建的文件对象为:***自动在容量池上创建虚拟卷,并在该虚拟卷上创建文件***,该虚拟卷和文件***内部保留;从所述保留文件***中创建文件对象,其中,文件对象的大小等于用户创建的逻辑卷大小。
3.根据权利要求1所述的架构,其特征在于,所述SAN接口组件还用于:对于性能要求高于或等于所述预先设置的阈值的逻辑卷,采用所述容量池的空间管理方式提供SAN服务。
4.根据权利要求1所述的架构,其特征在于,所述NAS接口组件还用于:采用包括所述文件***和所述容量池的空间管理方式提供NAS服务。
5.根据权利要求1~4任一项所述的架构,其特征在于,所述架构还包括:数据迁移模块;
数据迁移模块用于:当检测到SAN服务的指定数据路径上的逻辑卷LUN-A满足预先设置的自动迁移条件时,通知所述SAN接口组件执行数据迁移至SAN服务的另一数据路径上。
6.根据权利要求5所述的架构,其特征在于,所述数据迁移模块具体用于:
定期检测所述指定数据路径上的逻辑卷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’对象的访问。
7.根据权利要求6所述的架构,其特征在于,
在所述数据迁移模块从所述指定数据路径读取逻辑卷LUN-A对应的虚拟卷的数据,并将读出的数据从所述另一数据路径写入逻辑卷LUN-A’对应的文件对象的过程中,如果所述逻辑卷LUN-A持续提供SAN服务,则,
所述SAN接口组件还用于:将主机写入所述逻辑卷LUN-A的数据发送给所述数据迁移模块;
所述数据迁移模块还用于:将数据从所述指定数据路径写入逻辑卷LUN-A对应的虚拟卷,同时通过所述另一数据路径写入所述逻辑卷LUN-A’对应的文件对象。
8.一种实现存储空间管理的方法,其特征在于,包括:确定性能要求低于预先设置的阈值的逻辑卷,或需要开启高级数据管理功能的逻辑卷;
采用包括文件***和容量池的空间管理方式提供SAN服务。
9.根据权利要求8所述的方法,其特征在于,所述采用包括文件***和容量池的空间管理方式提供SAN服务包括:
***自动在容量池上创建虚拟卷,并在该虚拟卷上创建文件***,该虚拟卷和文件***内部保留;
从保留文件***中创建文件对象,文件对象的大小等于用户创建的逻辑卷大小;
SAN接口组件将主机对于逻辑卷的访问请求映射到对创建的文件对象的访问,对主机提供SAN服务。
10.根据权利要求8所述的方法,其特征在于,该方法还包括:对于性能要求高于或等于所述预先设置的阈值的逻辑卷,采用所述容量池的空间管理方式提供SAN服务。
11.根据权利要求8所述的方法,其特征在于,该方法还包括:采用包括所述文件***和所述容量池的空间管理方式提供NAS服务。
12.根据权利要求8~11任一项所述的方法,其特征在于,当数据迁移模块检测到SAN服务的指定数据路径上的逻辑卷LUN-A满足预先设置的自动迁移条件时,通知SAN接口组件执行数据迁移至SAN服务的另一数据路径上。
13.根据权利要求12所述的方法,其特征在于,所述执行数据迁移至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’对象的访问。
14.根据权利要求13所述的方法,其特征在于,所述自动迁移条件包括:逻辑卷在一段时间内的IO访问低于某个预先设置的IO访问阈值,或者逻辑卷的创建时间长度大于预先设置的时间阈值。
15.根据权利要求13所述的方法,其特征在于,在所述数据迁移模块从所述指定数据路径读取所述逻辑卷LUN-A对应的虚拟卷的数据,并将读出的数据从所述另一数据路径写入所述逻辑卷LUN-A’对应的文件对象的过程中,如果所述逻辑卷LUN-A持续提供SAN服务,该方法还包括:
所述SAN接口组件将主机写入所述逻辑卷LUN-A的数据发送给数据迁移模块;
所述数据迁移模块将数据从所述指定数据路径写入所述逻辑卷LUN-A对应的虚拟卷,同时通过所述另一数据路径写入所述逻辑卷LUN-A’对应的文件对象。
CN201610049745.6A 2016-01-25 2016-01-25 一种实现存储空间管理的架构及方法 Active CN106997274B (zh)

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 true CN106997274A (zh) 2017-08-01
CN106997274B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000634A (zh) * 2020-07-28 2020-11-27 中国建设银行股份有限公司 Nas存储文件***的容量管理方法、***、设备和存储介质
WO2022237046A1 (zh) * 2021-05-13 2022-11-17 统信软件技术有限公司 一种数据加密方法及计算设备

Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986651B (zh) * 2010-08-26 2013-01-30 上海网众信息技术有限公司 远程存储的方法及其***及客户端

Patent Citations (6)

* Cited by examiner, † Cited by third party
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 浪潮(北京)电子信息产业有限公司 一种统一存储方法及***

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000634A (zh) * 2020-07-28 2020-11-27 中国建设银行股份有限公司 Nas存储文件***的容量管理方法、***、设备和存储介质
CN112000634B (zh) * 2020-07-28 2023-11-14 中国建设银行股份有限公司 Nas存储文件***的容量管理方法、***、设备和存储介质
WO2022237046A1 (zh) * 2021-05-13 2022-11-17 统信软件技术有限公司 一种数据加密方法及计算设备

Also Published As

Publication number Publication date
CN106997274B (zh) 2021-04-30
WO2017128802A1 (zh) 2017-08-03

Similar Documents

Publication Publication Date Title
JP6890401B2 (ja) 多重モード格納管理装置、多重モード格納装置、及びその選別潜在露出(sue)マッピング動作方法
US8504797B2 (en) Method and apparatus for managing thin provisioning volume by using file storage system
US7096338B2 (en) Storage system and data relocation control device
US8683153B1 (en) Iterating for deduplication
US8799600B2 (en) Storage system and data relocation control device
US6816957B1 (en) Management of virtual tape volumes using data page atomic units
US8977812B1 (en) Iterating in parallel for deduplication
US7574464B2 (en) System and method for enabling a storage system to support multiple volume formats simultaneously
US9176677B1 (en) Virtual provisioning space reservation
US7562189B2 (en) Write-in-place within a write-anywhere filesystem
JP2017091548A (ja) 分散格納システム及び分散格納方法並びに分散施設
US7779218B2 (en) Data synchronization management
US8996490B1 (en) Managing logical views of directories
US7664791B1 (en) Concurrent creation of persistent point-in-time images of multiple independent file systems
US9398073B1 (en) Methods and apparatus for providing content
US8694563B1 (en) Space recovery for thin-provisioned storage volumes
US8977662B1 (en) Storing data objects from a flat namespace in a hierarchical directory structured file system
CN111007990B (zh) 一种对快照***中数据块引用进行快速定位的定位方法
US7350042B1 (en) Method of optimizing the space and improving the write performance of volumes with multiple virtual copies
US8046391B2 (en) Storage apparatus and its file control method and storage system
US7627710B1 (en) Converting an object identifier to a block I/O address to identify a storage location on a server
US8131966B2 (en) System and method for storage structure reorganization
US8499132B1 (en) Software module for using flash memory as a secondary permanent storage device
CN110187834A (zh) 重删副本的数据处理方法、装置、电子设备
US7424574B1 (en) Method and apparatus for dynamic striping

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