10种方法:改善虚拟服务器的存储性能(下)虚拟化
5、限制快照数量
虚拟化之中最有用的功能之一就是能够对虚拟机进行快照。这种时间点的虚拟机内存和虚拟磁盘的照片在应用程序或操作系统升级出错或需要测试配置变更时十分有用。快照在虚拟化备份和虚拟磁盘变更时复制应用程序,避免宕机时也会用到。不过,过多的快照是不可取的,它会占用磁盘空间,引起备份应用性能下降以及VMotion和其它存储相关功能的性能问题。快照应当只是临时使用,然后就删除。
6、传统存储自动配置与自动精简配置
通过自动精简配置的虚拟磁盘创建虚拟机的功能十分有用。我在实验室环境中总会应用到自动精简配置。然而,在虚拟层和物理存储阵列上的自动精简配置必需慎重规划和管理。自动精简配置最大的问题就是会用光所有的存储。不过,如果你的存储不支持VAAI,自动精简配置后的虚拟磁盘需要增加容量时也会造成性能的下降。在这种情况下,你可能就需要为虚拟机磁盘使用传统的存储自动配置(建立磁盘时一次性给足),而在你的存储阵列上使用自动精简配置。
7、虚拟化认知存储
一些新的存储阵列被称为具备“虚拟化认知”的特性。这意味着存储可以和VMware vCenter通讯,这样存储就能够了解上面运行的虚拟机和SAN/NAS上虚拟机磁盘文件(VMDKs)的通讯路径。虚拟化管理员和存储管理员可以从中获益颇多。举例来说,你可以找出哪个虚拟机产生大量IOPS,或者哪个虚拟机正处于严重的存储延迟中。一些虚拟化认知的存储系统甚至提供单个的虚拟机快照和克隆。你并不必要将存储阵列替换成这样一台虚拟化认知的设备,不过未来可以考虑,或者你应当讯问目前的存储供应商以了解其是否有规划在新版本中发布类似的特性。
8、分区队列
在之前的虚拟机操作系统中并不会计算分区队列的数量,这可能会引起性能问题。然而,在Windows Vista、Windows 7和Windows 2008(或之后的版本,比如Windows 8和Windows 2012)中并没有这样的问题。一些虚拟化认知的存储可以自动化排列VMDKs而无关操作系统。但是假如你的企业使用早先的操作系统,你应当核实VMDKs是否与虚拟机文件系统(VMFS)和SAN LUN一致。
有许多工具可以帮助你验证Windows Vista和Windows 2008操作系统之前的分区队列,其中包括免费的UberAlign或商业化产品vOptimizer Pro。
9、存储I/O控制
在多台虚拟化主机共享同一存储时,需要确保存储不会被消耗大量I/O的应用独占,或者更关键的应用程序无法获取足够I/O。VMware的vSphere Storage I/O控制可以做到这点,只需要在VMFS数据存储中通过单选框激活即可。
10、存储分布式资源规划(SDRS)
就像VMware为处理器和内存进行的分布式资源规划一样,SDRS为存储提供类似的功能。SDRS会在某个数据存储处于高延迟或高磁盘空间利用率时,从一个数据存储中迁移更多的虚拟机磁盘(不需宕机)到另一个上(甚至是一台阵列到另一台)。确保你的存储可以通过VASA 的VMware vStorage APIs和vCenter通讯,这样vCenter可以识别存储的SDRS功能,以防止其存储使用过度。
假如这一切都不能奏效……
虽然存储对任何人来说都不够,不过你可能确实得花点钱来购置一台新存储系统以获取虚拟化基础架构所需的高性能。虚拟化基础架构中每块磁盘LUN上可能都有超过50个虚拟机,和之前一对一的服务器和磁盘LUN映射的I/O负载有着天壤之别。新存储除了提供更高的性能以外,你还可以获取诸如虚拟化认知存储、混合存储、VAAI、VASA等更多特性。
数据中心的虚拟化是一种全新的思维模式;随着虚拟机的整合,存储必需重新加以考量并重新配置。