云存储在数字资源长期保存中的应用探讨,本文主要内容关键词为:数字论文,资源论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
【分类号】TP393
1 引言
可靠的存储环境是一个机构开展数字资源长期保存活动的基础保障。数字资源长期保存工作的关键在于维护数字信息的永久性和真实性,但其面临的数据丢失、介质故障、软硬件过时、结构错误等因素不断给数字信息的安全可靠带来严峻挑战。
当前数字化进程的加快和数字资源的爆炸式增长,给人们带来便利的同时也给保存带来了危机,存储系统必须具备足够的存储空间以及灵活的可扩展性,才能长期应对海量数据的保存需求;数字资源长期保存任务繁重,任何一个机构都无法独立完成全部的保存任务,因此,数字资源的长期保存需要实现跨地域、跨机构的协同工作;为了保障数字资源的永久可获得性和可访问性,数字资源长期保存还需要进行合理的备份和迁移;另外,开展数字资源长期保存的机构多数为图书馆、高校、科研所等非盈利性机构,有效降低人力、物力等成本也成为保存机构的基本需求之一。因此,从可扩展性、支持协同共享、支持备份和迁移、降低成本代价等几个方面出发,探索合理的存储解决方案,是数字资源长期保存领域的关键问题之一。
云存储是在云计算(Cloud Computing)基础上延伸和发展出来的一个新概念,一经提出,就得到了许多数字资源长期保存机构研究专家的关注。本文通过对云存储的技术架构和应用案例进行分析,进一步探索云存储在数字资源长期保存中的应用,为国内同行提供参考。
2 云存储的技术架构
云存储是通过集群应用、网格技术或分布式文件系统等功能,将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,共同提供数据存储和业务访问功能的一个系统[1]。
从根本上说,云存储是网络设备、存储设备、服务器、应用软件、公用访问接口、接入网和客户端程序等多个部分的组合[1]。云存储意味着存储可以作为一种服务,通过网络提供给用户。
云存储的4层架构如图1所示。
图1 云存储架构图
(1)存储层:通过广域网、互联网或者FC光纤通道网络把数量庞大且地理上分散的各种物理设备组合起来,用虚拟化技术屏蔽掉底层的硬件差异,以资源池的方式对外提供服务,通过统一的管理逻辑和接口,进行存储设备的逻辑虚拟化管理、多链路冗余管理,以及硬件设备的状态监控和故障维护。
(2)基础管理层:云存储通过集群、分布式文件系统和网格计算等技术保证各个存储设备之间协同工作,同时利用数据压缩、重复数据删除、数据加密等技术进行数据管理和安全管理。
(3)应用层:不同的云存储开发不同的应用服务接口,提供不同的服务。
(4)基于存储层、基础管理层和应用层的保障,用户在访问层不再需要了解底层的硬件设施类型、所存放的物理位置等细节,只需要获得云存储服务的授权,然后调用标准API就可以申请所需的存储空间,享受云存储上的各种应用服务。
用户使用云存储时,可以选择公有云、私有云或混合云。公有云服务是由第三方云存储服务商提供,用户可以通过互联网访问服务,按需使用,按使用支付费用,典型的如Amazon的S3、EMC的Atmos、Rackspace、Nirvanix等;私有云是在企业内部搭建的云存储环境,面向内部用户或者外部客户提供存储服务,企业拥有整个存储环境的自主权,并可基于自己的需求改进服务。混合云是把公有云和私有云结合在一起,在需要临时配置存储容量的时候,从公有云上划出一部分容量用作私有云存储,能够保持用户所用的存储是独立的。
3 优势及面临的挑战
为了保障数字资源对象在整个数字生命周期内的完整性、真实性和可理解性,数字资源长期保存系统必须具备更高的可靠性和可信赖性。目前,在面对PB级的海量存储需求时,传统存储方式的缺陷愈见凸显,不仅在容量和性能的扩展上会存在瓶颈,在性能上、经济成本上也不能够满足当前的需求。而云存储具有自身独特的优势:可以动态、灵活地进行扩展和配置,使存储资源以分布式共享的形式存在,通过网络将软硬件资源提供给用户按需使用。这些特征决定了云存储方式不同于传统的存储方式,将为数字资源存储领域带来更大的便利。
(1)支持海量存储以及动态扩展
传统的DAS和SAN使用块数据存储,并利用分离的文件系统或数据库管理支持串行扩容,在系统规模较小时性能较好,但是随着数字资源数量的不断增大,存储性能会受I/O服务瓶颈制约而降低。云存储集成使用了支持大规模存储的集群技术、P2P技术和网格技术,允许存储服务器和存储节点同时增加,进行并行扩容。因此,在扩展时不会遇到兼容性的问题,存储的性能还会随着节点的增加而无缝增长。另外,云存储实现了资源的集中监控和动态管理,每个应用所使用的存储空间可随意伸缩、实时调整。因此,在开展数字资源长期保存任务时,机构可以根据保存的资源状况,在初期申请较小的存储空间开展试验性研究,随着保存资源的增加,动态调整存储空间大小。因此,不必担心系统在存储上的可扩展性问题,也避免了原来由于存储空间长期空闲而造成的资源浪费。
(2)协同保存
在使用传统的DAS存储方式时,数字资源往往被隔离在单个保存机构内部,不能实现协同工作和资源共享;NAS方式虽然通过LAN在一定程度上实现了跨异构平台的文件共享存储,但性能可能会受限于TCP/IP网络。云存储是将分布在各地的大规模硬件设施进行抽象,通过虚拟技术强化数据保护机制和管理功能,在节点之间提供分布式锁管理和缓存一致性功能,然后通过集中元数据控制存储节点,形成一个多存储设备、多应用、多服务协同工作的共享存储虚拟架构。因此,在云存储环境中,分布在不同地域的机构不需要太高的技术要求,只需要通过网络,就可以进行服务的创建、发布、执行和管理,轻松、高效地实现与其他机构的协同工作和互补式资源共享,有利于数字资源长期保存任务的分担和服务能力的增强。
(3)高效备份和实时迁移
传统方式是使用磁盘或磁带库进行备份,备份效率差,管理也极其复杂。如果要实现异地备份,则需要耗费更多的代价;在对发生介质故障或介质过时的硬件实施媒介刷新或硬件迁移时,也往往需要中断系统服务,进行复杂的硬件部署。云存储的物理设备可能分布在世界上的不同地点,通过虚拟化将硬件资源进行逻辑抽象,划分给各个逻辑分区,并保证逻辑分区之间的隔离,同时提供多个分区之间的通信功能。因此,云存储可以以服务方式根据用户需求高效地执行备份策略,方便地帮助用户形成多个异地备份。在实施迁移的过程中,由于在真实的物理资源之上进行了抽象,因此将虚拟机的运行状态从一台物理服务器迁移到另一台物理服务器的整个迁移过程是平滑的,用户不会察觉虚拟机在池内的自由移动,也不需要像原来的物理服务器那样关闭服务器和中断系统服务,从而为数字资源长期保存系统实施硬件升级提供了更好的方式。
(4)降低成本代价
传统的DAS方式初始成本比较低,即使采用大容量、高性能的磁盘阵列,其部署成本也通常在几万元以下,因此适合刚刚开展数字资源长期保存研究的资金比较匮乏的机构采用;NAS需要采用硬盘驱动器阵列、磁带驱动器或可移动的存储介质等存储器件和专用服务器,成本代价稍高;SAN使用专用的光纤通道交换机和管理软件,在拥有相同的存储空间时,其成本比DAS和NAS还要高很多;集群、P2P和网格存储都是利用系统网络中散布的大量普通节点进行大规模运营,允许节点之间存储设备的差异化,存储管理的复杂性较低,能够带来很大的成本节约,但仍需要机房、硬件设备、电力、人员等运行维护费用。相比之下,云存储从初期投资、运行维护两个方面降低了成本。首先,由于云存储可以动态扩展,灵活配置,数字资源长期保存机构可以根据实际需求申请存储规模,不需太多初期投资就可以迅速开展保存任务;其次,由于不必拥有存储基础设施,用户无需对存储底层进行管理和维护,也不再需要机房、硬件设备、制冷设施等,相比于传统的存储方式降低了能耗。
虽然云存储具有诸多优势,但目前许多数字资源长期保存机构并没有正式把大量数据移交到云存储平台上。因为将保存的数据放到云端,在获得更多便利的同时,将不再控制数据存储的物理位置,所有数据的访问将依赖于云存储商所提供的服务,这甚至意味着对数字资源的保存责任的部分转移,也将带来数据隐私保护和安全上的隐忧:
(1)数据的隐私
数字资源长期保存的资源类型既包括可以在网络上开放获取的资源,也包括期刊论文等。对于后者,往往只有订购数据库的用户才能够访问,并且需要受到版权的保护。如果将这些类型的数据内容以远程方式存放到云端,必然会引发用户对数据隐私保护的担忧。目前,在云存储技术研究领域,有研究者提出可以通过加密或文件“碎片”方式阻止未经授权用户的非法访问[2],但这是否适用于数字资源长期保存的流程、是否还能够保证数据的完整性,有待于进一步研究。
(2)数据的安全性
数字资源长期保存任务是尽量保证数据内容的零损毁,在云端存储的数据丢失后,云存储服务商可以通过资金赔付方式补偿,但是却不能够为用户找回丢失的数据。因此,数字资源长期保存机构在使用云存储过程中应该建立冗余和备份计划,如将云存储作为替代磁带备份的辅助存储池来使用,或者同时使用两个或多个云存储平台。
综上所述,传统的存储技术在应对数字资源长期保存挑战时存在局限,而云存储能够解决其中的一些问题,表现出一定的优势,提供了一种可能的解决方案。但是,由于云存储技术目前尚不够成熟,其可能存在的挑战成为各个机构采用云存储开展数字资源长期保存时不得不考虑的问题。
4 国际主要应用案例研究
目前,国际上已经有一些数字资源保存机构开展了相关的研究,2009年在华盛顿召开的“数字资源保存存储架构设计”会议上,Fedora Commons、DuraSpace、Meta Archive、LOCKSS、Library of Congress等机构的研究人员都提及云存储研究[3]。本文将对其中两个主要云存储研究项目:Fedorazon和DuraCloud做进一步介绍。
4.1 Fedorazon[4]
Fedorazon是JISC资助的一个项目,目的在于为大规模仓储所面临的数据量不断增长和复杂度不断增加的问题找到一种合理的解决方案,从而提高英国高等教育与继续教育(UK's HE and FE)内容仓储的性能。
该项目所采用的技术思路是“Fedora Commons Repository+Amazon Web Services(EC2+EBS+S3)=Cloud Repository”,即在Amazon的云平台上部署Fedora Commons仓储软件。具体实现方法是:在计算层EC2上,为所有用户创建一个公共的虚拟机映象(AMI),部署仓储软件的运行环境和相关配置,包括所需的服务器类型、操作系统和应用程序等。在存储层,通过EBS将实例运行时的数据存放到Amazon的简单服务S3上。在保存层,通过基于REST的开放API将数据备份存储到LOCKSS系统中。具体架构如图2所示。
与传统的本地方式相比,Fedorazon只需要在EC2上同时启动多个实例,就可以解决大规模数据访问的问题,不会像使用本地的Web Server一样,随着访问量的增加速度越来越慢;使用S3比使用本地磁盘阵列更易扩展,用户不需要操心购买和部署硬件设施,不需要担心未来磁盘空间不足的问题,不需要配备专门的硬件管理人员,直接将注意力集中在如何开展数字资源长期保存研究上;LOCKSS备份方式比单纯的磁带备份更加可靠;除此之外,任何其他HE/FE的机构都可以从任一地点登录其Amazon Web Services,选择Fedorazon提供的公共AMI,在几分钟内迅速启动自己的仓储服务,大大降低了机构开展数字资源长期保存的难度。
图2 Fedorazon[5]
Fedorazon项目关注的重点之一是使用成本。通过一年来在云端存储数据的试验,项目人员发现:在云端搭建和运行一个仓储并不难,并且能够明显节约成本。如果只是持续运行一个仓储的演示版本,每月需要支付的费用约80美元(一年约1000美元);如果需要把它作为正式的版本,为避免重启后丢失数据,可以再支付额外的费用,使用EBS进行持久性存储。这种做法能够有效地减轻本地仓储管理人员的负担,但是总体成本会随着时间增加而增加,运行仓储的政策、人力资源成本等长期保存所固有的一些问题仍然存在。
该项目于2008年10月结束,形成了一系列技术指导文档和成本分析报告,为其他使用Fedora作为底层仓储的机构研究云存储起到了很好的示范作用。但是,项目没有考虑数据迁移、数据安全与隐私保护等问题。
4.2 DuraCloud[6]
与Fedorazon仅在AWS上进行云存储应用不同,DuraSpace发起为期一年的试验计划DuraCloud,将云存储平台扩展到多个,并关注如何在不同的云存储架构之间进行迁移。
DuraCloud的试验目的也是为了检验利用云技术进行数字内容永久存取的状况。它的主要思路是将基本的存储需求交由最好的云存储服务提供者负责,在此基础上增加一些额外的功能来完善存储解决方案,保证数据的长期可用性和易用性。
系统框架如图3所示,共包括三个模块:系统管理模块(DuraAdmin)、服务管理模块(DuraServicc)和存储管理模块(DuraStore)。
图3 DuraCloud平台工作流程图[7]
(1)在DuraAdmin中,系统通过DuraCloud.org网站为用户提供一个可以交互的图形化界面(Web UI)。这个Web UI作为独立的Web应用运行在云服务器上,通过Service Client和Store Client调用相应的REST API直接与存储管理模块和服务管理模块交互。Dura-Cloud采用了RESTAPI,因此可以利用URL网址识别和定位服务,能够更灵活地扩展Web服务,更好地支持互操作。
(2)DuraService负责管理和部署DuraCloud所提供的服务。通过服务管理器(Service Manager)可以完成服务的部署和卸载;服务配置;提供服务属性列表。Service Manager负责把请求递交给Services Admin,由Services Admin执行具体的服务部署以及服务配置和管理。考虑到在运行过程中,需要动态启动、终止或者重新配置服务,而不去重启整个应用,DuraCloud采用了OSGi Container作为服务托管环境。同时,它还管理着一个Service Repository,所有可提供的服务以Service Package(服务OSGi Bundles+支持文档)方式存放其中,根据用户需求将这些服务安装到OSGi Container中。不论底层服务是一个纯Java应用、命令行操作、Web应用,还是一个外部计算实例,都需要包装成OSGi Bundles以提供统一的调用接口。当需要增加新的功能时,只要提供同样的接口就可以方便地进行扩展。
(3)DuraStore负责与底层的不同存储平台进行交互,实现内容的上载、下载、删除,元数据和标签的创建、删除,内容空间的创建、删除等功能。DuraStore的存储中间层(Storage Mediation),能够将应用请求转换成对不同存储平台的接口调用。DuraCloud的一个显著特点在于为每个支持的云存储平台(目前有Amazon S3、Rackspace CloudFiles和EMC Atmos)开发了相应的Adapter,抽象掉了底层的细节,屏蔽了不同云存储平台在API上的差异。同时,通过增加新的Adapter可以方便地增加新的云存储平台。
该试验项目于2009年7月启动,将于2010年夏完成。目前,DuraSpace正在积极组织更多自愿加入的机构,特别是正在使用DSpace或Fedora仓储的机构。已经参与此计划的机构有三个:纽约公共图书馆(NYPL)、生物多样性遗产图书馆(BHL)和波士顿广播电台(WGBH)。每个成员机构都已经确定了一个特定的用例场景以及可供测试的数据内容,如表1所示。
5 结语
作为一种新的技术,云存储虽然面临着应用中的诸多问题,但它的出现还是为数字资源长期保存的存储体系提供了一种新的选择。随着云存储技术的不断发展和多个实践项目的逐步开展,云存储将成为数字资源长期保存的一个研究热点。
收稿日期:2010-04-20 收修改稿日期:2010-06-13