在全新 VST 级别进一步优化闪存使用的性能和成本 虚拟存储分层 (VST) 是 NetApp 的一种自动化存储分层 (AST) 方法。借助 AST 技术,数据中心内基于闪存的介质可实现更高的性能,同时最大限度地降低成本和复杂性。基于闪存的设备(例如基于固态磁盘 [SSD] 和控制器的闪存)每秒可完成的随机读取操作数比最快的硬盘驱动器 (HDD) 多 25 到 100 倍,但是达到这样的性能,每 GB 成本要高出 15 到 20 倍。 VST 可自动识别热数据块并将其存储在闪存中,同时将冷数据存储在速度较慢、成本较低的介质上,而不是将整个数据集永久放置在昂贵的闪存介质上。为了构建最佳解决方案,NetApp 投入了大量时间和精力来了解 AST 必须解决的难题。 随着最近向 VST 中添加了两个产品,NetApp 现在提供端到端闪存选项,涵盖从客户端应用程序到磁盘子系统的方方面面。
所有三个级别继续提供 VST 的全部优势,包括:
本文介绍采用 NetApp 闪存池和 Flash Accel 技术的磁盘子系统级别和服务器级别的 VST 选项,并提供有关在何时何处部署这三个级别中的每一个的一般准则。如果您对闪存还不熟悉,请查阅原来有关闪存的文章了解详细信息。 图 1) 现在 NetApp 虚拟存储层在基础架构内不同的级别运行,便于您更好地优化闪存的使用。 闪存池 NetApp 闪存池在 NetApp 聚合级别运行。(聚合是指由 RAID 组构成的集合。)闪存池的创建非常简单,只需向现有 64 位聚合中添加由固态磁盘 (SSD) 组成的 RAID 组,创建能够充分利用这两项技术的混合磁盘阵列。使用 SSD 存储聚合中卷的随机读取和重复随机写入(覆盖),从而减轻硬盘驱动器 (HDD) 的这项工作负担。这样一来,您便可使用较少的磁盘轴或使用容量导向型磁盘而非性能导向型磁盘达到相同级别的性能(总体延迟较低)。闪存池可为您提供 SSD 的延迟和吞吐量优势以及 HDD 的大存储容量。 磁盘子系统级别的闪存池方法可带来诸多优势。
闪存池工作原理 要了解闪存池技术的工作原理,您需要了解识别随机读取和随机覆盖操作并将数据存储到 SSD 中的过程。第一次读取某个块时,将其从磁盘读取到存储控制器内存中,这些读取事件属于随机读取或顺序读取。当这些随机块超出控制器内存的保留期限时就会写入 SSD。然后从 SSD 执行同一块的顺序读取。 对于写入,Data ONTAP 在设计中进行了写入优化。它使用高效的 NVRAM 记录传入的写入请求,以便立即向写入程序确认这些请求。这些写入将被收集起来并尽可能写入磁盘中的完整条带,通过将一系列写入操作转变成顺序写入活动,推动从底层 RAID 实施和 HDD 中实现最佳性能。 闪存池的目的是减轻 HDD 的 I/O 负担,同时将可能会重新读取或重新写入的块存储到 SSD 中。HDD 会高效地处理大型顺序写入。将其存储在 SSD 中不能达到最佳资源利用效果。随机写入数据(尤其是重复覆盖的块)是要存储到闪存池 SSD 中的理想候选数据。闪存池将以可能会重复读取的块和重复写入的块填充 SSD。 收到写入请求后,Data ONTAP 将验证写入是否为随机写入(非顺序写入),并且之前向同一块位置的写入操作也属于随机写入。如果确实如此,则该写入将转到 SSD。 如何从闪存池中逐出块 Data ONTAP® 技术通过热图(存储在 SSD 中以确保持久性)跟踪每个块"热"的程度。读取数据进入闪存池时属于"中性"。后续读取会将块的温度提升到"温",然后再到"热"。写入数据进入闪存池时也属于"中性",但是后续覆盖不会提升块的温度。 当 SSD 可用空间不足时,Data ONTAP 开始运行驱逐扫描程序,降低每个通道上每个块的温度。例如,"热"块变为"温","温"块变为"中性","中性"块变为"冷"。如果某个块在扫描程序通道之间读取或覆盖,则其温度将再次提升,"热"仍然是读取数据的最高温度,"中性"是覆盖数据的最高温度。如果未读取或覆盖某个"冷"块,则会在下一个扫描程序通道上将其温度降至"驱逐"的程度。此时将逐出"读取"块,而计划将覆盖块写入 HDD。 采用这种机制,当闪存池容量占满时,其中只存储热数据。闪存池通过动态调整来保留热数据,闪存池容量专用于读取与覆盖的比率只取决于使用池的工作负载的具体情况。 图 2) 根据热图从闪存池中逐出块。闪存池一占满,驱逐扫描程序会降低每个通道上每个块的"温度"。一旦达到驱逐温度,块就将被逐出。在扫描程序通道之间访问会提升块的温度,所以"热"数据保留在闪存池中。 闪存池性能 尽管 NetApp 尚未发布关于采用闪存池技术的任何基准,但是已使用 OLTP 工作负载进行了一些前后对比研究,来说明潜在的影响。从同一 FAS6210 基础配置开始,我们实施了闪存池,在一种情况下降低了每 IOPS 成本,在另一种情况下降低了每 GB 存储成本。结果如图 3 中所示。请注意,在这两种情况下,总体延迟都显著降低。在许多情况下,这一因素对觉察到的性能的影响可能比总 IOPS 要大。 图 3) 闪存池对成本效益和性能的影响。 表 1) 闪存池要求和选项。
要了解有关部署和使用 NetApp 闪存池技术的更多信息,请参阅 NetApp TR-4070:《闪存池设计和实施指南》。 Flash Accel NetApp Flash Accel 软件于 2012 年 8 月发布,将于 2012 年年底面市。Flash Accel 旨在将 NetApp VST 的优势通过网络扩展到包含服务器本身。服务器上有本地闪存设备意味着您部署了必须管理的直连存储。这样会带来与数据保护和数据孤岛隔离相关的潜在问题。利用 Flash Accel 的服务器缓存可消除这些问题,并带来诸多优势。
第一个版本的 Flash Accel 仅支持 VMware® vSphere® 5.0 或更高版本和 Windows® VM。将来的版本会将支持范围扩展到包含其他 VM、其他虚拟机管理程序和裸机。 Flash Accel 工作原理 Flash Accel 由以下三个组件构成: NetApp vCenter VSC 插件。Flash Accel 的配置和管理要使用 NetApp 虚拟存储控制台 (VSC) 插件(在 VMware vCenter™ 中运行)来完成。借助该插件,您可以:
Flash Accel 虚拟机管理程序插件(安装在 ESX 主机上)。虚拟机管理程序插件安装在 ESX 主机上,可根据使用 VSC 定义的配置,建立对本地连接的设备(例如 SSD)和存储阵列路径的控制。该插件可创建逻辑设备,并将其作为 SCSI 设备呈现给 ESX 存储堆栈。借助在 WWN 相同的多个 ESX 主机上创建的逻辑设备,ESX 可将设备当作共享设备,这样使用这些设备的 VM 便可参与 vMotion® 和 VMware HA 的操作。除能够迁移 VM 之外,借助虚拟机管理程序插件还可对闪存设备进行管理,并实现动态资源共享和缓存块重复数据删除。 Windows VM 中的 Flash Accel 代理。为 Windows 来宾 VM 实施了用户级别的代理。该代理能够:
该服务代理将 Web 服务导出到 VSC,并通过 Windows PowerShell™ cmdlet 与驱动器进行通信。 图 4) Flash Accel 包含在每个 VM 中运行的代理和 VMware vSphere 插件,通过在 vCenter 中运行的 NetApp VSC 进行控制。它可使用 ESX 主机上的所有 PCI-e 闪存卡或 SSD。 如图 4 中所示,Flash Accel 使用 ESX 服务器上的本地闪存资源为 Windows 虚拟机提供缓存层。闪存设备可在 ESX 主机上的多个 VM 之间共享,为每个 VM 提供自己的本地缓存。 VM 的所有读取都在本地进行缓存以便重复使用,从而减轻后端存储将来的读取负担。写入数据一直写入到后端存储,但是可从缓存进行重新读取。 Flash Accel 缓存有两个关键部分:缓存操作和存储管理器。
数据一致性是 Flash Accel 最重要的特性。如果后端数据进行了更改而未通知 Flash Accel,则缓存数据和后端存储数据可能会不同步。这样会造成不正确的数据从缓存返回应用程序或最终用户,导致数据损坏。在两种情况下数据一致性会成为问题。
在这种情况下,Flash Accel 的优势是仅使已更改的块失效,而保留所有未更改的块。发生此类情况时,其他可用的解决方案完全丢弃缓存的所有数据,然后"重新加热"整个缓存。根据数据的不同,该过程可能需要数小时甚至数天才能完成,在此期间性能有所下降。 Flash Accel 性能 我们使用 JetStress 模拟 Microsoft® Exchange 产生的磁盘 I/O 负载,比较了启用与未启用 Flash Accel 的同一配置的性能。启用 Flash Accel 后,读取和写入操作的 I/O 性能都提高了大约 77%。由于应用程序读取主要由 Flash Accel 完成,因此读取占用的后端存储较少,因而能够实现较高的写入性能,从整体上显著提高应用程序性能。结果如图 5 中所示。 图 5) 在使用 JetStress 模拟 Exchange 工作负载的情况下,Flash Accel 将读取和写入 I/O 性能提高了大约 77%。 选择 VST 选项 选择一个或多个最佳 VST 级别其实就是以最低的成本加快处理所有需要加速处理的工作负载,从闪存投资中获得最大回报。
换句话说,在共享存储基础架构内,在服务器级别工作负载专一性最高,在控制器级别最低。如果需要加快处理一种工作负载,服务器级别的 VST 是理想选择。如果需要加快处理所有工作负载(可能从性能导向型磁盘改为容量导向型磁盘),应选择磁盘子系统级别或控制器级别。 对于新部署,建议首先采用闪存或闪存池技术,然后根据需要添加 Flash Accel,进一步提高对延迟最为敏感的应用程序的性能。 关于如何在闪存和闪存池之间进行选择,以下几点总结了两者的相似之处和不同之处。
一般而言,闪存池是业务关键型应用程序的理想选择,因为接管事件过后优势持续存在。闪存池也非常适合覆盖率较高的应用程序,并且是唯一一个可在 FAS2200 系列上使用的选项。由于闪存接近主内存,因此会给高性能文件服务带来优势。 尽管可将闪存池和闪存安装在同一存储系统上,但通常这样做的优势并不明显。启用了闪存池的聚合中的数据块绝不会缓存到闪存中。 结论 随着 VST 中闪存池和 Flash Accel 这两项技术的引进,NetApp 为您使用闪存优化 I/O 性能提供了两种新方法。作为一般准则,最好记住以下几点:
您可将多个级别相结合来优化总体性能,同时最大限度地减少投资。无论您选择哪个选项,安装 VST 后一切都几乎无需管理。您可根据需要对部署进行微调,但是大多数情况下默认设置效果非常不错,优势十分明显而且可以衡量。 Tech OnTap 访问 NetApp 社区中的 Tech OnTap,立即订阅。 | ![]() ![]() ![]() |
![]() | ![]() |
联系我们 | 如何购买 | 反馈 | 招聘 | 订阅 | 隐私政策 | © 2012 NetApp |