本文讨论了如何在现有 Azure 虚拟机上启用和管理加速网络。
先决条件
- 拥有有效订阅的 Azure 帐户。 可以创建帐户。
- 拥有有效订阅的 Azure 帐户。 可以创建帐户。
如果选择在本地安装和使用 PowerShell,则本文需要 Azure PowerShell 模块 1.0.0 或更高版本。 运行 Get-Module -ListAvailable Az 查找已安装的版本。 如果需要升级,请参阅安装 Azure PowerShell 模块。 如果在本地运行 PowerShell,则还需运行 Connect-AzAccount -Environment AzureChinaCloud 以创建与 Azure 的连接。
如果您还没有 Azure 试用订阅,请在开始之前创建一个试用订阅。
- 本文需要 Azure CLI 2.0.28 或更高版本。
处理虚拟函数的动态绑定和吊销
对于利用加速网络的所有应用程序,绑定到在虚拟机中公开的合成网络接口是一项强制性要求。
直接通过虚拟函数网络接口运行的应用程序错过了一些发往虚拟机的数据包。 这些数据包会转而出现在合成接口上。
必须通过合成网络接口运行应用程序,以保证应用程序收到发往它的所有数据包。 绑定到合成网络接口还可确保应用程序继续运行,即使虚拟函数在主机维护期间被撤销。
有关应用程序绑定要求的详细信息,请参阅加速网络在 Linux 和 FreeBSD VM 中的工作方式。
在任何 Windows Hyper-V 服务器上测试该功能,以确保自定义映像或应用程序正确支持动态绑定和吊销虚拟函数。 在以下配置中使用运行 Hyper-V 的本地 Windows Server:
验证虚拟机和应用程序正在通过 SR-IOV 使用网络适配器后,可以修改以下示例命令以切换 SR-IOV 开/关,从而撤销和添加虚拟函数以模拟 Azure 主机服务期间发生的情况:
# Get the virtual network adapter to test
$vmNic = Get-VMNetworkAdapter -VMName "myvm" | where {$_.MacAddress -eq "001122334455"}
# Enable SR-IOV on a virtual network adapter
Set-VMNetworkAdapter $vmNic -IovWeight 100 -IovQueuePairsRequested 1
# Disable SR-IOV on a virtual network adapter
Set-VMNetworkAdapter $vmNic -IovWeight 0
在现有 VM 上管理加速网络
可以在现有虚拟机上启用加速网络。 VM 必须满足以下要求才能支持加速网络:
在单个 VM 或可用性集中的 VM 上启用加速网络
在 Azure 门户中创建 VM 时,可以在“创建虚拟机”屏幕的“网络”选项卡上选中“启用加速网络”复选框。
如果 VM 使用适用于加速网络的受支持的操作系统和 VM 大小,则会自动选中“创建虚拟机”屏幕的“网络”选项卡上的“启用加速网络”复选框。 如果不支持加速网络,则不会选中该复选框,并显示一条消息解释原因。
注释
- 仅可在通过门户创建 VM 时,为 Azure 市场支持的操作系统启用加速网络。 要为具有自定义 OS 映像的 VM 创建和启用加速网络,必须使用 Azure CLI 或 PowerShell。
要通过Azure 门户为现有 VM 启用或禁用加速网络,请执行以下操作:
在 VM 的“Azure 门户”页中,选择左侧菜单中的“网络”。
在“网络”页中,选择“网络接口”。
在 NIC“概述”页顶部,选择“编辑加速网络”。
选择“自动”、“已启用”或“已禁用”,然后选择“保存”。
要确认是否已为现有 VM 启用加速网络,请执行以下操作:
在 VM 的“Azure 门户”页中,选择左侧菜单中的“网络”。
在“网络”页中,选择“网络接口”。
在 NIC“概述”页的“概要”下,注意已将“加速网络”设置为“已启用”还是“已禁用”。
停止或解除分配 VM;如果是可用性集,则停止或解除分配该集合中的所有 VM:
Stop-AzVM -ResourceGroup "<myResourceGroup>" -Name "<myVM>"
如果 VM 是单独创建的并且没有可用性集,则只需停止/解除分配单个 VM 即可启用加速网络。 如果你的 VM 是使用可用性集创建的,则必须停止或解除分配该可用性集中的所有 VM,以便这些 VM 最终部署到支持加速网络的群集上。
禁用加速网络无需执行停止或解除分配操作。 支持加速网络的群集也可以与未使用加速网络的 NIC 一起正常工作。
在 VM 的 NIC 上启用加速网络:
$nic = Get-AzNetworkInterface -ResourceGroupName "<myResourceGroup>" -Name "<myNic>"
$nic.EnableAcceleratedNetworking = $true
$nic | Set-AzNetworkInterface
重启 VM 或可用性集中的所有 VM,并确认已启用加速网络。
Start-AzVM -ResourceGroup "<myResourceGroup>" -Name "<myVM>"
在虚拟机规模集上启用加速网络
Azure 虚拟机规模集略有不同,但遵循相同的工作流。
停止虚拟机:
Stop-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
更新 NIC 下的加速网络属性:
$vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
$vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].EnableAcceleratedNetworking = $true
Update-AzVmss
-ResourceGroupName "<myResourceGroup>" `
-VMScaleSetName "<myScaleSet>" `
-VirtualMachineScaleSet $vmss
虚拟机规模集具有一种升级策略,可通过自动、滚动或手动设置来应用更新。 将升级策略设置为自动,使更改立即生效。
$vmss.UpgradePolicy.Mode = "Automatic"
Update-AzVmss
-ResourceGroupName "<myResourceGroup>" `
-VMScaleSetName "<myScaleSet>" `
-VirtualMachineScaleSet $vmss
重启虚拟机规模集:
Start-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
首先,停止/解除分配 VM 或可用性集中的所有 VM。
az vm deallocate \
--resource-group <myResourceGroup> \
--name <myVm>
如果 VM 是单独创建的并且没有可用性集,则只需停止/解除分配单个 VM 即可启用加速网络。 如果使用可用性集创建了 VM,则必须停止或解除分配该集中的所有 VM,然后才能在任何 NIC 上启用加速网络。
停止 VM 后,即可在 VM 的 NIC 上启用加速网络。
az network nic update \
--name <myNic> \
--resource-group <myResourceGroup> \
--accelerated-networking true
重启 VM 或可用性集中的所有 VM,并确认已启用加速网络。
az vm start --resource-group <myResourceGroup> \
--name <myVm>
在虚拟机规模集上启用加速网络
Azure 虚拟机规模集略有不同,但遵循相同的工作流。
首先,停止虚拟机:
az vmss deallocate \
--name <myVmss> \
--resource-group <myResourceGroup>
VM 停止后,请更新网络接口下的加速网络属性。
az vmss update --name <myVmss> \
--resource-group <myResourceGroup> \
--set virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].enableAcceleratedNetworking=true
虚拟机规模集具有升级策略,可使用自动、滚动或手动设置来应用更新。 以下说明将策略设置为自动,以便虚拟机规模集可在重启后立即获取更改。
az vmss update \
--name <myVmss> \
--resource-group <myResourceGroup> \
--set upgradePolicy.mode="automatic"
最后,重新启动虚拟机规模集。
az vmss start \
--name <myVmss> \
--resource-group <myResourceGroup>
重启并完成升级后,VF 将出现在使用受支持的操作系统和虚拟机大小的虚拟机中。
调整已启用加速网络的现有虚拟机的大小
可以只将已启用加速网络的 VM 的大小重设为同时支持加速网络的大小。 使用调整大小操作时,不能将启用了加速网络的 VM 调整为不支持加速网络的 VM 实例类型。 请改用以下过程调整这些 VM 的大小:
停止并解除分配该虚拟机,或可用性集或虚拟机规模集中的所有虚拟机。
在该 VM 的 NIC 上,或者在可用性集或虚拟机规模集内所有 VM 的 NIC 上,禁用加速网络。
将 VM 或多个 VM 更改为不支持加速网络功能的新规格,然后重启这些 VM。
相关内容