存储 频道

存取效能最大化 磁盘快取VS分层存储

  【IT168 技术】与纯粹的固态磁盘阵列相比,将SSD用于分层储存,或是以Flash存储器作为储存设备的第2层快取,两种做法都是属于混合应用传统硬盘与NAND Flash闪存的架构,也同样是将Flash闪存置于速度较慢的传统硬盘与高速的DRAM Cache之间,但由于存取方式上存在许多差异,从而产生不同的特性:

  在数据存取中的角色不同

  如名称所示,Flash记忆体在分层储存中扮演硬盘角色,在第2层快取应用中则扮演高速缓冲存储器角色。

  分层储存中的SSD是作为一个永久存放数据的储存装置,透过分层技术,数据是被“迁移”到SSD中,除了存取速度较快外,SSD中的数据在逻辑上与传统硬盘是一样的;而当以Flash记忆体作为第2层快取时,Flash记忆体则是充当存取数据的缓冲区,数据是从底层磁盘区中“复制一份”到高速缓冲存储器中(注意是复制而非迁移),读入Flash快取中的数据只是暂存,而不是永久性保存。

  运作机制差异

  在自动化分层储存架构中,自动化分层储存技术会先按照预设政策将数据写入各层级磁盘,并以Volume、LUN或一定的区块大小为单位,持续或定期追踪记录数据的存取频率(或者说是活跃程度),藉由统计不同储存区域的存取频率,辨别出存取频率高的“热点”与存取频率低的“冷点”所在。然后便可依照追踪与统计结果,按一定周期自动执行数据迁移工作,将存取频率高的数据迁移到由SSD组成的磁盘区,存取频率低的则迁移到传统硬盘组成的磁盘区。

  而Flash快取的运作方式,则与一般的高速缓冲存储器大同小异,也就是把最近存取过的数据区块,存放到作为缓冲区的Flash记忆体中,接下来的后续存取操作中,系统会比对快取中的数据,若命中快取中的数据,就直接从高速的记忆体中存取数据,而无须到硬盘上存取。

  不过在实际产品实作中,又有让Flash记忆体只充当读取快取(如NetApp的FlashCache),以及让Flash记忆体同时作为读取与写入快取(如EMC的FAST Cache)等不同作法。

  影响存取效能最大化的因素

  无论数据快取或自动化分层储存,最终目的都是设法实现存取的非常好的化、改善存取效能,不过由于基本原理的差异,在达成存取非常好的化的效果上各自受到不同限制。

  - 影响自动分层储存的因素

  如前所述,会对各储存区域的数据存取频率进行追踪统计,并定期按存取活跃程度,将数据分别迁移到不同层级的储存装置上。但执行的统计追踪与数据迁移的I/O单位精细度(granularity),以及进行数据迁移的频率,对于非常好的化效果将有很大的影响。

  首先,系统执行存取行为分析与数据迁移时,所采用的I/O精细度越小越有利,以几百KB为单位的区块来执行迁移操作,显然比以数GB为单位的整个Volume或LUN更为理想,不仅消耗的资源较少,也能达到更高的储存资源配置效率。

  一般来说,在一个数十或数百GB的Volume或LUN中,经常被存取的大都只是其中一小部分的区块,而非整个Volume,因此在执行数据分层迁移操作时,若自动分层储存系统能以更小的区块作为单位,便能将真正经常存取的那些区块保留在高效能储存区域上,其余部分则迁移到低价的储存区域保存,从而更有效率的使用储存空间。但另一方面,若运作的精细度越小,则相对应须追踪的区块数目与相对应的metadata也越多,相对也更增加控制器的负荷。

  其次,自动分层储存技术所执行的数据迁移动作,显然会消耗储存设备相当程度的I/O效能,若迁移动作过于频繁,将会影响到正常存取操作;但若数据迁移操作时程间隔过长,又无法即时反应储存区域“热点”的变化,以致无法让储存空间配置持续维持在非常好的效率的组态上。

  典型的自动分层储存技术如IBM的EasyTier技术是预设以24小时为周期,每隔24小时执行一次数据迁移操作,换言之,系统必须每隔24小时运作后,才能将数据分层调节到非常好的配置上(有某些自动分层技术可设定以更密集的周期来执行,如EMC的FAST VP)。

  - 影响快取效率的因素

  快取操作采用的最小单位,也就是所谓的Cache Page,通常只有几KB大小(典型是2~16kB),这个单位与磁盘阵列控制器存取磁盘所采用的Sector(通常是512byte,有些厂商如EMC是520byte)或RAID的Strip大小有关,也与档案系统磁盘的区块或cluster大小有关(通常是4、8、16kB或更大)。

  无论如何,快取操作的精细度要比自动分层储存技术的精细度要更好。

  而且数据只要被读入高速缓冲存储器中一次,就能发挥加速存取的效果(当快取命中时),不像自动分层储存技术,得累积一段时间的数据追踪分析,并等到执行数据迁移的时间到来以后,才能把数据分层的组态调整到非常好的化。

  但从另一方面来说,高速缓冲存储器一般只对小区块频繁存取有较大帮助,只有这种存取型态才能形成较高的快取命中率;对于大型、连续数据区块/档案的存取,由于快取命中率很低,因此帮助不大。相较下,自动分层储存技术的适用范围便较广泛些,在多数存取型态下都能发挥存取非常好的化的效果。

0
相关文章