- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
NetApp V 系列与TMS RamSan-500 联合方案:无以伦比的存储性能
• 使用基于闪存的读缓存
• 支持第三方闪存阵列
• 将固态磁盘(SSD)与NetApp® 磁盘架整合
NetApp 白皮书《企业级存储的闪存技术》(Flash Memory Technology in Enterprise Storage)详细阐述了上述方法。2009 年,NetApp 将开始支持这一策略。基于 DRAM 的性能加速模块(Performance Acceleration Module,简称 PAM)作为与基于闪存的缓存类似产品的先驱,已于 2008 年开始出售。你可以阅读 Tech OnTap 文章《无需添加磁盘便可提升性能》(Boost Performance Without Adding Drives)了解更多有关 PAM 的信息。
2009 年 2 月 3 日,NetApp 宣布支持Texas Memory Systems (简称 TMS)公司RamSan-500 固态磁盘阵列,并将 NetApp V 系列开放存储控制器与之整合。这一解决方案显著提高了原始性能和性价比。原始性能在存储访问上具有无与伦比的低延迟(约一毫秒)以及非常高的 I/O 吞吐量。性价比方面,与具有相同性能的磁盘解决方案相比,这一解决方案可以以更低的成本实现相同的 IOPS(I/0 operations per second,简称IOPS,即每秒I/O操作次数),降低了碳排放量。
延迟时间通常是评估关键业务流程、分析和交互应用等的性能的唯一重要决定因素。存储延迟往往会导致 IT 环境中架构、设计和部署方面的变化。
本文描述了这一全新解决方案所包含的各种因素,列举了可能带来的潜在性能优势,并提出了一些建议,帮助你判断你的应用是否可以从这一解决方案中获益。
V系列/RamSan 解决方案
V系列/RamSan 解决方案整合了 NetApp V3170 开放存储控制器与 TMS RamSan-500。RamSan-500 是一个基于闪存的企业级 RAID 阵列,具有最佳性能和可靠性。这一整合的解决方案为那些对延迟时间、操作成本、数据中心空间有很高要求的应用创建了一个理想的存储解决方案。
TMS 解决方案是一款成熟的、业经企业验证的产品,一直以来具备高性能和块级存储的能力。通过整合 NetApp 数据保护、数据管理和存储效率等特点,TMS RamSan-500 的原始速度和高可靠性成就了一款灵活的高性能解决方案。
RamSan-500 提供 1-2 TB (可用容量)闪存,并置于 RAID 保护的热插拔模块中,具有紧凑的4U 机柜。ECC 内存、负载平衡和坏块的消除增强了每个模块的可靠性。使用电池的 DDR RAM 缓存(16-64GB)加速了数据的访问,避免了少量随机数据的访问。RamSan 为 LUN提供了光纤通道协议(Fibre Channel Protocol,简称 FCP)块级界面。一个单独的 RamSan-500 随机IOPS可以持续在 100,000 次。响应时间只需 1 毫秒。
V3170/RamSan 解决方案由 NetApp 磁盘导入,并在 RamSan 内为用户数据存储空间。目前,一个单独或集群的 V3170 控制器可支持两个 RamSan-500 阵列。今后,如果进行额外测试,可根据需要支持更大的配置。
NetApp V 系列控制器允许你立即通过 NetApp 数据管理和存储效率能力用于存储在 RamSan 中的数据。V3170 将配置于 RamSan 的 LUN 整合到一起,就像任何第三方阵列一样。因此,你能立即创建灵活的卷(FlexVol® 卷),并在任何 NAS 或 SAN 支持协议下使用这些卷。任何 NetApp FAS 或 V系列系统都具有Snapshot™、FlexClone®、 SnapMirror®、自动精简配置、重复数据删除和其它 NetApp 技术。因此这些技术同样可以用于 RamSan。
V3170/RamSan 的性能
我们对 V3170/RamSan 整合解决方案同配置了 15K RPM 光纤磁盘的V3170 进行了简单的性能比较。这里有两个假设条件:
• 容量相同
• 吞吐量(IOPS)相同
工作负载为通过使用 NetApp I/O 负载生成器SIO (Simulated I/O),生成 1TB+ 工作集上由随机4K I/O 组成的一个简单70/30读/写组合。下表为具有 2TB 闪存的 V3170/RamSan 和 2TB 磁盘的 V3170 的比较结果。
表格1) 容量相同的 V3170/RamSan 和 V3170 的比较结果
这两个解决方案提供的容量相似,但IOPS及延迟性能却明显不同。在磁盘解决方案中,正如在IOPS中测试过的那样,卷轴的数量直接决定了I/O性能。
第二个例子将 V 系列/RamSan 与一个能够支持同样数量的IOPS的V系列/磁盘配置进行了对比。
表格2)V3170/RamSan 与 V3170/15K RPM FC 磁盘(在IOPS方面有相当的吞吐量)比较
在第一个对比中(表格1)),一个具有相似容量的磁盘配置只能产生大约7%的吞吐量(在IOPS方面),而延迟则是级数递减。在表格2)中,它用了27TB的磁盘容量(14个磁盘架)去产生同样数量的IOPS,但是由于受到内置于磁盘驱动器里的物理限制,众多的磁盘并没有对延迟改善产生帮助。这很好地描述了具有许多高性能数据库应用的情形。许多卷轴(对空间、能耗及制冷具有相应的需求)必须被部署以提供必要的I/O 吞吐量——即使当容量并不必需的时候。
这告诉我们,对于在吞吐量和/或延迟方面具有限制性的应用来说,RamSan 能带来明显的优势。本文稍后将讨论如何区分你的应用是否在I/O方面受到限制。
哪些应用能从 V 系列 RamSan 联合解决方案中获益?
你很可能已经开始猜测,V系列 RamSan联合解决方案所带来的更少的延迟以及更显著的吞吐量将使哪些应用因此受益?
总体来说,那些具有随机I/O工作负载的应用将从使用闪存设备中受益,而那些具有连续工作负载的应用则不会。联机事务处理(简称OLTP)与其它的数据库应用很明显也是合适的候选者。如果一个完整的数据库适合RamSan存储容量,那么它将立即从这一解决方案的延迟和吞吐量方面得到帮助。对于更大的数据库,通过仅仅将诸如事务日志、索引及临时空间之类的热文件存储在RamSan上,并将该数据库的其它部分放在硬盘驱动器里,你就能够利用RamSan 去改善延迟。
通常,只要整个数据集或活跃数据集适合RamSan 内存的任何应用都可能是一个好的候选,特别是当那个数据集能够被并行工作的多个服务器访问的时候。在电脑动画中使用的渲染集群都是很好的例子。当然,问题的关键在于磁盘I/O 在应用性能方面是不是限定因素。
你的应用 I/O 是否受限?
谈到改善应用性能,存储经常是性能链上最后一个被调查的环节。
图1) 改善应用性能的典型方法
这部分地是因为理解I/O性能的那些方法并没有被广泛理解。不过,现在有许多操作系统级、存储系统级和应用级的 I/O 性能分析工具能够帮助你查出可能的I/O 难题。
供研究I/O使用的操作系统级工具
对于UNIX®和Linux®操作系统来说,许多性能分析工具如Top、iostat和sar(系统活动报告人)能帮助你了解I/O对你的服务器的潜在影响。如果该服务器是(或可能)专用于单一的有趣应用,那么这些统计数据就是有用的。例如,Linux系统上的iostat命令显示"%iowait", 即该系统等待I/O所花费时间的百分比。(系统执行这个命令时仅显示了一个单一时间点。)
对于Microsoft® 的Windows®来说,最佳系统性能分析工具是性能监测器。遗憾的是,性能监视器不能提供明确的I / O等待时间统计数据。然而,它能提供包括实时处理器的性能水平和磁盘队列统计数据。"处理器:处理器时间百分比"测量出处理器所做的实际工作, 而"平均磁盘队列长度"显示了I / O操作进程的数量。如果一个承担了太多事务处理的系统显示出很高的磁盘队列水平,而"处理器时间百分比"恰巧在100% 以下,你就可以假定服务器I/O等待时间是长的。
存储系统工具
如果你使用的是智能后端存储系统,它也许能提供关于I/O的额外信息。例如,通过使用NetApp Operations Manager,你能以图表的方式清晰地看到包括卷延迟、每秒操作等在内的各种存储衡量标准。通过专注于特定应用使用的卷,你可以分辨出这些卷是否正在承担过多事务处理以及/或者高度延迟。
你可以从之前发表的Tech OnTap 文章《监测、解决问题、提高NetApp存储性能》 (Monitor, Troubleshoot, and Improve NetApp Storage Performance)和NetApp技术报告3525《存储性能管理》(Storage Performance Management)中看到更多关于如何使用这些NetApp工具的内容。
应用工具
对于最可能的应用特征来说,你需要嵌入在应用中的I/O工具来告诉你到底该应用是如何使用其时间的。许多流行的数据库和业务应用包含了这类的工具。例如,Oracle配备Statspack功能来监测数据库性能。在Oracle10g™中, Oracle推出了AWR (Automatic Workload Repository)和ADDM (Automatic Database Diagnostic Monitor)一起作为其Enterprise Manager Tool的额外成本选项。
Statspack报告包含了"最常见的5个定时活动"一节,指出首先你会渴望了解你的数据库是否在I/O约束范围内。(见图2))
图2)Oracle Statspack报告的部分内容,显示了最常见的5个定时活动(15分钟间隔)
回顾该例子的结果,非常明显,在该间隔期间内数据库花费了83% 的总运行时间的用来读取。将等待的总时间分解成以秒计的时间,将得出每次等待需要5.25毫秒的平均延迟时间。尽管这样的延迟时间还算不错,但要使这个数据库得到明显的性能提升还需要进一步削减延迟时间。为此,将V系列和RamSan结合将是一个完美的解决方案。你可以从Texas Memory Systems最新的一份白皮书《以固态硬盘加速Oracle性能》(Faster Oracle Performance with Solid State Disks)中了解到更多的关于Oracle® I/O的性能表现。
最终部署案例:融合RamSan的FlexCache
与任何大型存储的部署一样,融合TMS RamSan 的NetApp V3170是一项重大的投资,特别是如果你将该投资用来加速一个单一应用。针对基于NFS的环境的一个替代方法就是使用NetApp FlexCache软件创建一个缓存架构来部署该解决方案。
在缓存架构下,一个快速的存储缓存逻辑地存在于主存储系统和计算服务器或桌面客户端之间。一旦数据被读取,会自动被拷贝进这个缓存层;随后的读取来自缓存而不是原来的存储系统。借助NetApp V系列和TMS RamSan投资集中缓存层,你可以在多存储系统和应用方面利用这笔投资。当然你也可以在你的主存储中配置更经济、高容量的磁盘驱动器而不会影响性能。因为热数据会自动被缓存,所以无需手动的数据管理或迁移软件。
图3)一个FlexCache架构显示V3170/RamSan作为高性能缓存层在使用
这种方式已证明可为加速并行软件构建以及诸如动画渲染、电子设计自动化、地震分析和模拟金融市场等计算密集型应用带来显著提升。任何通过多计算服务器并行读取相同数据的应用都可以从中受益。
结论
如果你使用的应用受到I/O的限制或者其中硬盘延迟时间已成为制约因素的话,NetApp V3170和TMS RamSan-500的联合解决方案可以通过一个级数 (从10毫秒到1毫秒)来减少延迟时间,并保证达到50,000 的IOPS。