APP下载

面向对象存储系统的元数据安全技术研究

2016-04-11何丽丽

电脑知识与技术 2016年4期

何丽丽

摘要:基于对象的存储系统在学术研究、工程及服务等领域受到了广泛关注及应用。随着数据量的快速增长、数据安全性需求的不断提高,对元数据服务器的性能和安全提出了更高的要求和挑战。在对象存储系统中,元数据服务器作为其核心和关键组成部分,其数据的性能及安全性直接影响到存储系统的可用性。因此该文提出一种在对象存储系统的关键路径(元数据服务器)上采用异构冗余架构和RAID5机制保证数据的安全性和可用性,进一步保证了用户正常的数据存储和访问服务。

关键词:对象存储;异构冗余;RAID5;元数据服务器

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)04-0001-03

1 概述

对象存储(Object Based Storage,OBS)技术是一种以数据为中心的网络存储模式,其中以对象作为基本的存储和传输单位,将数据存储和元数据管理分离开,克服了传统网络中存储模式的缺陷与不足,并在安全性、跨平台性、可用性及可扩展性等方面得到很大的发展和改善。

无论在生物医学、新能源、航空航天等国家重大科学研究与工程领域,还是在教育、媒体、金融、医疗、交通、气象等基础设施服务领域,每天都会产生大量的文本、图片及视频数据,那么如何存储和管理海量数据则将成为社会各界广泛关注和重视的热点问题[1]。直接附加存储(Direct-Attached Storage,DAS)和网络附加存储(Network Attached Storage,NAS)的体系结构,由于其容量以及 I/O 性能限制,已经无法满足日益增长的海量数据存储和管理需求。后来又出现了一种新的网络存储技术--存储区域网络(Storage Area Network,SAN),它使用专用存储网络连接主机和设备,可以提供几乎不受设备数量限制的存储容量,适合海量数据的存储。但是作为底层磁盘的设备却无法验证用户的身份,安全性较差[2]。为了应对大数据及海量数据的存储和管理,有人提出一种对象存储技术,并将该技术应用到存储系统中,从而催生出一种新的存储系统——对象存储系统。现存的对象存储系统不仅能够提供海量数据存储,而且还具备包含CPU、内存和网络接口、身份认证功能的底层智能存储设备,可以满足海量数据存储应用和管理需求。

对象存储系统(Object-Based Storage System,OBSS)将对象接口和智能存储设备(Object-Based Storage Device,OSD)相结合,将元数据信息与数据相分离,并交由元数据服务器(MetaData Server,MDS)来进行管理。当客户端向存储系统发送数据读写请求时,文件系统会向元数据服务器发送元数据信息请求,获取要读取数据所在的OSD;然后客户端直接向数据所在的OSD端发送数据读写请求,OSD收到客户端请求后,判断要读取的Object,并根据此Object要求的认证方式,对客户端进行认证。如果此客户端已得到读取权限,则将客户端请求的Object数据返回给客户端,从而整个数据读写过程完成。

独立磁盘冗余阵列RAID(Redundant Array of Inexpensive Disks)是一种把多块独立的磁盘驱动器(物理硬盘)按不同的组织方式组合在一起,形成一个向外界呈现出的硬盘组(逻辑硬盘),最终提供比单个硬盘更高的存储性能,同时提供数据备份功能。随着RAID技术的不断完善和发展,按照磁盘阵列的不同组合方式将RAID分为不同的级别(RAID0--RAID6),还有一些其他的组合方式,例如RAID01、RAID01等,但所有组合方式的RAID都具备一个共同的特点,则就是提供更高的传输速率和更强的容错功能。其中RAID5以其存储性能高、数据安全和存储成本兼顾的优点,被广泛应用于重要数据的存储。RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。不仅保证了数据的安全性和完整性,而且还在一定程度上节省存储空间、提高存储效率。

上图(图1)为RAID5结构图,磁盘中存储数据是按照块进行存储的,当存储一个文件时,首先需要将文件进行分块,然后依次存入至RAID5包含的物理磁盘中。其中block 1a、block 2a、block 3a同属于一个条带,三个数据块经过异或操作计算出parity校验块。当其中一个数据块丢失或损坏时,可由其他两个块和校验块求异或操作计算恢复,具备较高的安全性和容错性。

伴随大数据时代的到来,存储的数据量和规模也在不断扩大,对于存储系统也提出了新的挑战。在大规模的OBSS中,将元数据管理从文件的读写操作中分离出来,进一步减轻了元数据服务器端的负担,提高系统的并行性和高效性[3]。相对于整个系统的数据存储量而言,元数据的存储量仅仅只占据其中很小的一部分,但是整个存储系统的访问请求中大致有50%-80%都是元数据访问请求[4]。因此,可以看出元数据服务器的性能及安全可靠性直接影响到对象存储系统的性能和安全可靠性,那么如何保证元数据的高性能并发访问和安全可靠性将成为研究的热点话题。

