【IT168 评论】就像我们在最近一期的《存储时间》视频节目——“SSD抢滩服务器,软件应用破困局?”中提到的那样,包括PCIe形式在内以闪存为介质的固态盘、还有相关的缓存软件等优化使用方式开始受到各存储厂商的重视,成为这段时间的关注焦点之一。
记得笔者曾在去年介绍过LSI MegaRAID系列控制卡的高级软件选项,其中包括一款CacheCade SSD缓存加速软件。本月LSI推出了新版本的CacheCade Pro 2.0,主要变化之处就是增加了写缓存功能(之前的CacheCade 1.x只支持将固态盘作为读缓存使用)。
“通过将少量的SSD与CacheCade Pro 2.0读写高速缓存软件相结合来大幅增强读写IOPS性能,降低了基于服务器的硬盘驱动器 (HDD) 卷的数据访问延迟瓶颈。”
下面我们先来看看LSI列出的CacheCade Pro 2.0主要特性:
加快热数据读写传输,提高大多数实际运行的应用程序性能
极大缩短IO密集型应用程序中的延迟
与增加短行程(短击)驱动器和不必要的容量相比,使用更少的空间和电能
与在存储阵列中的全部使用SSD存储卷相比,性价比更高
由非易失性CacheCade高速缓存池 (RAID 0, 1, 10) 保证的高速缓存写入数据以及由RAID数据冗余保证的数据可用性
– 即将推出的版本中的RAID 5(仅限9265 系列)
写入高速缓存被保护,之后在重新引导或开机时被刷新到HDD卷
在小块、随机读写密集型环境中显著地减少延迟
可简单、直观地将VD分配到CacheCade池
在“MegaRAID如虎添翼:LSI推高级软件和600系列JBOD”一文中,我们曾经向LSI公司全球渠道伙伴营销推广高级经理Suresh Panikar先生提出过这样一个问题:“MegaRAID CacheCade的高速缓存池中最多支持32个SSD和512GB的容量,而且它们之间只支持RAID 0的方式,如果CacheCade使用的SSD数量较多时,其中一个损坏将导致整个缓存池中的数据丢失,这样会不会在一定时间内导致应用性能的大幅下降?”
如今CacheCade Pro 2.0已经不仅是作为读缓存来使用了,因此对SSD高速缓存加入RAID 1, 10支持是非常有必要的。如果还是RAID 0的方式,因为单个SSD损坏而丢失写缓存数据,就不只是影响性能那么简单的问题了。
CacheCade Pro 2.0软件智能地将热数据复制到低延迟、冗余的SSD高速缓存中。
上面是CacheCade Pro 2.0的工作原理图,举例用4块SSD RAID 10的镜像组成高速缓存池。其中访问频率较高的小数据块(热数据)随机读写操作,可以通过SSD来缓存加速;而访问频率不高的“冷数据”IO仍然是RAID卡直接到HDD硬盘组成的阵列。
后面一页,我们将列出LSI公布的一些CacheCade性能测试数据(参考),同时进行简单的分析,希望能够帮助大家更好的理解SSD缓存软件的价值所在。
CacheCade Pro 2.0带来的性能提升
上图中的蓝色和橙色的柱形,分别代表使用CacheCade 1.1/Pro 2.0版本SSD缓存软件在传统HDD阵列基础上带来的性能提升。
从CacheCade 1.1到CacheCade Pro 2.0,在不同类型应用中的性能提升幅度也不一样。比如“Neoload”Web服务器仿真测试是比较典型的随机读I/O密集型应用,CacheCade Pro 2.0增加了写缓存之后,在原有374%提升幅度基础上进一步增至533%;运行微软SQL Server数据库的TPC-E和MySQL数据库的SysBench测试都属于OLTP(在线交易型)应用,但可以明显看出它们的读/写操作所占比例不同;而测试Exchange Server邮件服务器存储性能的Jetstress 2010,在CacheCade 1.1读缓存加速时只有5%性能提升,而到了现在的Pro 2.0就一下上升到163%。
MySQL基准测试
MySQL基准测试:频繁访问数据区域约为85GB的200 GB MySQL数据库应用程序在纯硬盘驱动器配置中最多支持每秒处理70个事务,而采用CacheCade Pro 2.0读写高速缓存软件的解决方案,将每秒处理事务数提高了3.5 倍以上。
ZDNet说明:以上测试图表中CacheCade Pro 2.0缓存池使用的是Intel X25-E 32GB企业级SSD,横坐标从左到右分别为只有HDD机械硬盘、2块SSD RAID1 WriteBack(写回式缓存)、4块SSD RAID1(10) WriteBack、6块SSD RAID1(10) WriteBack和8块SSD RAID1(10) WriteBack。
这个和前面是同一个测试,不过对比的数字变成了“平均响应时间(ms)”,当然CacheCade Pro 2.0缓存池中的SSD越多,缩减的效果就越好。
Oracle OLTP基准测试
Oracle数据库基准测试显示了与全HDD基准相比,使用CacheCade Pro 2.0软件并仅配合一个32 GB Intel X25-E SATA SSD将事务处理性能提高了5倍以上。300个用户负载基准测试还说明了CacheCade 软件如何极大地缩短了用户查询响应时间。
ZDNet说明:如果使用CacheCade Pro 2.0软件的读/写缓存功能,强烈建议对缓存池中的SSD进行RAID 1(10)保护,这样做的重要性在上文中已经解释过。
SQL 基准测试(横坐标从0~4逐个增加SSD数量)
Microsoft SQL OLTP数据库基准测试显示了使用CacheCade Pro 2.0软件及64GB Intel X25-E SATA SSD将事务处理性能提高了13倍以上。
ZDNet说明:“tpsE”即TPC-E测试模型中每秒处理的交易数,越大越好。笔者在此说明一点:对比不同的TPC-E等成绩时应考虑运行环境,如果测试服务器的内存容量足够大,部分甚至全部数据I/O都能在内存中进行(就像现在SAP宣传的内存计算那样)的话,这种情况下性能瓶颈显然不在硬盘(或SSD)存储子系统。
关于TPC-E基准评测:TPC-E的测量对象
TPC Benchmark E (TPC-E) 是一项由TPC全新开发的在线事务处理(OLTP)工作负载。TPC-E基准评测模拟了一家经纪公司的OLTP工作负载。该基准评测重点关注执行与公司客户账户相关的交易的中央数据库。尽管TPC-E的基本业务模型反映的是一家经纪公司,但是其数据库方案、数据规模、交易和实施规则经过专门的设计,能够广泛反映现代化OLTP系统的真实情况。如欲了解详情、请访问:http://www.tpc.org/tpce/spec/TPCEDetailed.doc。
电子邮件服务器基准测试
JetStress 基准测试结果显示了Exchange服务器如何可以从CacheCade Pro 2.0及32GB Intel X25-E SATA SSD中获益 -- 每秒事务数提高了2.6倍。
最后一页,我们再来看一下CacheCade缓存软件对不同系列LSI MegaRAID控制卡的支持情况,能否从之前的1.0版本升级到Pro 2.0?以及关于CacheCade的更多设想。
CacheCade RAID卡兼容性、从1.0升级Pro 2.0
上面是我们从LSI文档中的截图,可以看出CacheCade Pro 2.0 SSD读/写缓存软件目前能够支持MegaRAID 9260/9280系列控制卡,而MegaRAID 9265/9285暂时只能支持读缓存(CacheCade 1.x)。
不过LSI也表示未来版本中将支持MegaRAID SAS 9265系列控制器,而且在本文开头处的CacheCade Pro 2.0主要特性中“即将推出的版本中的RAID 5(仅限9265 系列)”,应该意味着CacheCade Pro 2.x会支持9265,并提供SSD缓存池的RAID 5功能。虽然RAID 5在空间利用率上占有优势,但笔者认为其写入数据(尤其是直接到驱动器的随机写)时额外增加的I/O操作可能对SSD寿命产生影响,因此RAID 1(10)还会是主流用户的选择。
此外,根据LSI的说法,已经购买CacheCade 1.x高级软件的MegaRAID用户可以免费升级到2.0。这里还涉及到硬件Key和软件License两种不同的授权方式,虽然升级的途径不完全一样,但更新支持CacheCade Pro 2.0的固件版本(Firmware)和MegaRAID Storage Manager管理软件都是需要的。
关于CacheCade SSD缓存的更多设想
如果说笔者对未来的LSI CacheCade软件功能有什么更多的期望?CacheCade Pro 2.0可能还存在什么局限?那就是像Fusion-io directCache、STEC EnhanceIO SSD Cache Software这些企业级SSD厂商推出的固态盘缓存软件,能够支持为各种类型的块存储设备(包括DAS/SAN)进行缓存加速,而LSI CacheCade仍然只是针对MegaRAID控制卡本身连接的HDD阵列。
不过一分钱一分货,LSI MegaRAID CacheCade Pro 2.0目前的定价是270美元,也就是说在RAID卡基础上只需增加这些成本(当然还要买SSD驱动器)。
上图为Marvell DragonFly缓存加速DAS(直连存储)的应用方式,作为Cache用途的SSD连接至DragonFly PCIe控制卡,被加速的HDD可以连接在同一块卡的miniSAS接口上(类似于LSI CacheCade和Adaptec MaxIQ),但应该也可以由其它的RAID卡控制。而在用于NAS/SAN缓存的方式中,最多可以使用8个SATA或者SAS 6Gb/s SSD作为缓存池。
Marvell DragonFly VSA方案在硬件形式上与LSI CacheCade比较接近,根据资料,它除了针对DAS的缓存用途之外,还能够支持NAS/SAN以及更多的高级功能。当然我们对Marvell DragonFly还缺乏更多实际销售/应用情况的了解。
笔者曾这样设想:如果LSI当初没有把Engenio外部存储业务卖给NetApp的话,或许他们可以将CacheCade软件与共享式磁盘阵列结合在一起,就像EMC的准备推出的Project Lightning(闪电计划)和NetApp的Mercury计划那样吧?当然这些在今天仅仅只是一种假设了…