服务器虚拟化是在数据中心部署新的应用程序时所普遍采取的较为实际的方法。虚拟机必须存储在基础设施的某个地方,通常是通过使用外部和内部存储硬件的组合来实现的。
但是,鉴于现如今存储产品的选择比以往任何时候都多,而且这些来自不同供应商的存储产品还各自有着一系列令人眼花缭乱的特性和功能。因而,做出正确的存储产品选择需要取决于您企业工作负载的具体需求,以确保您企业典型的存储问题能够成功得到缓解。
在虚拟服务器和桌面平台领域,最为突出的前五大存储问题包括:
虚拟机蔓延(VM sprawl):较之过去采购、部署和调试物理服务器所需花费的时间和精力而言,虚拟机能够相对很容易的创建。能够按需增加虚拟机,提高了企业业务的灵活敏捷性,但这是在价格上实现的。孤立的虚拟机(与虚拟机管理程序无关),或是不再使用的虚拟机(无论是被接通电源却什么也不做的所谓的“僵尸”机器,或是关闭的和未使用的机器)消耗存储资源是很容易的。
效率:如果缺乏精心的管理,虚拟机存储资源可以不受控制地肆意生长。人们总会有为每台虚拟机部署尽可能多的存储容量的愿望,因为这样做可以减少未来需要调整虚拟机的可能性(具备潜在的影响)。但是,使用模板部署的危险在于过度分配的资源最终会落得从未被使用。
性能:较之物理服务器的部署,虚拟化逆转了LUN(逻辑单元号,logical unit number)的作用。其中每台服务器将接收一个或多个LUN,虚拟化将产生较大的LUN,并用它们来存储多台虚拟机。VM存储工作负载在LUN层面,因此在性质上通常是随机的,因为跨多台活跃的共享相同物理存储的虚拟机预测I/O活动是不可能。这个问题在VDI(虚拟桌面基础设施)的环境中尤为普遍,能够在I/O中看到非常高的峰值(例如,所谓的“启动风暴”)。
成本:多年来,存储成本(每千兆字节)一直在不断下降。然而,这仅仅适用于基于磁盘的系统,特别是那些使用大容量驱动设备的系统。较之磁盘,闪存存储肯定是不便宜的,虽然我们已经看到混合系统已经开始将成本推向1美元/千兆字节。成本是虚拟机部署的一个重要因素,因此,为存储选择合适的成本/性能配置是必不可少的。
数据保护:虚拟机需要被保护,但传统的备份/恢复方法不能满足虚拟环境的需求。硬件的整合在虚拟化环境形成了节约成本的基础意味着在每台虚拟机部署代理均需要进行备份,而这恰恰不是一个可行的解决方案。困难在于需要确保虚拟机和应用程序的备份都是一致的,而不影响虚拟机的性能/可用性,并同时提供全面细化的文件或应用程序数据访问。
因此,以上这些是在设计存储和虚拟化时企业所面临的主要问题,但我们如何应对呢?有没有什么类似于“灵丹妙药”的解决方案,能够有针对性的解决每个问题呢;或者说是否能够通过实施一套有效的实践方案,并通过借助一系列的硬件和软件解决方案来搞定呢。
虚拟机蔓延:解决孤立和僵尸/未使用的虚拟机的最佳做法在于虚拟机的跟踪和管理。孤立的虚拟机可以通过使用脚本提取VM列表,并将其与在磁盘上的虚拟机文档结构进行比较来识别和跟踪。对于VMware ESXi,这意味着查看VMX和VMDK文档;而对于微软Hyper-V,这意味着需要查看VHD和VHDX文件以及定义一台虚拟机的XML文件。
有了合理的命名标准和所有权的详细信息,僵尸/无效的虚拟机可以追溯到其所有者,并验证该虚拟机是否仍然需要。VMware vSphere和Hyper-V均提供对于简单脚本的PowerShell(及其他)工具包的支持;这两款平台均能够提供详细信息的补充说明,如虚拟机的所有权信息。
效率:有许多可以用来实现存储效率的措施,包括使用自动精简配置(包括在管理程序和外部存储上),压缩和重复数据删除技术。存储容量可以通过使用链接的克隆被优化,其维持了虚拟机主图像与克隆所产生的增量之间的差异。
使用所有这些技术可以带来明显的成本节约,其中虚拟机是基于相同或非常相似的图像来制备。使用精简配置时必须非常小心,以确保虚拟机内的正常创建/删除的数据不会消耗在逻辑上由虚拟机释放的物理资源。这意味着需要运行清理任务,例如“sdelete”(偶尔整理)收回所谓的“死角”。
性能:性能问题可以通过一系列的技术来解决。诸如PernixData公司的FVP、Infinio公司的加速器和Atlantis Computing的USX等软件产品都通过在服务器中采用本地DRAM缓存和Flash闪存让I/O接近CPU。这些加速产品减少了I/O延迟,提高了性能,尤其是具有高水平的冗余数据的环境,可重复数据删除。性能可以通过将虚拟机部署到混合系统和全闪存解决方案得以改进,如借助Tegile和Pure Storage的产品。
成本:全闪存解决方案肯定会改善I/O性能,但较之基于磁盘的系统,会付出了相当的代价。大多数虚拟环境都是活跃和非活跃虚拟机的混合搭配,所以闪存可能适用于虚拟机应用程序工作负载的一小部分。内置的虚拟机管理程序工具,如存储IO控制和SDRS,可以部分地被用来帮助虚拟机分配到最合适的位置。然而,这些工具受到使用范围的限制。作为替代方案,诸如VMTurbo的操作管理器软件等解决方案可用于检查和优化虚拟环境下所有资源的使用,而不仅仅是存储。
数据保护:在虚拟环境中,确保备份的传统方式是通过使用快照,无论是在虚拟机管理程序或存储阵列的水平。此技术的问题在于快照图像的一致性。虚拟机管理程序的VADP等功能提供了一致的快照,但在虚拟机管理程序创建快照会影响虚拟机的性能。
诸如Veeam的备份和复制工具以及惠普的StoreOnce RMC能够在系统管理程序和存储之间同步快照过程,采用与物理阵列的性能管理程序一致性来实现快照对生产工作负载的最小的影响。在采用RMC的情况下,该设施也可以用作为一种能够以测试/开发为目的产生虚拟图像的工具。
虽然我们在上文中强调了一些用以虚拟机的存储问题的比较明显的解决方案,也市场上也有其他的相关产品:
可感知虚拟机的存储技术(VM-aware storage)–诸如Tintri的VMstore等产品能够感知一台虚拟机的文件组成,可以满足应用程序的性能和容量要求。
服务器端存储–这包括来自VMware的VSAN以及其他产品,如Maxta MXSP和Springpath HALO,提供在虚拟机基础设施内的虚拟存储设备。
VVOLs - 对于VMware vSphere,供应商已经开始引入VVOLs支持了,其将虚拟机文件封装到一个单一的实体。这将为个别虚拟机和卸载到外部阵列的管理提供应用服务水平的能力(性能,容量)。