主存储优化(PSO)的前世今生

在过去的两年里,重复数据删除(Date Deduplication)以惊人的速度从一个偏僻的存储技术术语迅速成为了存储系统中广为人知的特性,几乎所有主流存储厂商都适时推出了自己的相关产品;类似的,高速硬件数据压缩(Hardware Data Compression)应用也获得了类似的市场机遇,在不到两年的时间里,不但成为高端虚拟带库(VTL, Virtual Tape Library)的必选特性,也逐渐在归档(Data Archive)、备份(Backup)、持续数据保护(CDP, Continuous Data Protection)等次级存储(Secondary Storage)中获得了广泛应用。

由于在系统功能上比较相似,都能显著减少数据容量,提高系统的运行效率,业界又专门以数据缩减(Data Reduction)或容量优化(Capacity Optimization)来统称重复数据删除和数据压缩技术这两种技术。一般的,数据压缩技术的应用可以带来2:1~3:1的压缩比,而重复数据删除技术在备份应用中的压缩比可达10:1~20:1,综合应用两种技术之后,数据量一般可减少到原来的3%左右。容量优化技术的广泛应用,其背景是存储系统中数据容量的急速增长:IDC报告显示,2007年新增数据量(281 ExaByte)已经超过所有可用存储介质总容量(264 ExaByte)约6%,并预计2011年数据总量将达到2006年的10倍!

数据缩减技术在次级存储中的成熟使用和带来的巨大好处促使人们认真研究并考虑将相关技术的应用进一步推广到主存储(Primary Storage)中,以应对主存储所面临的诸多问题:太高的容量需求、过多的空间和能源消耗等等。于是,我们有了一种新的应用:主存储优化(PSO, Primary Storage Optimization)–毫无疑问,主存储优化将以成熟的数据缩减技术为基础。

尽管主存储优化最近才进入我们的视野,但对IT业界,尤其是对那些技术和市场先驱而言,相关技术和应用倒并不是近几年才出现的全新概念。

1994年2月23日,从美国加州联邦法院传出了一个惊人的消息:由于侵犯对方专利,软件巨头Microsoft被判赔偿一家鲜为人知的小公司Stac总计一亿二千万美元,案件的核心是Microsoft当时新推出的操作系统MS-DOS 6.0中集成的Double Space软件。在一般应用中,该软件的使用可以使计算机的硬盘容量"加倍":数据会先经过压缩再存储到硬盘上,高效的压缩算法可以提供约2:1的压缩比。而Stac持有该压缩算法的关键专利,并且其硬盘容量倍增软件Stacker已经广泛应用到IBM的OS/2、Apple的Macintosh、Unix和Microsoft MS-DOS的主要竞争对手Novell DOS等各主要操作系统中。在2003年IE浏览器侵权案件之前,这一直是Microsoft败诉且涉案金额最大的知识产权案件,而且成为全球知识产权保护的经典案例。

在500GB硬盘只要不到400元人民币的今天,能将PC硬盘容量加倍的技术大概并没有多少吸引力,但在上世纪九十年代初,主存储容量异常宝贵,1993年250MB的硬盘大约需要500美元!因此,Stac独有的压缩技术获得了广泛的应用,Stacker软件的推出也使Stac公司成为主存储优化的先驱。

在早期的主存储优化应用中,使用的容量优化技术是数据压缩,关键算法采用的都是压缩效率和速度都非常好的LZS算法,其实现也主要是以软件方式集成到系统中,利用主CPU来完成所有处理。随着计算机应用的日益广泛,各种不断丰富和发展的应用对性能要求越来越高,系统处理能力逐渐成为瓶颈,基于软件的数据压缩因为需要消耗大量的CPU资源而被逐渐边缘化;与此同时,硬盘技术取得了长足的进步,硬盘/主存储的容量不断增长的同时,价格也迅速下降。硬盘/主存储优化应用也就逐渐淡出人们的视线,Microsoft也最终在Windows XP中取消对这项功能的支持。

在数据缩减技术在次级存储优化(SSO, Secondary Storage Optimization)应用中大放异彩的时候,我们发现,尽管当前的技术还不能直接满足主存储的要求,但毫无疑问,这样的技术同样可以给主存储带来巨大的效用和好处。

