机房360首页
当前位置:首页 » 云存储 » ADMAD归档存储体系结构

ADMAD归档存储体系结构

来源:机房360 作者:GOCN编辑 更新时间:2013-2-1 18:03:57

摘要:ADMAD是主要针对大规模归档存储系统而设计的,其中归档进程可以部署在不同的应用服务器上,且可以作为后台守护迸程运行。在当前主流的基于磁盘设备的归档存储系统中,由于需要数据始终保证在线可访问,所以应用的数据响应时间(Responsenme)是一个关键的服务质量参数,故要求归档的数据需要专门针对大规模归档的特点进行数据组织和布局。

  ADMAD是主要针对大规模归档存储系统而设计的,其中归档进程可以部署在不同的应用服务器上,且可以作为后台守护迸程运行。在当前主流的基于磁盘设备的归档存储系统中,由于需要数据始终保证在线可访问,所以应用的数据响应时间(Responsenme)是一个关键的服务质量参数,故要求归档的数据需要专门针对大规模归档的特点进行数据组织和布局。ADMAD 是一个分布式的归档存储系统,针对大规模归档应用有较好的可扩展性 (Scalable),且易于进行数据容灾的部署 (Disaster Recovery Deployments)。

  1.系统架构

  图4.5给出ADMAD大规模归档存储系统的体系结构。系统由4个主要部分组成,包括应用服务器 (Application servers,AS),文件归档服务器 (File Archival servers,FAS),元数据服务器(Metadata servers,MDS)和智能存储节点(Intelligent storage Nodes,ISN)。应用服务器为各种应用的宿主服务器,如邮件服务器、多媒体服务器、Web服务器等部署相应的应用服务端软件。FAS的主要任务是将文件归档到存储节点中去,同时FAS也是ADMAD应用驱动、元数拥相关的重复数据删除实现的地方 (在实际实现或部署时,FAS可以作为后台守护进程运行在AS中)。MDS主要进行元数拥管理、与应用服务器的交互、 安全机制的部署、令牌管理 (token management),以及整个系统级操作的协调,如数据对象分配到哪个存储节点上去,数据在存储节点中的迁移等。ISN是完全由通用组件(Commodity Components),如通用的硬件、操作系统、文件系统等构成的。分布的lSN由高速的存储区域网络连接。所有ADMAD系统引入的组件都是实现在用户态的软件程序 因此在实际部署中,上述4个组件的任意组合可以部署到同一个资源、性能、可靠性与这些组件组合相匹配的物理机器上。

  每一个侍归档的文件首先根据其相应的元数据信息,被切分成若干不重叠的语义数据片段MC。每一个MC将对其内容通过加密Hash函数 (如MD5,SHAI)计算得到的签名作为其标志符(chunk ID)。这些MC的元数据信息被存储到MDS中,届时MDS通过比较MC的标志符 (利用加密Hash函数的抗冲突性),判断当前是否有重复的数据片段存在。不重复的MC将被封装成定长的数据对象,由MDS决定将它们存储到对应的ISN中去。

  最后,当数据被最终存储到ISN中以后,数据的存储位置信息会返回给FAS,FAS可直接与ISN通信进行数据传输。FAS也可以缓存三元组 以避免每次数据访问都需要首先询问MDS。在下一节中,会详细说明和分析该过程。

  2.元数据服务器 (MDS)

  为避免分散本书的重点,在此只重点说明MDS与名字空间管理和元数据管理相关的功能。

  元数据服务器包含3个主要的数据结构。

  1)File_Attibutes_Table

  该结构用于管理文件系统命名空间和维护层次的文件命名空间映射到MC标志符之间的映射(通过MC标志符,用户可以谜一步获取保存这个数据片段的数据对象的信息)。表中的每条记录由三元组组成,表示为。其中,file_attibutes_list 包含了元数据操作所需要用到的文件属性和相关索引,chunk_ID_list包含了组成该文件的所有语义数据片段MC的标志符。

  2)Object_Metadata_Table

  该结构主要保存数据对象的元数据信思。存储在ISN上的一个数据对象的结构如图4.6所示。

  2)Chunk_Object_Table

  该结构用于查询一个语义数据片段MC存储在哪个数据对象中。表中的记录组织成倒排表 (ReverscIndex)(80)的形式,由二元组 Chunk_ID的语义数据片段存储在标志符为。Object_ID_list的数据对象列表中。在当前应用中,上述这些主要数据结构实现为MySQL(81)数据库的数据衷格。为了提高性能,这些数据结构的记录可以尽可能地缓存在内存中(计划使用非易失内存来提供在实际系统中需要的可靠性)。为了避免单点故障,使用MySQL基于主从模式的复制机制。主服务器监控对数据库的所有修改操作(插入、更新、删除等),并将这些修改保存在二进制日志(81)。每个从服务器接收从主服务器发送的二进制日志,然后在其各自的数据库上执行这些更新。

  3.智能存储节点ISN

  ISN提供一种可扩展的(Scalable)、自管理的(Self-manageable)面向对象存储模型(82),(83),(84)面向对象存储架构设立一个共享的存储环境,可以简化数据管理,减少在传统架构中需要独立支持的应用系统。其中ISN是存储服务器的基本单位,其提供基于数据对象的访问接口(基于OSDT一10标准,该标准以于2005年1月被ANSI批准为SCSI Object-BasedDevice command标准)。一个ISN物理上由通用组件构成,包括I/O通道、设备控制器、处理器、大容量内存、网络适配器等.ISN使用扁平的名字空间管理,每一个数据对象由对象标志符(Object ID)全局唯一地标记。数据对象是存储的基本单位,相关研究和实践表明(85),若使用变长的数据对象,特别是把数据对象的实际数据、元数据和对象属性分别作为3个独立的文件存储到底层文件系统中时,则数据访问的性能会受到很大的削弱,且会急剧增加存储设备中的碎片数量,从而增加数据访问的延时(47)。考虑到归档数据负载的特点,ADMAD使用定长的数据对象方案,对象大小可以根据不同的应用及实践进行配置(86)。ADMAD中一个数据对象的结构如图4.5所示,其中语义数据片段MC是应用服务器进行数据访问的最小单位,MC由数据片段标志符和其在相应数据对象中的偏移指定。需要注意的是,一个数据对象可能包含若干个、一个或都分的语义数据片段,这取决于逻辑数据片段及数拥对象各自的大小。

  在当前的实现中,ISN的上述功能实现为用户态的软件守护进程,运行在通用组件基础上。每个ISN是一个自组织 (Autonomous)的系统,它可以同时提供其他的功能,如访问控制(AccessControl)、垃圾回收(GarbageCollection)、搜索优化(Search Optimization)等,这些功能在本书中不做讨论。

  4.文件切分和归档接口

  ADMAD使用文件的语义相关元数据信息指导对文件的切分,图4.5中"元数据解析和标签提取"模块和"文件切分"模块依赖于相应的应用。ADMAD使用一个统一的文件切分接口为上层切分接口API,跟应用相关的文件切分算法库实现为动态连接库(DLL),为调用者提供标准接口,如图4·7所示。文件切分算法库由不同应用指定功能的底层实现和接口支持,用于将标准接口API转换为对文件的实际燥作。实现不同的文件切分算法适用于不同类型文件,但所有这些应用相关的实现最终都为存储服务器和应用服务器提供统一的API.

  ADMAD文件切分的主要函数接口及功能说明参见表4.1。在后续工作中,将进一步对这些接口函数进行重构,使其符合XAM标准(87),方便与其他同类系统进行交互操作。

  责任编辑:GOCN

本文地址:http://www.jifang360.com/news/201321/n207944964.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
更多
推荐图片