改进虚拟服务器存储的10种方法
虚拟服务器存储操作可以对存储网络产生深远的影响。这里有10种方法可以帮助确保您的存储为它所支持的虚拟机产生最好的I/O。
虚拟服务器存储操作可以对存储网络产生深远的影响。这里有10种方法可以帮助确保您的存储为它所支持的虚拟机产生最好的I/O。
企业虚拟基础设施将始终使用共享存储。这是一个现实-如果你想使用VMware vSphere和Microsoft Hyper-V的高级功能,所有的主机将需要访问组成你的虚拟机的文件(虚拟机).虽然VMware VMotion和Microsoft Live Migration的最新版本不需要共享存储,但大多数特性,如VMware vSphere高可用性和Microsoft故障转移集群仍然需要共享存储(很可能永远都需要)。
为了让虚拟基础设施(和关键应用程序)运行良好,必须为它们提供虚拟CPU,虚拟内存和虚拟磁盘I / O他们渴望。随着虚拟机监控程序提供了更多可用的统计信息,监控工具也变得更加智能,对虚拟CPU和内存的监控变得更加容易。然而,在许多情况下,虚拟基础设施存储的性能监视仍然是一门艺术,而不是一门科学。当然,在存储性能方面有一些科学的统计数据可以分析,但不同之处在于存储位于hypervisor和物理服务器的外部,因此,系统管理程序(和虚拟化性能监视工具)通常不了解存储发生的情况(但这种情况正在快速变化)。
尽管如此,您可以采取许多步骤来提高虚拟服务器存储的性能。这里有10个提示,可以帮助您提高存储系统的性能,为您的虚拟机。
1.知道你的IOPS
优化虚拟服务器存储的科学,以其最简单的形式来说,就是“IOPS输入与IOPS输出”。一个LUN中的驱动器每秒可以提供一定数量的I/ o,服务器和存储之间的路径有特定的吞吐量,应用程序的需求是如此之大。而最简单的问题是“你有足够的还是需要更多?”答案并不总是那么容易。以下提示中描述的许多工具、技术和解决方案都可以帮助您获得更多的I/O容量或者寻找减少I/O需求的方法(通常是通过了解应用并与应用所有者或开发者合作)。
在虚拟基础架构中,理解vm和数据存储的典型I/O的最佳方法是使用特定于虚拟化的性能分析工具。几乎所有这些工具都能帮助你“了解IOPS”。这些工具可以包括在内VMware esxtop命令行工具, vCenter内部的性能图(IOPS表示为disk.numberRead.summation和disk.numberWrite.summation计数器)或来自第三方的商业工具。由于vCenter统计数据必须除以样本时间才能产生IOPS,因此计算IOPS的工作量会更大。第三方工具(甚至是VMware vCenter Operations Manager)的成本更高,但更容易使用,也更智能。
请注意,在下面列出的其他事项中,LUN配置和RAID选择也会对I/O性能产生巨大的影响。
2.知道你的应用程序
尽管存储和虚拟化管理员有许多工具可以帮助产生更多的I/O,但它们在减少I/O需求方面通常受到限制。而且,太多的IT专业人员非常乐意深入研究数据中心基础设施的杂草,而完全忽略了在其中运行的应用程序。
如果您不知道最密集的I/ o应用程序是什么、它们运行在什么虚拟机中、它们运行在什么服务器集群上以及它们使用什么存储,那么就很难成功地真正理解存储性能。应用程序是读密集型还是写密集型?了解这些问题的答案将指导您进行存储调优工作。通过了解应用程序,并与应用程序所有者和应用程序开发人员合作,您甚至可以减少I/O工作负载,并为公司节省一笔钱,而不必购买新的存储阵列或添加高性能驱动器。
如果应用程序已经虚拟化,您可以使用上面提到的工具来了解随时间变化的典型I/O负载,以及它是读密集型还是写密集型。如果应用程序不是虚拟化的,您可能想要创建一个概念证明来虚拟化应用程序,用现实的负载测试虚拟化应用程序,然后基于这些测试建模生产工作负载。或者,如果生产应用程序已经使用SAN,那么您可以使用SAN供应商的性能工具在虚拟化之前度量物理服务器的I/O工作负载。
3.最大化你的存储空间
的一种方法提高存储性能确保你最大限度地利用了已有的存储空间。您可能有一些功能甚至还没有启动,或者您有一些功能可以以最低的成本启用。你甚至可以考虑重新配置存储lun或RAID组,为虚拟基础设施提供更好的性能。I/O工作负载随着时间的推移而变化,几年前的LUN布局和RAID组可能不再适用。通过重新平衡不同LUN的工作负载或更改LUN的RAID类型,可以提高虚拟基础设施和物理服务器的性能。在许多情况下,当虚拟基础设施的来源时,管理员倾向于寻找新的“附加功能”来提高性能存储性能问题这些都是影响传统物理服务器的因素。
4.VAAI或ODX
VMware的vStorage api for Array Integration (VAAI)支持vSphere虚拟化环境将一些与存储相关的任务转移到存储上。例如,不需要通过管理程序克隆VM,而只需在存储中完成。通过使用硬件加速锁定,VAAI还显著减少了磁盘锁定时间。确保您的存储支持vaai,以确保您的虚拟基础设施从存储卸载中受益。
在Microsoft Hyper-V世界中,卸载数据传输(ODX)可与VAAI相媲美。如果您正在使用Hyper-V,则希望您的存储能够支持odx。
要了解您的存储是否提供VMware VAAI,请在VMware兼容性指南.要确定您的存储是否与ODX兼容,请询问供应商他们的产品是否经过Microsoft ODX认证。随着时间的推移,越来越多的供应商将向其企业存储阵列添加VAAI和ODX兼容性。
5.限制快照
虚拟化最有用的特性之一是能够对虚拟机进行快照.当应用程序或操作系统升级出错或需要测试配置更改时,虚拟机内存和虚拟磁盘的时间点图是有用的。虚拟化备份和复制应用程序还使用快照捕获虚拟磁盘更改,而不会导致停机。但是快照次数过多会导致快照过多,占用磁盘空间,导致备份应用、VMotion等存储相关功能性能下降。快照只能临时使用,然后再删除。
6.普通配置和精简配置
创建虚拟机的能力精简虚拟磁盘是非常有用的。在我的实验室环境中,我一直使用精简配置。但虚拟化层的精简配置和物理阵列的精简配置需要仔细规划和管理。精简配置的大多数问题都与存储不足有关。但是,如果没有启用vaai的阵列,当需要增加供应不足的虚拟磁盘的大小时,可能会出现性能下降。在这种情况下,您可能需要使用厚配置(lazyzerothick,然后在存储阵列中使用精简配置。
7.支持虚拟化存储
一些新的存储阵列被标榜为“虚拟化感知”。这意味着存储与VMware vCenter对话,因此存储知道哪些虚拟机正在运行,以及它们在SAN/NAS上的虚拟机磁盘文件(vmdk)的路径。虚拟化管理员和存储管理员都从这种通信中获得了显著的好处。例如,您可以了解哪些虚拟机创建的IOPS最高,哪些虚拟机存储延迟最高。一些支持虚拟化的存储系统甚至可以提供每个虚拟机的快照和克隆。您不一定要用支持虚拟化的存储阵列替换存储阵列,但这是将来项目需要考虑的问题,并且可以询问当前的存储供应商,看看他们计划在将来的版本中提供哪些类似的功能。
8.分区对齐
如果在vm中运行较旧的操作系统而不考虑分区对齐,则可能导致性能问题。然而,在Windows Vista、Windows 7和Windows 2008(或更高版本,如Windows 8和Windows 2012)中,这不再是一个问题。一些支持虚拟化的存储可以自动对齐vmdk,不管操作系统是什么。但是,如果您的公司使用较旧的操作系统,则应该验证vmdk是否与虚拟机文件系统(VMFS)和SAN LUN对齐。
有许多工具可以帮助您验证windows Vista和windows 2008之前的操作系统的分区对齐,包括免费的UberAlign或商业vOptimizer职业.
9.存储I / O控制
由于多个虚拟化主机共享相同的存储,因此需要确保存储不会被I/O饥渴的应用程序垄断,或者确保更关键的应用程序不会对I/O饥渴。VMware的vSphere Storage I/O Control可以做到这一点,并在VMFS数据存储上启用一个复选框。
10.存储分布式资源调度程序
VMware的什么分布式资源调度程序对于CPU和RAM,特别提款权对存储。SDRS将虚拟机磁盘(没有停机时间)从一个数据存储移到另一个数据存储(甚至从一个阵列移到另一个阵列),如果该数据存储存在高延迟或高磁盘空间利用率。确保您的存储可以使用VMware vStorage APIs for storage Awareness (VASA)与vCenter对话,以便vCenter能够识别SDRS的存储能力,以尽可能成功地防止存储故障。
如果这一切都失败了……
虽然每个人的预算都很紧张,但您可能需要花费一些钱并购买一个新的存储系统,以便为虚拟基础设施获得更高的性能。50多个虚拟机的I/O工作负载都在磁盘LUN上,这与之前服务器和磁盘LUN的1:1映射有很大不同。除了新存储将提供更好的性能外,您还可以获得其他特性,如虚拟化感知存储、混合存储、VAAI、VASA等。
虚拟化是数据中心的一种新思维方式;当虚拟机被合并时,必须重新考虑并重新配置存储。
关于作者:
大卫·戴维斯作者是来自VMware vSphere和Microsoft Hyper-V视频培训库吗www.TrainSignal.com.他是vExpert, VCP, VCAP-DCA和CCIE #9369的专家,拥有超过18年的企业IT经验。