设置虚拟机的最大待处理磁盘请求数
search cancel

设置虚拟机的最大待处理磁盘请求数

book

Article ID: 301175

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

Symptoms:

免责声明:本文为 Setting the Maximum Outstanding Disk Requests for virtual machines (1268)的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


您可以使用 Disk.SchedNumReqOutstanding 参数调整待处理磁盘请求的最大数目。当两个或更多个虚拟机共享一个 LUN(逻辑单元号)时,此参数可以控制主机上所有虚拟机到该 LUN 共同允许的待处理命令总数(该设置不针对每个虚拟机)。

注意
  • 当数据存储/LUN 上仅有一个虚拟机处于活动状态时,此限制不适用。在这种情况下,带宽受存储适配器的队列深度限制。
  • 在 vSphere 5.5 中,主机级别参数 Disk.SchedNumReqOutstanding 已弃用。该设置现在针对每个设备/LUN。有关详细信息,请参见本文中的解决方案部分。
此更改可能会影响磁盘带宽调度,但实验表明,需要大量磁盘空间的工作负载已得到改进。如果在 VMkernel 中调整此值,您可能还希望调整存储适配器中的队列深度。

有关如何为 QLogic qla2x00 光纤通道适配器完成此操作的详细信息,请参见 Changing the Queue Depth for QLogic and Emulex HBAs (1267)

Qlogic 还在 configuring Execution Throttle and Queue Depth for their Qlogic HBAs 上发布了白皮书。

Environment

VMware VirtualCenter 2.5.x
VMware ESXi 3.5.x Embedded
VMware vSphere ESXi 5.1
VMware vCenter Server 5.5.x
VMware ESX Server 2.0.x
VMware ESXi 4.1.x Embedded
VMware ESXi 4.0.x Installable
VMware ESXi 4.1.x Installable
VMware ESX Server 2.5.x
VMware VirtualCenter 1.4.x
VMware ESXi 4.0.x Embedded
VMware ESX Server 3.5.x
VMware vCenter Server Appliance 5.0.x
VMware vCenter Server 4.1.x
VMware ESX 4.0.x
VMware vCenter Server Appliance 5.1.x
VMware vSphere ESXi 5.5
VMware vCenter Server 5.0.x
VMware vCenter Server 4.0.x
VMware ESX Server 2.1.x
VMware vSphere ESXi 5.0
VMware ESXi 3.5.x Installable
VMware ESX 4.1.x
VMware ESX Server 3.0.x
VMware vCenter Server 5.1.x
VMware VirtualCenter 2.0.x

Resolution

注意
  • 以下步骤仅适用于其参数已更改的 ESXi/ESX 主机。必须对已为其提供数据存储/LUN 的所有其他 ESXi/ESX 主机进行相同的更改。
  • 确保在更改任何参数之前记录好当前值,以便需要时恢复为其默认值。

警告:此更改可能会对存储阵列的性能产生重大影响。请务必谨慎操作,且仅根据存储供应商的建议来调整此参数。

vSphere 5.5

要使用命令行在 vSphere 5.5 中为特定 LUN/设备设置 VMkernel 限制,请执行以下操作:

  1. 打开与主机的 SSH 会话。有关详细信息,请参见 Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910)
  2. 要检查设备的当前值,请运行以下命令:

    esxcli storage core device list -d naa.xxx

    注意:该值将显示在 No of outstanding IOs with competing worlds: 下面

  3. 要修改设备的当前值,请运行以下命令:

    esxcli storage core device set -d naa.xxx -O Value

    其中,Value 介于 1 和 256 之间

vSphere 4.x 和 vSphere 5.0/5.1

要使用 vSphere Client 为 vSphere 4 和 5.0/5.1 设置 VMkernel 限制,请执行以下操作:
  1. 在 vSphere Client 中,选择清单面板中的主机。
  2. 单击配置选项卡,然后在“软件”下单击高级设置
  3. 单击左侧面板中的磁盘,然后向下滚动到 Disk.SchedNumReqOutstanding
  4. 将参数值更改为您选择的数字,然后单击确定
  5. 重新引导主机,以使所做的更改生效。

要使用命令行为 vSphere 4 和 5.0/5.1 设置 VMkernel 限制,请执行以下操作:

  1. 打开与主机的 SSH 会话,请参见 Using Tech Support Mode in ESXi 4.1, ESXi 5.x, and ESXi 6.0 (1017910)
  2. 要检查 Disk.SchedNumReqOutstanding 的当前值,请运行以下命令:

    vim-cmd hostsvc/advopt/view Disk.SchedNumReqOutstanding

  3. 要更改 Disk.SchedNumReqOutstanding 的值,请运行以下命令:

    vim-cmd hostsvc/advopt/update Disk.SchedNumReqOutstanding long 256

    其中,256 是所需值。

  4. 重新引导主机,以使所做的更改生效。

带 ESX 3.0 和 ESXi/ESX 3.5 的 VirtualCenter 2.x

要为带 ESX 3.0 和 ESXi/ESX 3.5 的 VirtualCenter 2.x 设置 VMkernel 限制,请执行以下操作:
  1. 使用 VI Client 连接到要配置的系统(或连接到管理该系统的 VirtualCenter Server)。
  2. 选择要配置的主机。
  3. 选择配置选项卡。
  4. 软件下,单击高级设置
  5. 选择磁盘
  6. Disk.SchedNumReqOutstanding 参数更改为所需值。
  7. 单击确定
  8. 重新引导主机,以使所做的更改生效。

带 ESX 2.5 的 VirtualCenter 1.4

要为带 ESX Server 2.5 及更早版本的 VirtualCenter 1.4.x 及更早版本设置 VMkernel 限制,请执行以下操作:
  1. 使用管理用户界面连接到要配置的系统。
  2. 单击选项选项卡。
  3. 单击高级设置链接。
  4. 滚动到 Disk.SchedNumReqOutstanding 参数,然后单击其值的链接。将显示“高级设置”窗口。
  5. Disk.SchedNumReqOutstanding 参数更改为所需值,然后单击确定
  6. 单击关闭窗口
  7. 重新引导服务器。


Additional Information

Setting the Maximum Outstanding Disk Requests for virtual machines