Network I/O Control 版本 3 允许为单个虚拟机配置带宽要求。还可以使用可在其中为虚拟机流量分配聚合预留的带宽配额的网络资源池,然后将池的带宽分配给单个虚拟机。

如何为虚拟机分配带宽

Network I/O Control 使用两种模型为虚拟机分配带宽:在整个 vSphere Distributed Switch 上基于网络资源池分配,以及基于承载虚拟机流量的物理适配器分配。

网络资源池

网络资源池代表为所有连接到 Distributed Switch 的物理适配器上的虚拟机系统流量预留的聚合带宽的一部分。

例如,如果虚拟机系统流量在具有 10 个上行链路的 Distributed Switch 上为每个 10 GbE 上行链路预留了 0.5 Gbps,那么此交换机上虚拟机预留可用的总聚合带宽为 5 Gbps。每个网络资源池可预留此 5 Gbps 容量的配额。

带宽配额专用于网络资源池,由与该池关联的分布式端口组共享。虚拟机通过该虚拟机连接到的分布式端口组从池接收带宽。

默认情况下,交换机上的分布式端口组分配至叫做“默认”的网络资源池,其配额未配置。

图 1. vSphere Distributed Switch 的上行链路间的网络资源池带宽聚合

vSphere Distributed Switch 各个上行链路的网络资源池带宽聚合

定义虚拟机的带宽要求

为单个虚拟机分配带宽类似于分配 CPU 和内存资源。Network I/O Control 版本 3 根据在虚拟机硬件设置中为网络适配器定义的份额、预留和限制为虚拟机置备带宽。预留代表一种保证,保证虚拟机的流量可以消耗最低指定带宽。如果物理适配器有更大容量,则虚拟机可根据指定的份额和限制使用额外带宽。

置备给主机上虚拟机的带宽

在虚拟机已配置带宽预留的情况下,为保证带宽,Network I/O Control 会实施变为活跃的流量放置引擎。Distributed Switch 尝试将虚拟机网络适配器的流量放置于可提供所需带宽且在活动绑定策略范围之内的物理适配器。

主机上虚拟机的总带宽预留不能超过为虚拟机系统流量配置的预留带宽。

实际限制和预留还取决于适配器连接到的分布式端口组的流量调整策略。例如,如果一个虚拟机网络适配器要求的带宽限制为 200 Mbps 且在流量调整策略中配置的平均带宽为 100 Mbps,则有效限制将变为 100 Mbps。

图 2. 单个虚拟机的带宽分配配置

虚拟机系统流量的带宽预留。

在 Network I/O Control 中,虚拟机的带宽预留依据发送虚拟机流量的物理适配器上的虚拟机系统流量的预留得到保证。

虚拟机流量的带宽分配参数

Network I/O Control 版本 3 基于在虚拟机硬件设置中为网络适配器配置的份额、预留和限制向单个虚拟机分配带宽。

表 1. 虚拟机网络适配器的带宽分配参数
带宽分配参数 描述
份额 流量通过虚拟机网络适配器的相对优先级(从 1 到 100),依据承载此虚拟机与网络之间流量的物理适配器的容量确定。
预留 虚拟机网络适配器在物理适配器上必须收到的最低带宽 (Mbps)。
限制 在虚拟机网络适配器上流量传输至同一主机或其他主机上的其他虚拟机所需的最大带宽。

虚拟机带宽的接入控制

为保证虚拟机有足够的带宽可用,vSphere 会依据带宽预留和成组策略在主机级别和集群级别实施接入控制。

vSphere Distributed Switch 中的带宽接入控制

打开虚拟机电源时,Distributed Switch 上的 Network I/O Control 功能会验证主机是否满足以下条件。

  • 主机上有一个物理适配器可以依据成组策略和预留为虚拟机网络适配器提供最低带宽。
  • 虚拟机网络适配器的预留少于网络资源池中的可用配额。

如果更改正在运行的虚拟机的网络适配器预留,Network I/O Control 会重新验证关联的网络资源池是否能够容纳新预留。如果该池的空闲配额不足,则不会应用更改。

要在 vSphere Distributed Switch 中使用接入控制,请执行以下任务:

  • 为 Distributed Switch 上的虚拟机系统流量配置带宽分配。
  • 使用为虚拟机系统流量配置的带宽预留配额配置网络资源池。
  • 将该网络资源池和连接虚拟机与交换机的分布式端口组进行关联。
  • 为连接到该端口组的虚拟机配置带宽要求。

