【IT168 应用】对于整个主机系统,存储可能是其中最为缓慢和复杂的一部分,并且很容易成为整个系统的瓶颈,这对于那些在主机上运行虚拟机的用户,存储可能会使得整个系统变得相当缓慢。在VMware的虚拟化环境中,存储I/O控制(Storage I/O Control)提供了必要的存储I/O控制,并且可以确保运行关键业务的虚拟机性能不会被其它主机上和其共享I/O资源的虚拟机影响到。
VMware存储I/O管理最初在vSphere4.1中引入,将vSphere的存储资源控制提升到一个更高的标准。在vSphere5中,存储I/O管理得到进一步增强,可以支持NFS数据存储和集群内的I/O共享。
在vSphere4.1之前的版本中,存储资源控制可以在每台主机的虚拟机级别进行设置,所使用的共享功能提供按优先级排序的存储资源访问。虽然对于单台主机这种方式可行,但很多场景下许多主机会共享数据存储,但是由于每台主机各自运作,控制虚拟机对磁盘资源的访问,某台主机上的虚拟机可能会限制其它主机上对磁盘资源的使用。
以下是一个出现问题的例子:
• 主机A有大量非关键业务的虚拟机,占用数据存储1,其磁盘共享设置为“正常”。
• 主机B运行一个关键业务的SQL服务器虚拟机,同样占用数据存储1,其磁盘共享设置为“高”。
• 主机A上的非关键虚拟机启动一项事物,初始了一个内部磁盘I/O;由于主机A中的资源并不紧张,该虚拟机可以占用其所需的所有存储I/O资源。
• 数据存储1收到主机A上的虚拟机大量的I/O资源请求。
• 结果主机B上关键业务SQL虚拟机的存储性能受到影响。
存储I/O控制的工作机制
存储I/O控制通过在数据存储级别增强存储资源控制解决这一问题,所有集群内的主机和虚拟机访问数据存储时都对虚拟机进行优先级排序后才能访问存储资源。因此,当有更高优先级的虚拟机,即使是在其它主机上,需要更多的存储资源时,一个低或正常优先级的虚拟机会被限速。存储I/O控制可以在任何数据存储上激活,并且一旦激活,会通过拥堵的阈值测量存储子系统的延迟。阈值一旦达到,存储I/O控制开始限制各主机上较低优先级虚拟机的存储访问,从而确保高优先级的虚拟机可以获取所需资源。
在各台激活的数据存储上拥堵阈值的设置基于毫秒。默认的拥堵阈值设置为30毫秒,并且可以从10毫秒到100毫秒进行调整。在大多情况下用默认值就可以。在更改之前,你需要了解更改后可能引起的变化。设置值越高意味着更集中的数据吞吐量但虚拟机I/O控制将被弱化。而设置值越低可以确保更强的虚拟机I/O控制,但共享控制也将更频繁地调用。当设置阈值时,为了确保存储I/O控制正常工作,需要注意的是对于同一阵列上的所有数据存储都必须设置同一阈值。
存储I/O控制还增加了另一项虚拟机I/O控制:这项新设置使得你可以设置每个虚拟机允许的最大IOPS。该设置性操作和共享功能无关,并且基本上设置了每个虚拟机一个硬性的性能限制。要注意的一点是该限制及时在存储资源性能十分充裕时仍对I/O进行控制;因此,其中该项设置必须谨慎。
如何激活并配置存储I/O控制
存储I/O控制可以通过在首页选中Datastores目录对象,使用vSphere客户端激活并进行配置。
第二步,在左侧面板中选择所要激活存储I/O控制的数据存储,并在右侧面板中点击配置标签。然后点击属性链接。
在存储I/O控制区域下面的“激活“复选框中选中,将其激活。
一旦激活,你可以点击高级按钮,将阈值从默认值更改为你想要的值。
这样存储I/O控制就激活了,你可以根据需要调整各虚拟机的共享和IOPS设置。默认地,所有虚拟机被设置为正常的共享优先级以及不限制IOPS的形式,因此所有虚拟机可以公平地访问存储。要更改默认设置,选中一个虚拟机后编辑其设置。然后在资源标签中选中磁盘,这样就可以修改设置和IOPS值了。
一旦你激活了存储I/O控制,你可以通过选中一个数据存储,选择性能标签,并在视图下拉菜单中选择性能来监控存储I/O控制。你可以看到数据存储和各虚拟机平均的延迟和IOPS总和。
注意点
此外,还有一些地方需要注意:
• 存储I/O控制在vSphere4.1或5的版本中默认是关闭的。
• 在vSphere4.1中,存储I/O控制只能运作在基于数据块的虚拟机文件系统(VMFS)数据存储上(iSCSI和光纤);并不支持NFS。不过在vSphere5版本中,NFS数据存储得以支持。
• 存储I/O控制只包括在企业版的vSphere中。
• 激活存储I/O控制的数据存储必须通过单个的vCenter Server系统进行管理。
• vCenter Server和所有连接数据存储的主机都必须运行在vSphere4.1或更高的版本上。
• 在vSphere4.1或5版本中,原始设备映射(RDM)功能都不支持。
• 存储I/O控制不支持数据存储的Multiple Extent功能。
• 当数据存储后面的阵列支持自动存储分层时,在使用存储I/O控制之前,请点击VMware存储/SAN兼容性指南来验证你的自动化分层阵列是否被存储I/O控制功能验证过。