当你想到服务器虚拟化时,你可能会想到大的物理主机和强大的轻量级系统管理软件。但不太明显的却是NAND闪存技术在服务器虚拟化中扮演的关键角色。
这变得越来越明显,就像热狗上的芥末,小小的闪存可以让虚拟化好得多。或者,如企业策略集团分析师马克·彼得斯更加清楚地指出,“少量使用固态存储的明智决定可以提高性能。”
由于固态存储设备的性能远远超过了一个个磁盘,你会觉得更多地使用固态存储会更有意义。也就是说,全是芥末,没有热狗。
但这么做的意义真的不大,彼得斯认为,“除非或等到所有存储设备都一个价,或者免费。”
本质上,只需要固态存储的虚拟化应用是端点解,用经济学术语来讲。这些应用确实存在,但更有可能情况是依照价格,性能等等的最佳解决方案会是这两者的平衡点。
亚马逊显然认为,公共云计算的数据库需要端点解,其EC2服务现正提供一个高输入/输出的四倍超大(hi1.4xlarge)虚拟机实例类型。虽然这一开始听起来像是“查理和巧克力工厂”里的某种糖果吧,hi1.4xlarge实际上是一个配有两个1TB固态硬盘的EC2实例。
在4k随机读取方面,hi1.4xlarge在使用准虚拟化的虚拟机时提供了120,000的IOPS,使用标准虚拟机时为90,000。“使用15000转磁盘你最好也就能看到超过100多一点的IOPS”,亚马逊首席技术官沃纳·威格尔说。“尽管总存储的角度看,固态硬盘仍然比较昂贵,但从IOPS的角度,它们是更加具有成本效益解决方案。”
抛开端点解,服务器虚拟化是如此常见这意味着有很多虚拟主机想要通过连接某种形式的混合存储而获得更好的性能,而不是普通的光纤通道和SAS阵列。这就解释了之所以一些混合阵列存在的原因,而且也有助于揭示专用的混合存储设备和其他为虚拟化环境而优化的设备人气飙升的秘密。
混合存储设备,从对Tintri和Nutanix的喜爱把固态存储带到了物理主机上,在这里它们可以从固态存储上在必要时以高速储存和提供常用数据,而把其他的部分交给更廉价,低性能的硬盘驱动器。
这也解释了固态存储的巨大缓存在服务器虚拟化主机内部的作用。像OCZ,Fusion-io,EMC和LSI这样的公司正促进固态存储器的合理使用,通过PCIe接口直接与系统总线关联,同时利用它们专有的软件使闪存存储器可以被运行在主机上的所有虚拟机使用。
OCZ的软件叫作VXL,Fusion-io提供了io-Turbine,EMC有VFCache,LSI则出售其Nytro XD解决方案。这背后的想法都是一样的:通过让虚拟机与闪存缓存直接沟通,让闪存缓存以一种更加优化,连续的方式把数据写入外部存储系统,来加快应用程序性能并解除I/0瓶颈。
储存分级的想法本身并不是新的,但令人吃惊的是在使用服务器虚拟化技术的地方,使用闪存分级已变得司空见惯的程度的速度。一个原因是价格在近几年迅速降低,而与此同时存储性能问题已经变得越加紧迫。
闪存技术价格在接下来的一段时间会继续下降,而且随着缓存算法变得更加高效,看来我们越来越想把钱花在闪存上了。