作者:SmartX 解决方案专家 钟锦锌
很多运维人员都知道,混合存储介质配置可能会带来“缓存击穿”的问题,尤其是大数据分析、数据仓库等需要频繁访问“冷数据”的应用场景,缓存击穿可能会更频繁地出现,影响业务运行。除了更换为全闪存储,目前一些主流厂商可通过“常驻缓存”和“多存储池”这两种技术方案来避免缓存击穿,帮助用户降低成本、提升业务连续性。这两种方案有什么区别?哪个方案更有优势?以下,我们将深入解读常驻缓存和多存储池如何避免缓存击穿,以及它们在成本、性能和管理方面的优劣势。如您有更多观点补充,欢迎在评论区留言。
重要结论
点击下方链接下载《超融合技术原理与特性解析合集》,通过三册电子书,了解更多超融合技术知识与产品性能。
SmartX 超融合技术原理与特性解析合集(一)虚拟化与存储
https://mobile.smartx.com/p/7d3913
SmartX 超融合技术原理与特性解析合集(二)管理与运维
https://mobile.smartx.com/p/8cb16
SmartX 超融合技术原理与特性解析合集(三)全栈能力
https://mobile.smartx.com/p/73d10
在集中式存储、分布式存储或者超融合基础架构的使用场景中,很多用户都会配置混合存储介质。混合介质存储是指配置固态硬盘(SSD)作为缓存加速 I/O 读写、配置机械硬盘(HDD)作为容量空间,形成“层次存储”以降低存储的整体成本(相比全部使用 SSD 作为存储介质的全闪方案)。
其中,“层次存储”的最常见的数据分层策略是:新写入或经常访问的数据会优先存放在高性能介质(SSD)中,而存在时间较长或不经常访问的数据会被交换到低成本存储介质(HDD)中。
通常的情况下,新产生的数据短时间内被重复访问的概率也比较高,属于热数据;而生成时间比较长的数据通常被再次访问的几率比较低,属于冷数据。当业务系统运行一段时间后,企业中的冷数据会明显多于热数据。因此,这种情况下系统通过 SSD 缓存满足少量热数据的快速响应需求,并将大量冷数据存放在大容量、低成本的 HDD 的机制是有效的。但在一些特殊场景下,这样的缓存机制会受到挑战:
上述两种情况都有可能引起”缓存击穿“ 的情况发生:由于数据需要直接读/写 HDD 才能完成 I/O 操作,对应的 I/O 延时将大幅度上升;当击穿的情况频繁发生,存储的整体性能也会出现较大程度的下降。
另外,现实中有部分业务场景并不遵循上述的冷、热数据访问规律,从而特别容易触发“缓存击穿”。如:
企业如果将大数据分析、数据仓库等业务数据存放在“层次存储”中,频繁的“缓存击穿”可能会造成业务系统响应变慢、处理能力急速下降等问题。很明显,通过单一的缓存机制是无法满足此类需求的(业务实际上需要全闪存储,才能保证访问所有数据都能保持一致的响应速度)。
不过,仅为少数几个业务系统而更换为全闪存储,对用户成本又会造成较大的挑战。能否既兼顾存储成本,又能满足个别业务系统的性能要求(不触发击穿)?答案是可以的,针对用户的需求,不同厂商提供的方案不尽相同,但大体可分为两个类别:在混合存储介质部署基础上增加常驻缓存(Pin SSD)或多存储池的支持。
常驻缓存功能是在保留原有的缓存机制不变的前提下,可动态地将部分缓存空间(SSD)划分给特定的业务系统作为容量层使用,从而使得处于常驻缓存中的数据不再被交换到低性能硬盘(HDD),并确保业务系统不会发生“缓存击穿”导致性能下降的情况发生。也可以理解为,常驻缓存功能可为特定业务提供全闪的存储空间;因此,除了避免缓存击穿,常驻缓存功能还可为关键业务提供稳定的高性能、低时延。
多存储池是指在同一个集群内根据存储介质设备的类型、性能,将存储资源划分为多个池;每个存储池可以对应不同的存储介质。如:集群中选择一定数量的 SSD 组建全闪存储池,另外一部分 SSD 和 HDD 则组建混合存储池。多存储池功能使得同一个集群里面可同时存在全闪和混闪存储池,用户可以根据业务对存储的性能需求,决定业务数据放置到哪个存储池更合适。
常驻缓存和多存储池两种方案都可以解决因特定业务产生的“缓存击穿”问题,但两者解决问题的思路是不同的,实际效果会有一定差异。下面我们将以超融合基础架构场景为例,对比常驻缓存与多存储池方案在成本、性能和管理方面的优劣势。
常驻缓存和多存储池方案共同的需求出发点就是降低存储成本,因此硬件成本是一个核心关注点。
我们根据以下需求进行模拟配置:



从模拟配置对比中可以看到:
从性能上对比,多存储池方案中不同的存储池之间是天然隔离的,可以确保全闪池的业务不会受到混闪池的影响,相对常驻缓存在一定优势;而常驻缓存存在缓存盘资源争抢的可能,但也可以通过存储 QoS* 和扩展缓存盘来消除资源争抢的风险。
*存储 QoS:指可以为虚拟机整机或者指定的虚拟卷设置存储 IOPS 或者带宽上限,避免单一应用占用过多性能资源,可一定程度上避免资源争抢的情况发生。
由于全闪池与混闪池之间是完全隔离的,数据无法实现共享访问。多个存储池在超融合环境下会带来一些限制。
因此,相比普通集群,多存储池的管理复杂度更高。
因此,常驻缓存相对多存储池有更大的灵活度,而且不会增加管理的难度。

根据上述对比可以看出,多存储池可确保全闪业务和混闪业务的充分隔离,在对性能要求比较苛刻的业务场景下可能更具优势;但这种情况下多存储池的节点规模需要在 6 个或以上,同样的节点规模已经满足组建多集群(全闪集群+混闪集群)条件,此时多集群与多存储池在性能上是基本一致的,但多集群的可用性会更强。因此,多存储池的整体优势并不明显。而常驻缓存方案在成本上有较明显优势,且管理更加简单,通用性更强。
目前,SmartX 超融合 6.1 和分布式存储 5.6 都支持用户开启常驻缓存功能,避免缓存击穿的同时为关键业务系统提供稳定的高性能、低时延保障。SMTX ZBS 5.6 还采用了全新的分层模式,用户可以使用纠删码等依赖存储分层模式的功能,同时读写缓存分区比例可以动态进行调整,优化缓存空间利用率并避免缓存击穿的风险,灵活应对不同业务 I/O 的性能需求。
您还可下载《超融合技术原理与特性解析合集》系列电子书,了解更多超融合虚拟化、存储、管理、运维、网络与安全、容器管理等方面的技术解读!
SmartX 超融合技术原理与特性解析合集(一)虚拟化与存储
https://mobile.smartx.com/p/7d3913
SmartX 超融合技术原理与特性解析合集(二)管理与运维
https://mobile.smartx.com/p/8cb16
SmartX 超融合技术原理与特性解析合集(三)全栈能力
https://mobile.smartx.com/p/73d10