你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
创建具有加速网络的 Azure 虚拟机
本文介绍如何使用 Azure CLI 命令行接口创建启用了加速网络 (AccelNet) 的 Linux 或 Windows 虚拟机 (VM)。
先决条件
- 具有活动订阅的 Azure 帐户。 你可以免费创建一个帐户。
创建虚拟网络
创建虚拟网络和 Azure Bastion 主机
以下过程创建包含资源子网、Azure Bastion 子网和 Bastion 主机的虚拟网络:
在门户中,搜索并选择“虚拟网络”。
在“虚拟网络”页面上,选择“+ 创建”。
在“创建虚拟网络”的“基本信息”选项卡上,输入或选择以下信息:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“新建”。
输入“test-rg”作为名称。
选择“确定”。实例详细信息 名称 输入“vnet-1”。 区域 选择“美国东部 2”。 选择“下一步”,转到“安全性”选项卡。
在“Azure Bastion”部分,选择“启用 Azure Bastion”。
Bastion 使用浏览器通过安全外壳 (SSH) 或远程桌面协议 (RDP),通过使用其专用 IP 地址连接虚拟网络中的虚拟机。 虚拟机不需要公共 IP 地址、客户端软件或特殊配置。 有关详细信息,请参阅什么是 Azure Bastion?。
在“Azure Bastion”中,输入或选择以下信息:
设置 值 Azure Bastion 主机名 输入“堡垒”。 Azure Bastion 公共 IP 地址 选择“创建公共 IP 地址”。
在名称中输入 public-ip-bastion。
选择“确定”。选择下一步,转到IP 地址选项卡。
在“子网”的地址空间框中,选择“默认”子网。
在编辑子网中,输入或选择以下信息:
设置 “值” 子网用途 保留默认值“默认”。 名称 输入“subnet-1”。 IPv4 IPv4 地址范围 保留默认值“10.0.0.0/16”。 开始地址 保留默认值“10.0.0.0”。 大小 保留默认值“/24 (256 个地址)”。 选择“保存”。
在窗口底部选择“查看 + 创建”。 验证通过后,选择“创建”。
创建启用加速网络的网络接口
加速网络是在创建虚拟机期间在门户中启用的。 在以下部分中,将创建一个虚拟机。
创建 VM 并附加 NIC
创建测试虚拟机
以下过程会在虚拟网络中创建一个名为 vm-1 的测试虚拟机 (VM)。
在门户中,搜索并选择“虚拟机”。
在“虚拟机”中,依次选择“+ 创建”、“Azure 虚拟机”。
在“创建虚拟机”的“基本信息”选项卡上,输入或选择以下信息:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“test-rg”。 实例详细信息 虚拟机名称 输入“vm-1”。 区域 选择“美国东部 2”。 可用性选项 选择“无需基础结构冗余”。 安全类型 保留默认值标准。 映像 选择“Ubuntu Server 22.04 LTS - x64 Gen2”。 VM 架构 保留默认值“x64”。 大小 选择一个大小。 管理员帐户 身份验证类型 选择密码。 用户名 输入“azureuser”。 Password 输入密码。 确认密码 重新输入密码。 入站端口规则 公共入站端口 选择“无”。 选择页面顶部的“网络”选项卡。
在“网络”选项卡中,输入或选择以下信息:
设置 值 网络接口 虚拟网络 选择“vnet-1”。 子网 选择“subnet-1 (10.0.0.0/24)”。 公共 IP 选择无。 NIC 网络安全组 选择“高级”。 配置网络安全组 选择“新建”。
在“名称”中输入“nsg-1”。
将其余字段保留默认设置,然后选择“确定”。将其余设置保留为默认值,然后选择“查看 + 创建”。
检查设置,然后选择“创建”。
注意
虚拟网络中具有堡垒主机的虚拟机不需要公共 IP 地址。 Bastion 提供公共 IP,虚拟机使用专用 IP 在网络中进行通信。 可以从堡垒托管的虚拟网络的任何虚拟机中删除公共 IP。 有关详细信息,请参阅 将公共 IP 地址与 Azure VM 取消关联。
注意
Azure 会为未分配公共 IP 地址的 VM 或位于内部基本 Azure 负载均衡器的后端池中的 VM 提供默认出站访问 IP。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。
发生以下事件之一时,将禁用默认出站访问 IP:
- 将公共 IP 地址分配给 VM。
- 虚拟机被放置在标准负载平衡器的后端池中,有无出站规则均可。
- 向 VM 的子网分配了 Azure NAT 网关资源。
在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。
有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问权限和使用用于出站连接的源网络地址转换 (SNAT)。
确认已启用加速网络
Linux
在 Azure 门户中,搜索并选择“虚拟机”。
在“虚拟机”页上,选择自己的新建 VM。
在该 VM 的“概述”页上,选择“连接”,然后选择“通过 Bastion 连接”。
在 Bastion 连接屏幕中,将“身份验证类型”更改为“本地文件中的 SSH 私钥”。
输入创建虚拟机时使用的用户名。 在此示例中,用户名为 azureuser,请将其替换为你创建的用户名。
在“本地文件”中,选择文件夹图标并浏览到创建 VM 时生成的私钥文件。 私钥文件通常命名为
id_rsa
或id_rsa.pem
。选择“连接” 。
此时会打开一个新的浏览器窗口,其中包含与你的 VM 的 Bastion 连接。
从远程 VM 的 shell 输入
uname -r
,并确认内核版本为以下版本之一或更高版本:- Ubuntu 16.04:4.11.0-1013。
- SLES SP3:4.4.92-6.18。
- RHEL:3.10.0-693、2.6.32-573。 如果在 Linux Integration Services 4.3+ 之前安装了 Mellanox VF 版本 4.5+,则支持 RHEL 6.7-6.10。
注意
可能支持其他内核版本。 有关更新后的列表,请参阅 Hyper-V 支持的 Linux 和 FreeBSD 虚拟机中每个分发版的兼容性表,并确认支持 SR-IOV。 可以在适用于 Hyper-V 和 Azure 的 Linux Integration Services 的发行说明中查找更多详细信息。 *
使用
lspci
命令确认已向 VM 公开 Mellanox VF 设备。 返回的输出应类似于以下示例:0000:00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03) 0000:00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01) 0000:00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) 0000:00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02) 0000:00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA 0001:00:02.0 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
使用
ethtool -S eth0 | grep vf_
命令检查虚拟函数 (VF) 的活动。 如果加速网络已启用并处于活动状态,则会收到与以下示例类似的输出:vf_rx_packets: 992956 vf_rx_bytes: 2749784180 vf_tx_packets: 2656684 vf_tx_bytes: 1099443970 vf_tx_dropped: 0
关闭与 VM 的 Bastion 连接。
Windows
在 Azure 中创建 VM 后,立即连接到 VM 并确认 Windows 中安装了以太网控制器。
在 Azure 门户中,搜索并选择“虚拟机”。
在“虚拟机”页上,选择自己的新建 VM。
在该 VM 的“概述”页上,选择“连接”,然后选择“通过 Bastion 连接”。
输入你在创建 VM 时使用的凭据,然后选择“连接”。
此时会打开一个新的浏览器窗口,其中包含与你的 VM 的 Bastion 连接。
在远程 VM 上,右键单击“启动”,然后选择“设备管理器”。
在“设备管理器”窗口中,展开“网络适配器”节点 。
确认已显示“Mellanox ConnectX-4 Lx 虚拟以太网适配器”,如下图所示:
适配器的存在确认了已为 VM 启用加速网络。
验证数据包是否通过以下命令的输出流经 VF 接口:
PS C:\ > Get-NetAdapter | Where-Object InterfaceDescription –like "*Mellanox*Virtual*" | Get-NetAdapterStatistics Name ReceivedBytes ReceivedUnicastPackets SentBytes SentUnicastPackets ---- ------------- ---------------------- --------- ------------------ Ethernet 2 492447549 347643 7468446 34991
注意
如果 Mellanox 适配器启动失败,可在远程 VM 上打开管理员提示符,然后输入以下命令:
netsh int tcp set global rss = enabled
关闭与 VM 的 Bastion 连接。