数据存储产业服务平台

爱数:数据分层存储应用及技术实现浅析

一、 什么是数据分层存储

数据分层存储也叫层级存储管理(HSM),指的是存储系统自动将数据从高速高成本存储向低速低成本存储复制数据,并且在需要时,又将数据从低成本存储向高成本存储复制数据的一种技术。不同存储设备的单位存储成本有高有低,这也是支持数据分层存储的重要原因。理想情况下,常用数据会存储在高速设备上,而不太常用的数据存储在低速设备上。在宏观上,数据可以在不同的设备之间进行数据复制迁移,分层保存。基于同样的理由,也可在更小的范围内进行数据分层。比如在同一个磁盘的不同磁道之间进行分层,或者在不同速率磁盘的之间进行分层等。

分层存储是一个由来已久的概念,内存与CPU的高速一二级缓存就是分层存储的一个非常典型的例子,并且这样的设计安排确实在提高CPU的性能上起到了至关重要的作用。第二个典型例子就操作系统的磁盘缓存技术,则是通过在内部存储与外部存储之间进行数据的分层以达到加快磁盘访问速度的一种实用技术。

二、 数据分层技术的应用

分层存储是通过将不同类别的数据分别存储到不同类型的存储介质上,目的是提高存储效率,减少总体拥有成本(TCO)。分层存储可节省多达50%的存储使用成本,使得它成为无差别容量配置的一种有吸引力的方案。下图揭示了单位成本与容量在分层中的关系曲线:

图1 分层存储成本曲线

单位成本高的介质,一般来说配置容量小,这样才能有效地减少TCO,反之亦然。对于备份与归档等类型的应用,恰当应用分层存储技术,可极大地节省整个方案的总体拥有成本。备份与归档的数据通常拥有许多重复数据,然而这些数据只在数据需要恢复时,或者需要查询其中的数据时,才会使用得到。如果我们采用无差别的配置方案,也就是说,全部使用快速在线或者近线存储,需要在容量上保证服务的执行,这将是一笔巨大的开销。一个可选的方案是将这些备份或者归档的数据存放在诸磁带这类的介质中,那么在满足容量的需求时,也不会使得成本大幅增加。

有时分层存储的使用,在于整合部门或者企业当中不同架构之间的存储设备。wikibon.org进行的终端用户研究显示在硬件和软件上每花1元,还要额外花0.5元在数据迁移和阵列使用期间的配置上面。通过分层存储,这一数字可以降低到每1元硬件软件只花低于0.1元在迁移和配置上。

其次,存储的另一个作用就像内存与CPU缓冲作用一样,用于提高数据访问的性能。也就是将常访问的数据存放在高速介质上,而其他的数据存放在成本较低,但是容量较大的慢速介质上。这样在访问常用数据时,使用的数据读取时间较少,从而加快了磁盘存取速度。这种分层技术的主要目的在于以较少的成本代价,提高存储介质的访问速度。

内存的存取速度通常比磁盘存取速度快上几个数量级,因此在磁盘与内存之间还是有很大的性能提升空间。如果我们如法炮制地在内存与磁盘之间加上另一个高速磁盘缓存,这样在不大幅增加成本的情况下,取得较好访问性能。我们称这样的技术为磁盘分层技术。

三、 磁盘分层技术

在大粒度上的分层存储解决的是存储容量和成本问题,即在满足应用性能的需求下,增大设备的容量,但又不导致大量成本的增加。当前,磁盘转速越来越大,数据传输率也是水涨船高,但同时也带来了一些问题。比如耗电与散热问题。特别是机械式磁盘总会面临物理极限。因此在这样的背景下,存储厂商开发了电子式磁盘,称之为固态磁盘(SSD)。SSD的好处刚好弥补了机械式磁盘的缺陷,耗电少,没有机械摩擦,没有机械噪音等。但其制造成本也相对高出许多。当前的应用,最理想的情况下自然是使用的磁盘越快越好,但高昂成本导致这样的应用方案的使用受到极大局限。那么我们可不可以在更小的粒度上对数据进行分层呢?答案是肯定的。

在计算机领域里面,有一个著名的局部性原理,这个原理是计算机体系结构重要的设计基础之一。这个原理内容说的是:进程运行时,在一段时间内,其程序的执行往往呈现出高度的局部性,包括时间局部性和空间局部性。时间局部性指的是若一条指令被执行,则在不久的将来,它可能再被执行。空间局部性是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。如果我们在磁盘访问单位这样的粒度上对数据进行分层,将热点数据存在高速磁盘上,而将一些非热点的数据存放在低速磁盘上,这样我们可以充分利用高速磁盘的速度,也利用于低价磁盘的容量。因此在保证容量需求的同时,增加的成本相对较少,是物有所值的。如下图是数据迁移的路径:

图2 磁盘分层存储

Tier0是高速磁盘,比如SSD磁盘。而Tier1则可能是大转速的SAS磁盘,或者FC磁盘,最后一级则是普通磁盘。数据在不同层之间自动迁移,磁盘用户根本不知道各种存储层的存在,就好像软件无需了解CPU高速缓存的存在一样。

四、 如何利用磁盘分层存储

作为一种低成本的分层方案,主要目的不是提供大容量的存储空间,而是提供在满足用户对磁盘容量的需求下,提升磁盘性能,同时不会大幅增加投资。因此这样的磁盘分层存储不适用于备份,归档这样的应用,而应该使用在对磁盘性能要求较高的应用中,如一些IO密集型的类型任务。由于磁盘分层存储对于应用来说是透明存在的,因此可以在不用改动任何应用的情况下就能提高应用性能。

五、 结语

分层存储是旧的技术,但在新的应用环境中有了新的内容和生命力。分层存储只是一种技术,因此需要将这个概念转变成一种新的应用需要对自己的环境进行评估与分析。当前数据备份随着数据的大量电子化而成为一个不可缺少的功能。D2D2T的备份方式只是分层存储概念应用中的一个例子。爱数的备份存储柜将这样的功能引入到产品中,使用户无需再自己花费大量精力布署分层应用。随着存储与备份技术的不断发展,分层存储技术还将得到不断深化与细化。合理应用分层存储,不但可以给自己的业务带来性能上的提升,管理上的便利,同时还能节省成本投入。

参考:

1. Hierarchical storage management,http://en.wikipedia.org/wiki/Hierarchical_storage_management

2. 分层存储架构的原理与实施选择,http://www.xker.com/page/e2009/0115/68421.html

3. Automated Tiered Storage http://www.compellent.com/Products/Software/Automated-Tiered-Storage.aspx

未经允许不得转载:存储在线-存储专业媒体 » 爱数:数据分层存储应用及技术实现浅析