分类: 服务器与存储
2011-04-20 16:16:54
名称:分级存储系统中元数据管理的设计与实现
出处:研士论文
作者:付先平
单位:大连海事大学
1.研究的关键技术1.合理的数据分类和策略集。数据创建之后,系统就必须根据实际应用的需求对数据进行分类。同时,按照存储管理员在系统中配置的策略,对数据进行合理的部署。合理的数据分类和管理策略及相对完备性是关系到全面进行信息管理的重要因素。我们针对通用情况研究设计了数据分类及策略制定方案。
2..应用层元数据设计。为了提供高性能的数据迁移以及提供便捷的数据访问,在文件系统层的元数据之外还提供了数据使用、类型以及系统相关的元数据。另外还对创建和存储元数据的性能进行优化,得到了很好的优化结果。(负载信息元数据)
3.大型文件系统中高性能数据迁移。一个信息管理系统要适用于大型的文件系统,数据迁移的性能是一个关键问题。在WISHSM系统中实现并改进了策略缓存技术,实验证明策略缓存大大提高了数据迁移的性能。
4.NTFS文件系统中文件重解析。在wlsHSM中,数据的分布是在分级存储系统中动态调整的。为了使得数据的存储位置对应用透明,使用了WindowSNTFS文件系统过滤驱动实现了文件系统的重解析,使操作系统在应用层无需关心系统对数据的管理调整。
2.HSM的体系结构组成分级存储管理之所以使文件迁移对文件系统用户透明,是由于采用了两种机制:存根文件(stub files)和数据管理Apl(data management API,DMAPI)。存根文件是文件数据迁移到下层存储设备后,留在文件系统中的空壳文件。正是由于存根文件的存在,当文件迁移到下层存储设备后,文件系统用户不会发现文件丢失。更重要的是,存根文件的拓展属性用来指向文件在下层存储设备上的真正位置。
DMAPI是由数据存储管理(Data storage Management,XDSM)规范定义的接口,用事件来通知用户分隔数据管理(DM)应用对于文件的操作。HSM管理软件就是一种DM应用,如图2.1所示。
文件系统用户读写存根文件时,XDSM的内核组件产生读写事件,通知已经通过DMAPI注册的HSM接收这类事件。读写存根文件的操作会被阻塞,直到接收到来自HSM的响应。HSM软件通过把访问的文件回迁到一级存储设备,来处理存根文件的读写操作。回迁完成后,通过DMAPI发出响应,被阻塞的读写操作可以继续进行。
图2.1分级存储管理的DMAPI
3.WISHSM简介可基于访问频率、访问时间等策略自动将文件服务器上的文件动态的分布在各级存储上
IM (Information Manager)
MDM(Metadata Manager)
ASA (Application Server Agent)
FSM (File System Monitor)
AFR (Archive File Redirectro)
Information Manager:
IM提供给系统管理员一个图形化的管理系统,采用B/S结构,系统管理员只要通过浏览器,便能方便地进行存储的分级管理工作。
Metadata Manager:
该模块位于HSM管理服务器中,与系统管理模块进行交互,管理应用服务器上受监控的文件及文件的迁移策略,文件迁移模块定期查询迁移测略,若文件符合迁移策略,则对相应的文件从源位置(一级存储设备)迁移到目标位置(二级存储设备)进行迁移。迁移结束后在文件的源位置留下一个与原文件属性相同,但大小为零的种子文件,提供用户对文件的访问透明的功能。MDM最繁忙的工作是接收文件监控模块的统计数据,并将统计数据写入数据库,由于文件的10操作可能相当频繁,因此这一块对于性能要求比较高,须要特别设计以满足多个AS并发访问的要求。
Applicationscrver Agent:
ASA实现的主要功能是,作为应用服务器上监控代理服务存在,接收管理服务器的命令,解析并执行。系统初始化的时候用于AS应用服务器向MDS进行注册,在系统运行过程中,用于提供心跳检测、AS服务器的逻辑卷的查询、接收迁移和回迁的命令等功能。对于迁移和回迁命令的处理,AS监控代理模块将这些命令发送给数据回迁模块和数据迁移模块。
Filesystem Monitor:
为了更好的理解应用信息的使用特征,实现诸如信息价值的评价、数据等级划分以及知晓系统中数据存储管理的具体情况等功能,我们采用实时监测文件系统行为的方法,根据设计的应用元数据对文件系统行为进行监测和记录。
Archive File Redirector:AFR部分设计的主要功能是实现对动态存储的数据的透明访问,而且要达到应用层和客户端无关,保证整个系统的高适用性。同时又要保证不给系统带来太大的额外负担。
WISHSM基于SAN存储网络架构,SAN服务器将快速的一级存储作为在线的逻辑存储池,通过FTP或者CIFS/SMB网络共享协议实现数据对Windows/Limix客户端的共享。WISHSM部分的工作流程如图2.4所示。
4.几个创新点(1)为了使WSHSM具有更好的适用性,我们提供系统管理员配置数据分类的接口。不同的数据类别信息价值的评价标准不一样,数据管理的策略也会不一样。对于同一种数据类型可能会有多种扩展名与其相对应,比如:扩展名为jpg和.gif的文件都是图像文件,.txt和.doc对应的都是文本文件。所以对于同一种数据类型,需要定义与其相对应的各种扩展名。另外对于同一个后缀名又可能会同时属于多种数据类型,比如:扩展名为.doc的文件,可能是文本文件,也可能是邮件。且因为对于这不同的数据类型可能会使用不同的归档方式进行归档,那么对于扩展名为.doc的文件,只能选择几种价值评价方式中的某一种对其进行评价。
(2)因为这和应用相关,同时又和操作系统和文件系统的实际运行情况紧密联系,比如文件的访问局部性,不同文件之间访问的相关性。另外,文件的大小也会影响其在存储系统上的存储位置,即使按照价值的评价标准一个小文件需要被归档迁移到下级存储上,但是系统为了考虑小文件迁移对性能的影响,可能仍然会将这样的文件存放在在线一级存储上。这就是前文所述的程序导向的价值评价。WlsHSM提供的数据管理服务主要是归档,因此该信息价值的评价直接和归档相关,在WISHSM中被称为归档方式的定制。对于不同的数据类型,需要用不同的归档方式进行归档,所以用户就需要定义很多不同的归档方式。归档方式总体来说可以分为:按照时间方式进行归档和按照频率方式进行归档。对于按照时间方式进行归档又可以分为:按照文件的创建时间、按照最后的访问时间归档和按照最后的修改时间归档。这些时间都是固定的,从系统的时间读取出来即可。但是对于按照访问频率进行归档的频率划分就比较多了,因为每一天的访问次数都在改变,所以每一天都会有一个不同的访问频率。如果让系统管理员根据最近任意多天的访问频率定制归档方式,那么系统就需要记录每一个文件每一天的访问次数,如果系统文件数目比较庞大,那么一记录每个文件访问次数的开销就会很大,且影响系统的整体性能。对于这么一个归档系统,牺牲这么大的开销和系统的性能来换取灵活性,并不划算,所以综合考虑我们采用了一种折中的办法,只允许用户选择四种不同的频率,即:最近一周的访问频率,最近一个月的访问频率,最近一个季度的访问频率,以及最近一年的访问频率。
5.关键技术研究 6.数据回迁仅仅依靠文件的重解析来通过重定向的方式访问数据是不够,这样的实现在性能不能达到最好。因为当文件重解析发现1/0操作发生在己经迁移的数据上时,根据数访问的局部性原理,该数据必须被迁移回一级存储。
考虑如下两种实现方法:
1)I/O阻塞式回迁:
当文件重解析发现1/0操作发生在存根文件上时,将该操作起,从存根文件中获取迁移文件存储位置并将数据复制回当前级别存储,然后再继续I/O操作。定义Twrite和Tread分别为一次写和读操作所需的总时间,Tread为读取下级存储上文件件所花的时间,Twrite为将该文件数据写入当前级别存储所需的时间,t”write和t”read分为在当前级别存储上该写操作或读操作所写或读数据所需的时间。这样一次操作的时开销为
Twrite = tread + t'write + t"write或
Tread = tread + t'write + t"read
2)1/0非阻塞式回迁:当文件重解析发现FO操作发生在存根文件上时,直接重定向到迁移数据,同时通知应用层触发回迁服务将数据迁回当前存储层。这样下次再进行该文件的操作时,文件已经被迁回(一般情况下,如未迁回则再进行重定向),就不用通过重定向进行访问了,实现了数据访问局部性的要求。这样一次操作的时间开销为:
Twrite = t"write或
Tread = t"read
Twrite 和 Tread的定义同上,不同的是此时的t"write和t"read分别为在下级存储上该写
操作或读操作所写或读数据所需的时间,和上面第一种方法相比,此时的t”write和t”read
会分别大一个级别。但是减少了回迁文件所需的时间tread + t'write,因为该回迁操作由应用层回迁服务来完成,不阻塞这次1/0操作。如果读写的数据量大于原文件数据大小,
第一种实现方法在时间性能上会好一些,如果相反,则第二种实现方法更好。而且对于大文件,阻塞式的方式会消耗很多时间在等待数据的回迁上。由于WISHSM在价值评价实现中,对于小文件是不进行迁移的,而且一般情况下FO操作的数据量会比较小,虽然应用层回迁服务在回迁某文件的过程中,可能对该文件进行了多次文件重定向操作会影响一定的性能,但是综合各种因素,我们还是选择了第二种非阻塞的回迁实现方式。
7.策略缓存略
8.元数据简介元数据(Metadata),其英语含义是“Struetured data about data”,“data which deseribes
attributes of a resource”或“information about data”。简单的说就是“关于数据的数据”,即关于数据的内容、质量、状况和其他特性的信息。也可译为描述数据或诊释数据。
前文已经论述过WISHSM的信息管理策略分为应用导向和程序导向两个层次。应用导向是指由管理员根据应用的特征配置的数据分类、价值评价和管理策略,程序导向是由WISHSM内部的策略行为决定的。这两个层次决定了WISHSM中应用元数据的设计。对于应用导向来说,WISHSM提供的时间,频率等价值评价方式决定了必须使用FSM进行系统相关元数据的采集和统计;对于程序导向来说,WISHSM需要记录文件在分级存储中的具体位置、文件访问的关联性、文件大小信息。其中文件在存储系统中的具体位置采用直接记录在存根文件的方式来实现(在数据库中也有一记录,为了进行元数据的备份保护),其他元数据信息都通过FSM提取,通过ASA将这些元数据信息发送给MDS,最后由MDM保存在数据库当中,分成两类数据库表来存储。