随着应用的不断丰富,存储系统对主存储的容量需求一直在急速增长,其速度明显超过磁盘系统的技术进步;另一方面,由于操作难度和应用对时延的较高要求,主存储内有大量数据相对比较陈旧,并没有迁移到次级存储中去,调查显示其比例甚至高达80%~90%。目前,数据中心主存储容量的利用率一直维持在很高的水平,面对不断提高的增长压力,与购买新的存储设备相比,通过主存储优化挖掘现有存储资源的潜力在目前较为严峻的经济形势下显得尤为必要。

另一方面,存储介质之外的支出越来越成为关注的重点。对很多数据中心而言,空间占用、电力消耗,还有散热,可能比存储容量更难以管理,有时候甚至不是仅仅增加支出就能解决的–主存储优化是"绿色存储"的一个重要选项。

而且,在前面的分析中我们都都没有论及实际的存储容量。在实际的存储系统中,将50TB缩减为10TB所带来的好处,远非将5TB缩减为1TB所能比。随着业务的发展,企业和数据中心管理的数据将迅速从数TB增长到数十TB,简单增加存储容量除了介质本身的支出外,还会给备份/归档等等日常管理带来极大挑战。

此外,有效减少主存储的数据量后,系统I/O单元的利用率将明显改善,从而提高系统性能;如果需要远程数据传输,网络带宽的利用率也将显著提高。

尽管主存储优化有着非常诱人的前景,但要真正实现系统应用,还需要解决一系列的问题。与已经获得广泛应用的次级存储优化相比,主存储优化对性能(Performance)、可用性(Availability)、可靠性(Reliability)等各方面都有更高的要求。

与备份/归档等次级存储应用不同,主存储对性能的要求比容量更高,因此主存储优化的应用不能以降低系统性能为代价。目前,主存储的性能需求一般都在100 MB/s以上,而基于软件的数据缩减技术仅能达到数十MB/s,因此主存储优化应用的实施需要依靠相关硬件加速设备。目前,硬件数据压缩产品已经比较成熟,性能最高已达到800MB/s,可以满足大多数主存储系统的需求;重复数据删除的硬件加速则相对薄弱。

次级存储优化针对的都是离线(near-line)或近线(off-line)应用,对其可用性的要求比主存储要低得多;即使是对可用性要求较高的灾备(Disaster Recovery)系统,其可用性要求也低于主存储–主存储的数据需要随时在线,立即响应数据访问,以满足应用处理。类似的,硬件压缩已经广泛于网络设备(如路由器、交换机等),长期的成熟应用显示其可用性完全可以满足主存储优化的需求;经过最近几年的发展,软件重复数据删除技术在次级存储中已经比较成熟,但要进一步应用于主存储优化,则相关硬件加速设备还有待市场进一步检验。

主存储优化中所涉及的数据缩减技术和有关硬件加速产品已经有大量的实际应用,技术和产品本身应该没有问题,但是高可靠性的实现依赖于良好的系统设计,主存储优化产品要真正走向市场并被用户接受,还需要存储厂商的认真投入–当然,这样的投入将会带来非常可观的回报。

另外,与面向备份等应用的次级存储相比,主存储的数据重复几率要小得多,而且许多数据都已经在应用层面实现了压缩,因此主存储优化的效率很难达到一般次级存储优化应用所宣称的20:1~30:1的压缩率。一般的,压缩率为3:1~5:1是比较客观的评估。

目前,已经有包括NetApp在内的多家厂商发布了主存储优化的相关产品,其他如EMC、Riverbed等也都表示在积极关注,有市场报告显示,主存储优化将在2009年取得长足发展。

在关注主存储优化的各厂家中,Hifn将目光集中在硬件加速单元而不是整个设备上,其Express DR系列数据缩减加速卡硬件在次级存储优化中被EMC、HP、IBM等各主要存储厂商广泛采用。有趣的是,Hifn与15年前的专利大战中最终获胜的Stac有着直接的联系:Stac的压缩产品线于1996年剥离,成立Hifn公司,并于1998年在纳斯达克上市–从原始主存储优化的盛行到消失,再到存储系统中再次引入主存储优化,Hifn可算是引领了一项技术及其应用的轮回和新生吧!