在学术界,对存储安全的研究主要由高校和企业的实验室提出一些原型方案。当前流行的网络存储架构主要包含:NAS、SAN和OBSS。其中SAN和OBSS存储系统是建立在完全分布式的存储安全解决方案之上,也是面向下一代互联网存储安全的发展趋势。对象存储文件系统已经在多个大规模集群上得到应用,因而对象存储将成为未来集群存储的重要发展方向[5]。

针对于对象存储系统安全的研究,学术界已有人提出一种基于身份认证的对象存储系统架构,保证了对象存储系统的安全性。但对于OBSS中的关键路径--元数据服务器的安全性保证却未考虑。因此本文拟在基于身份认证的对象存储系统架构下,提出一种异构冗余对象存储系统,在性能上,元数据服务器端采用冗余机制进行元数据访问请求的处理,进一步提高处理性能和效率;在存储效率上,采用RAID5机制对元数据进行存储,该存储机制不仅可以提高存储效率,而且可以在数据损坏或丢失的情况,通过RAID5的恢复机制对丢失数据进行快速恢复,保证系统提供正常的数据存储和访问服务。

2 对象存储系统模型及相关概念

基于身份认证的对象存储系统OBSS结构图如下图(图2)所示

基于身份认证的OBSS由可信中心(Trusted Authority,TA)、MDS、客户端(Client)、OSD通过千兆以太网互联构成。TA提供用户信息的存储管理、用户身份验证、授权、证书的发放和撤销等功能;MDS处理客户端的元数据请求,主要包含文件的逻辑视图、文件与目录的组织关系、每个文件所对应的OSD、提供全局命名空间、管理文件到对象的映射、维护与对象相关元数据等功能;OSD使用Object组织形式对存储的数据进行管理,将数据存放到磁盘的磁道和扇区,将若干磁道和扇区组合起来构成Object,并且通过此Object对外提供对象的接口和安全访问。

从上述架构中可以看出,当元数据服务器出现机器故障、黑客攻击等意外情况时,元数据服务器则将无法为整个存储系统提供正常的元数据请求服务,客户端则就无法获取所需数据,从而导致整个存储系统瘫痪。但对于大多数企业和公司来说,存储系统长时间处于瘫痪状态则是无法忍受,因此提高存储系统的安全可靠性将变得至关重要。

基于性能和安全可靠性问题,本文提出一种在对象存储系统的关键路径(元数据服务器)上采用异构冗余架构和RAID5冗余机制保证存储系统的性能和安全可靠性。

3 异构冗余+RAID5架构设计

3.1 异构冗余设计

在对象存储系统中,元数据服务器作为关键路径和系统的关键组成部分,是数据存储和访问的主要环节。首先,拟在对象存储系统中搭建三台系统级异构(如Windows、Linux、Unix等)的元数据服务器,在提供正常系统功能和性能的同时,提供了系统的多样性和异构性。当黑客攻击系统时,则无法预测当前服务器的环境和状态,这样就可进一步降低黑客侵入系统的可能性,提高了系统的安全性和可靠性。

为了提高系统的可靠性,已有人提出利用冗余技术来保证系统可靠性和服务的持续性。随着大量冗余技术的出现和不断完善,冗余技术在存储器、服务器、电源、散热系统中广为使用,其核心目标都是为了提高产品的系统可靠性,保证系统为应用提供坚实可靠的服务保证。因此,本文拟将冗余技术应用到元数据服务器端,在OBSS中设置三台MDS为用户提供正常的元数据请求访问,保证对象存储系统的可靠性和服务持久性。

当元数据服务器出现故障或黑客攻击时,如果仅仅只采用单台元数据服务器来提供元数据访问,这将使得系统的可用性(指在线提供服务的时间与总时间的比值) 明显下降。在分布式存储系统中,为了提供高可用的数据存储和访问服务,必须对数据进行冗余存储,确保在部分节点失效的时候,仍能为用户提供正常的数据访问服务。本文拟使用三台元数据服务器为对象存储系统提供正常的元数据存储和访问服务,这样做有以下几大优点:1)当单台服务器出现意外故障时,还可提供正常的数据存储和访问服务,很大程度上提高存储系统的可用性;2)当对象存储系统中的元数据服务器受到黑客攻击侵入时,我们可通过对三台元数据服务器的端口进行检测,通过比对即可检测出被黑客侵入的服务器,进一步提高系统的安全性;3)在三台元数据服务器之间,整合存储资源,并在其上部署RAID5架构。相对于三副本存储来说,这样既可以节省存储空间,还可在黑客侵入后,减少不必要的数据丢失,进一步提高了存储效率和系统安全性。

图3为异构冗余对象存储系统,当客户端通过认证服务器认证后,将获取到的证书和元数据请求发送到异构冗余MDS集群端,异构冗余集群会随机选择一台元数据服务器对客户端的元数据请求进行处理。在MDS集群中,我们拟将三台MDS的存储资源进行整合,并在其上部署RAID5架构,当被选中的元数据服务器处理完客户端请求时,如要向元数据服务器写入元数据信息时,则按照RAID5的存放机制将元数据分块并分散存入由三台MDS组成的RAID5中,以实现安全可靠存储。