vSphere DRS 中的带宽接入控制

如果您打开一台位于集群中的虚拟机的电源,vSphere DRS 会将该虚拟机放置在其容量依据活动成组策略足以保证为虚拟机提供预留带宽的主机上。

在以下情况下,vSphere DRS 会将虚拟机迁移到其他主机,以满足该虚拟机的带宽预留要求:

  • 预留更改为初始主机无法再满足的值。
  • 承载虚拟机流量的物理适配器处于脱机状态。

要在 vSphere DRS 中使用接入控制,请执行以下任务:

  • 为 Distributed Switch 上的虚拟机系统流量配置带宽分配。
  • 为连接到 Distributed Switch 的虚拟机配置带宽要求。

有关根据虚拟机带宽要求管理资源的详细信息,请参见《vSphere 资源管理》文档。

vSphere HA 中的带宽接入控制

当主机发生故障或被隔离时,vSphere HA 会依据带宽预留和成组策略在集群中的其他主机上打开虚拟机电源。

要在 vSphere HA 中使用接入控制,请执行以下任务:

  • 为虚拟机系统流量分配带宽。
  • 为连接到 Distributed Switch 的虚拟机配置带宽要求。

有关 vSphere HA 根据虚拟机带宽要求提供故障切换的详细信息,请参见《vSphere 可用性》文档。

创建网络资源池

在 vSphere Distributed Switch 上创建网络资源池以为一组虚拟机预留带宽。

网络资源池为虚拟机提供预留配额。配额表示为已连接到 Distributed Switch 的物理适配器上的虚拟机系统流量预留的一部分带宽。可以从与该池关联的虚拟机配额中留出部分带宽。已打开电源、与该池关联的虚拟机的网络适配器中的预留不得超过该池的配额。请参见如何为虚拟机分配带宽

前提条件

过程

  1. vSphere Client 主页上,单击网络,然后导航到 Distributed Switch。
  2. 配置选项卡上,展开资源分配
  3. 单击网络资源池
  4. 单击添加图标。
  5. (可选) 键入网络资源池的名称和描述。
  6. 根据为虚拟机系统流量预留的可用带宽,为预留配额输入一个值,以 Mbps 为单位。

    可分配给该池的最大配额根据以下公式来确定:

    max reservation quota = aggregated reservation for vm system traffic - quotas of the other resource pools

    而且

    • 虚拟机系统流量的汇总预留 = 每个 pNIC 上虚拟机系统流量已配置的带宽预留 * 已连接到 Distributed Switch 的 pNIC 数量
    • 其他池的配额 = 其他网络资源池预留配额的总和
  7. 单击确定

下一步做什么

将一个或多个分布式端口组添加到网络资源池,以便可以从该池的配额中为单个虚拟机分配带宽。请参见向网络资源池中添加分布式端口组

向网络资源池中添加分布式端口组

向网络资源池添加分布式端口组,从而可向连接到该端口组的虚拟机分配带宽。

要立即向多个分布式端口组分配网络资源池,可以使用管理分布式端口组向导中的资源分配策略。请参见管理 vSphere Distributed Switch 上的多个端口组的策略

Network I/O Control 根据在 Distributed Switch 上活动的 Network I/O Control 版本中实施的模型,向与分布式端口组关联的虚拟机分配带宽。请参见什么是 vSphere Network I/O Control

前提条件

过程

  1. vSphere Client 中找到分布式端口组。
    1. 选择 Distributed Switch,然后单击网络选项卡。
    2. 单击分布式端口组
  2. 右键单击分布式端口组,然后选择编辑设置
  3. 在“编辑设置”对话框中,单击常规
  4. 网络资源池下拉菜单中,选择该网络资源池,然后单击确定
    如果 Distributed Switch 不包含网络资源池,则下拉菜单中仅会显示 (默认) 选项。

为虚拟机配置带宽分配

可以为已连接到分布式端口组的单个虚拟机配置带宽分配。可以使用带宽的份额、预留和限制设置。

前提条件

