一文读懂EMC VNX存储的Fast Cache(第二部分:对比)
书接上回,在理解了FAST Cache的一些基本概念后,我们本文将重点讨论FAST Cache和普通Cache,也叫做DRAM Cache的差异。
在 EMC VNX 存储系统中,FAST Cache 和存储系统的 DRAM Cache(通常称为存储缓存或系统缓存)都是用于提升存储性能的缓存机制,但它们在技术实现、功能定位和使用场景上存在显著差异。下面详细总结 FAST Cache 和 DRAM Cache 的相同点、不同点和差异点,以清晰对比两者的特点。
一、相同点
- 提升性能的目的:
- 两者都旨在通过将频繁访问的数据存储在更快介质中,降低响应时间,提高 IOPS(每秒输入/输出操作数),从而提升存储系统性能。
- 透明操作:
- FAST Cache 和 DRAM Cache 对主机应用透明,无需应用程序干预即可提供性能提升。
- 支持读写操作:
- 两者都支持读写缓存,处理主机发出的读写 I/O 请求。 FAST Cache 和 DRAM Cache 在读写操作中会协同工作。
- 数据一致性保障:
- 两者都确保缓存中的数据与后端存储(HDD 或 LUN)一致,通过写回(write-back)或同步机制避免数据丢失。例如,FAST Cache 的脏数据通过 flush/destage 写回,DRAM Cache 也有类似机制。
二、不同点(差异点)
以下是 FAST Cache 和 DRAM Cache 在技术实现、性能特性、管理方式等方面的主要差异:
特性 | DRAM Cache | FAST Cache |
存储介质 | 基于 DRAM(动态随机存取存储器),速度极快,靠近 CPU。 | 基于企业级闪存驱动器(Flash Drives),速度比 HDD 快,但慢于 DRAM。 |
位置 | 最靠近 CPU,位于存储处理器内部,具有最低延迟。 | 位于 DRAM Cache 和 HDD 之间,作为二级缓存,延迟高于 DRAM。 |
响应时间 | 纳秒到微秒级,极低延迟。 | 微秒到毫秒级,比 DRAM 慢但远快于 HDD。 |
容量 | 容量有限,通常为几 GB 到几十 GB,受硬件限制。这是以前VNX年代的存储,现在也有几个T内存的存储了。 | 容量较大,可扩展至 100 GB 到 2 TB(视 VNX 型号和闪存驱动器数量。 |
粒度 | 高粒度,缓存页面大小可配置(2 KB 到 16 KB),接近 I/O 大小。 | 固定 64 KB 粒度(chunk),适合较大块数据。 |
操作区域 | 分为独立的读缓存和写缓存区域,用户可配置。 | 单一区域,同时服务读写操作。 |
挥发性 | 易失性(volatile),断电后数据丢失,需电池备份或快速写回。 | 非易失性(non-volatile),断电后数据保留。 |
升级性 | 升级受限,VNX存储的内存配置都是固定的,不是你想升级就升级的。 | 可在所有支持型号上升级,容量取决于闪存驱动器数量和型号 |
故障处理 | 故障更换比较麻烦,因为内存DIMM是在控制器里面,需要对控制器做宕机处理。 | 就是普通磁盘,支持热备(global hot sparing),故障驱动器可自动替换,更换简单。 |
配置管理 | 由系统自动管理,用户可调整读写缓存分配比例。 | 通过 Unisphere 或 naviseccli 配置(如创建、启用/禁用、销毁等。 |
性能瓶颈 | 受限于容量小,适合高频小块 I/O,但在大规模突发负载下可能不足。 | 容量大,适合处理突发性高负载(bursty workloads),但延迟略高于 DRAM。 |
数据持久性 | 主要用于临时缓存,数据需快速写回到 HDD。 | 可作为长期缓存,数据在闪存中更持久,适合频繁访问的热点数据。 |
与 FAST VP 协同 | 不直接与 FAST VP 交互,专注于即时 I/O 处理。 | 与 FAST VP 协同,避免重复提升已位于闪存层的数据。 |
资源占用 | 占用存储处理器内存,容量分配固定。 | 占用部分 DRAM 用于内存映射(memory map),可能减少读写缓存空间。 |
三、总结
- 相同点:FAST Cache 和 DRAM Cache 都旨在提升存储性能,透明服务读写 I/O,确保数据一致性,适用于高性能需求场景。
- 差异点:
- 介质与速度:DRAM Cache 基于 DRAM,速度更快;FAST Cache 基于闪存,速度次之但远超 HDD。
- 容量:DRAM Cache 容量小,扩展难;FAST Cache 可达 2 TB,扩展灵活。
- 粒度:DRAM Cache 粒度细(2-16 KB);FAST Cache 固定 64 KB。
- 持久性:DRAM Cache 易失性,故障恢复复杂;FAST Cache 非易失性,支持热备。
- 管理:DRAM Cache 管理简单;FAST Cache 配置复杂,涉及 flush/destage。
- 场景:DRAM Cache 适合实时小块 I/O;FAST Cache 优化突发性热点数据。
- 实际应用:
- DRAM Cache 是存储系统的核心缓存,优先处理所有 I/O,容量有限。
- FAST Cache 作为二级缓存,扩展缓存容量,专注热点数据,显著提升突发负载性能,降低总体拥有成本。
最后,提醒下。FAST Cache是持久性的,就是说这部分cache中的内容不会因为主机掉电就没有了,所以是不需要BBU电池保护的。我们很多时候如果存储的BBU电池故障,就会导致写缓存不能enable,这就是因为DRAM的Cache不是持久性的,就是只是保留在机器加电以后的内存中的。机器断电,就没有了。所以到重点,vnx的控制器重启等是不需要专门处理FAST Cache,只需要对DRAM中的write cache disable了就可以了。