3.2 RAID5架构设计

为了提高数据的安全性和可靠性,现存的技术包含多副本存储、纠删码等。由于多副本存储虽然会提高存取速度,但会额外增加存储开销,降低了存储效率。而RAID5在存取速度和存储开销之间进行折衷,提供了最佳的整体性能,是被广泛用于数据保护的方案之一[6]。

RAID5 是一种保障数据存储基本物理安全的技术,在面向企业的服务器及存储系统中应用极为广泛。其基本原理是通过多块物理磁盘冗余配置形成一个逻辑磁盘,保证在单一物理磁盘故障时不会对逻辑磁盘造成破坏,以保障数据安全。为了进一步提高对象存储系统的安全性和可靠性,本文拟将RAID5机制应用到对象存储系统的元数据服务器中,通过将数据分散存储在冗余MDS组成的RAID5上,不仅可以提高数据的可靠性,减少数据丢失带来的经济损失。而且在数据损坏或丢失的情况下,还可通过RAID5的恢复机制将损坏或丢失数据恢复,进一步为数据存储和访问服务提供安全可靠保障。

上图(图4)为元数据服务器架构。当用户需要向对象存储系统请求数据时,首先用户会通过客户端向元数据服务器发送元数据请求,然后通过产生随机数和Hash算法的方法来随机选择一台MDS,对用户的元数据请求进行处理。如果元数据请求为写入请求时,则经过所选择的元数据服务器对请求进行处理,处理完成后,将生成的元数据信息保存在由三台MDS服务器组成的RAID5中;当元数据请求为读取请求时,则被选择的元数据服务器通过请求信息迅速定位数据位置,从RAID5架构中将用户需要访问的元数据信息返回,为用户提供正常的元数据访问和存储服务。

上图(图5)为三台MDS部署RAID5的结构图。其中A、B、C、D、E、F是原始数据块,P1、P2、P3为校验块。数据块A和B构成一个条带,P1为数据块A和B通过异或计算得到的校验块;数据块C和D构成一个条带,P2为数据块C和D通过异或计算得到的校验块;数据块E和F构成一个条带,P3为数据块E和F通过异或计算得到的校验块。从图中可以明显地看出该RAID5存储架构的存储效率为2/3,因为其中一个磁盘驱动器用于存储条带化数据的校验信息。这种架构保证了较高的读写速度,相对于单磁盘驱动器来说,提高了2倍。

RAID5 阵列中的数据是分布到每块硬盘上,RAID5中每个条带组中总有一个条带是校验块[7]。根据RAID5校验位算法原理与数据块存放规则,校验块P1=A XOR B,如果元数据服务器MDS-1受到攻击或故障时,MDS-1上所存储的数据块B失效,则可以通过A、P1之间的异或运算重新计算得出,即B=A XOR P1。同理通过异或运算可计算出MDS-1上其他数据块(E、P2等)。因此,当一台MDS服务器受到损害或故障导致一块驱动器失效的时候,仍可保证数据的完整性,并能提供正常的存储和访问服务。如果在恢复过程中,用户需要访问正在恢复的数据块,这时校验块和另一个数据块可通过异或计算为用户提供正常的数据访问服务,保证系统的可用性。

4 总结

OBS是继NAS、SAN之后出现的一种新的网络存储模式,在系统性能、可扩展性和智能化存储等方面都得到很大的发展和完善,应用极为广泛。为了进一步提高对象存储系统的安全可靠性,本文提出的这种在对象存储系统的关键路径--元数据服务器上采用异构冗余架构和RAID5机制来提高系统安全可靠性。通过异构冗余可防止元数据服务器出现单点故障问题,减少不必要的数据丢失和经济损失;通过RAID5机制可以有效减少数据的冗余度,提高存储空间利用率。还可在数据损坏或丢失的情况下,快速恢复丢失数据,进一步提供数据的可靠性。

参考文献:

[1] 侯玮玮.基于内容存储关键技术研究与实现[D].北京.北京邮电大学,2007.

[2] 陈涛,肖侬,刘芳.对象存储系统中自适应的元数据负载均衡机制[J].Journal of Software,2013,24(2):331-342.

[3] Mesnier M,Ganger G R,Riedel E.Object-based storage[J].IEEE Communications Magazine,2003,41(8) : 84-90.

[4] Factor M M,Meth K,Naor D,et al.Object storage: the future building block for storage systems[C].Proceedings of the 2nd International IEEE Symposium on Mass Storage Systems and Technologies,2005: 119-123.

[5] 陈俊健.面向对象存储系统安全技术研究[D].武汉:华中科技大学,2011.

[6] 鲁恩铭,段益.RAID5结构剖析及其数据恢复策略研究[J].电脑开发与应用,2011,25(1):6-8.

[7] 刘伟.数据恢复技术深度揭秘[M].北京:电子工业出版杜,2010.