过程

  1. vSphere Client 中找到虚拟机。
    1. 选择数据中心、文件夹、集群、资源池或主机,然后单击虚拟机选项卡。
    2. 单击虚拟机,然后从列表中单击虚拟机。
  2. 从“操作”菜单中,选择“编辑设置”。
  3. 展开虚拟机网络适配器的 “网络适配器”部分。
  4. 如果要为新的虚拟机网络适配器配置带宽分配,请从 添加新设备下拉菜单中选择网络 适配器
    “新网络”部分会显示带宽分配及其他网络适配器设置的选项。
  5. 如果虚拟机网络适配器未连接到分布式端口组,请从“网络适配器” 或“新网络”标签旁边的下拉菜单中选择端口组。
  6. 份额下拉菜单中,将此虚拟机中流量的相对优先级设置为连接的物理适配器容量中的份额。

    Network I/O Control 在物理适配器达到饱和时会应用已配置的份额。

    可以选择一个选项设置预定义的值,也可以选择自定义,然后键入从 1 到 100 的数值设置其他份额。

  7. 预留文本框中,预留虚拟机打开电源后必须可供虚拟机网络适配器使用的最小带宽。

    如果使用网络资源池置备带宽,与该池相关联的已打开电源虚拟机的网络适配器中的预留值不得超过该池的配额。

    如果已启用 vSphere DRS,要打开虚拟机的电源,请确保主机上所有虚拟机网络适配器中的预留不超过为主机物理适配器上的虚拟机系统流量预留的带宽。

  8. 限制文本框中,对虚拟机网络适配器可以占用的带宽设置限制。
  9. 单击确定

结果

网络

I/O Control 会分配从网络资源池的预留配额中为虚拟机网络适配器预留的带宽。

在多个虚拟机上配置带宽分配

只需一次操作,即可在连接到特定网络资源池的多个虚拟机上配置带宽分配,例如,将 Network I/O Control 升级到版本 3 后。

前提条件

过程

  1. vSphere Client 主页上,单击网络,然后导航到 Distributed Switch。
  2. 配置选项卡上,展开资源分配
  3. 单击网络资源池
  4. 选择一个网络资源池。
  5. 单击虚拟机
    此时将显示连接到所选网络资源池的虚拟机网络适配器的列表。
  6. 选择要配置其设置的虚拟机网络适配器,然后单击编辑
  7. 份额下拉菜单中,设置处于物理适配器的范围之内且承载流量的那些虚拟机的流量的相对优先级。

    Network I/O Control 在物理适配器达到饱和时会应用已配置的份额。

  8. 预留文本框中,预留打开虚拟机电源时必须提供给每个虚拟机网络适配器的最低带宽。

    如果使用网络资源池置备带宽,与该池相关联的已打开电源虚拟机的网络适配器中的预留值不得超过该池的配额。

  9. 限制文本框中,设置每个虚拟机网络适配器可占用的带宽的限制。
  10. 单击确定

修改网络资源池的配额

了解如何修改可以为连接到一组分布式端口组的虚拟机预留的带宽配额。

前提条件

过程

  1. vSphere Client 主页上,单击网络,然后导航到 Distributed Switch。
  2. 配置选项卡上,展开资源分配
  3. 单击网络资源池
  4. 从列表中选择网络资源池,然后单击编辑
  5. 预留配额对话框中,输入为交换机上所有物理适配器的虚拟机系统流量预留的可用带宽聚合中虚拟机的带宽配额。
  6. 单击确定

从网络资源池中移除分布式端口组

要停止向虚拟机分配网络资源池的预留配额中的带宽,可移除虚拟机连接到的端口组与该池之间的关联。

过程

  1. vSphere Client 中找到分布式端口组。
    1. 选择 Distributed Switch,然后单击网络选项卡。
    2. 单击分布式端口组
  2. 右键单击分布式端口组,然后选择编辑设置
  3. 在端口组的“编辑设置”对话框中,单击常规
  4. 网络资源池下拉菜单中,选择 (默认),然后单击确定

结果

分布式端口组即与默认虚拟机网络资源池相关联。

删除网络资源池

删除不再使用的网络资源池。

前提条件

将网络资源池从所有关联的分布式端口组中分离出来。请参见从网络资源池中移除分布式端口组

过程

  1. vSphere Client 主页上,单击网络,然后导航到 Distributed Switch。
  2. 配置选项卡上,展开资源分配
  3. 单击网络资源池
  4. 选择一个网络资源池,然后单击移除
  5. 单击确定删除资源池。