爱数的备份引擎历经了Turtle引擎、Hercules引擎,现已经发展到第三代引擎—FAST引擎,如引擎名字一样,我们在着手架构和实现此引擎时,就希望能够在性能上有所突破。但在现阶段无新的理论基础以及新算法的诞生,如果希望引擎能够在备份恢复性能上取得新的突破,只能寄希望于引擎架构上的突破,这也是FAST引擎最鲜明的技术特点,在此文章中,将把FAST引擎的关键组件之一:OFS存储引擎进行初步的介绍。
一、把握趋势的关键点
当Oracle的埃里森郑重的发誓,Exadata 将会是Oracle最成功的产品,业界还对此不置可否。在完成对Sun公司的收购后,短短一年时间,Oracle就取得了近80%的增长速度,而取得此佳绩最关键的产品线,正是Exadata2,这款集成Oracle数据库、Sun服务器和存储的OLTP专用服务器,帮助用户在更低总体投资成本下获得了不凡的性能。
Exadata的成功,不仅仅体现了Oracle并购上的整合能力,更重要反应中大型系统通过集成技术架构获得更好投资回报率的技术趋势。通过集成技术架构,不仅仅可以保证系统的每一个组件(硬件模块和软件模块)的运行效率得到充分发挥,而且针对特定应用,进行系统的专用优化,从而取得了显着的性能突破。
二、OFS 是集成技术架构的产物
Object File System(简称OFS) 作为FAST引擎的存储系统,它是一个运行在用户态的文件系统,以对象为存储粒度,以 GNS(Global Namespace) 为命名路径,采用树状结构索引,可支持全局范围内对象按类别和时间点进行存储,并且内置重复数据删除、集群式、分布式存储、数据生命周期管理等一系列现代文件系统所具有的技术特点。
之所以说OFS是集成技术架构的产物,在开始设计第三代备份恢复引擎FAST之前,不仅仅集成技术架构已经成为业内普遍采用的架构,而且根据爱数的业务战略规划,也需要满足如下两个关键需求:
性能目标:伴随着用户数据量的快速膨胀,FAST引擎作为数据调度的关键组件,要能够满足PB级的数据传输和存储性能目标,而FAST引擎的性能关键部件正是后端的存储系统。
应用环境:第三代引擎FAST不仅仅要满足爱数在备份容灾业务领域的技术需求,还需要满足归档、非结构化文档存储的业务技术需求,即FAST引擎本身是一个集成应用的引擎,将用于备份容灾、数据归档、非结构化文档存储等。
正因为如上的一些背景,整个OFS是作为一个专用的存储引擎与FAST集成,通过集成技术架构实现备份容灾、数据归档、非结构化文档存储等应用领域的存储需求,并且通过与FAST集成,在Cache、Scale-out横向扩展等性能优化上将进行应用整合,从而通过更小的付出获得更优的性能目标。
三、OFS的主要特点和设计目标
1)用户态文件系统
有别于传统文件系统,OFS是驻足在已有文件系统之上的 用户态文件系统 ,并且采用专用API访问,不支持POSIX或Windows FS等标准访问接口。此技术方案可保证OFS具有更强移植性(操作系统无关)、简化开发和维护难度、便于跨网络和分布式扩展,以及基于双C技术(Cluster和Cache)来不断优化性能等。
2)全局对象存储
OFS适用于网络存储,它以GNS作为对象路径,可保存来自于全局网络环境的数据集中存储,例如备份、归档、共享等数据集中存储应用,并且以对象作为存储粒度,可支持文件、邮件、数据库、表、设备等各类结构化和非结构化的数据对象的存储。
GNS是全局名字空间 (Global Namespace),它用于在全局范围标识一个对象的名称,这个名称可以在全局范围内唯一代表此对象。传统的命名规则,通常是单系统(一台计算机或服务器)范围的,这种情况下实现集中备份、归档、文档管理等,将面临着名称冲突,不同平台、不同协议命名规则的差异,对于一些非文件数据对象,又面临着没有可参考的命名规则,正因为诸多缺点,在整个引擎的设计中,引进GNS,如下图所示,通过GNS,可以将不同平台、不同协议、不同类型的数据对象命名统一,并且保证在全局范围内可唯一标识。
3)永远一致的文件系统
OFS采用全Journal 算法,任何时刻文件系统均处于一致性的状态,即使遇到非正常断电或不正常关机后,也不需执行硬盘检查,即可在复电后2分钟内迅速提供服务。
OFS支持自修复机制,即使OFS所存储的数据遭受到意外的破坏,也能保证数据损失降到最低。
4)无容量限制的文件系统
OFS可支持单存储介质池中介质动态增长、跨存储的多介质池扩展等,支持ZB级的数据量存储,可轻松方便地完成在线扩容和动态部署。
备注:1ZB=1024EB=1048576PB= 1073741824TB
5)高性能的文件系统
OFS针对读写操作大于合成操作、数据分类及时间点、时间线等应用特征,采用局部原理进行性能优化,在归档、备份、共享等应用中具有更好性能,并且结合集群技术,可显着提升IO整体性能。
OFS支持各种的缓冲优化机制,包括读、写缓冲,时间线预镜像(Timeline Pre-Image),提升整体访问性能。
OFS针对数据访问操作(读写、删除、合成等)的不同重要程度,将其划分为不同的执行优先级,在不同优先级操作并发访问的情形下,保证关键操作的执行性能不受影响。
6)嵌入重复数据删除
OFS内置重复数据删除,可将集中存储的重复数据进行压缩,进一步提高逻辑存储容量,并且能够与文件系统访问、集群技术等结合,且支持全局范围(全网络环境)、指定类别范围(一个或多个CID)进行重复数据删除,可保证存储系统内的整体最佳的重复数据删除性能。
7)超强快照能力的文件系统
OFS采用时间点节点内置的设计,可在瞬间创建一个快照,并且整体文件系统无快照版本限制。
8)更细粒度的配额管理
OFS可支持介质池、介质、对象的空间配额管理,包括空间配额、容量查询、容量预先防范、数据智能分布、自动精简配置(Thin Provisioning)等。
9)通用协议访问
OFS可通过与FAST内核引擎集成,将支持iSCSI、NFS、CIFS等通用数据访问协议来访问OFS所存储的对象数据,实现数据的直接读写,以满足瞬间恢复、归档在线访问等读写需求。
结束语
OFS是爱数的FAST内核引擎中所使用的核心组件,承载着爱数未来数年能够在存储备份行业脱颖而出的使命,而要实现所设定的技术目标,我想这也将会是国内存储技术的一次重要突破,在后续的时间里,我们将逐步就OFS存储引擎以及FAST内核引擎的技术详细架构、关键算法等进行阐述,希望能够继续关注。