创建具有加速网络的 Azure 虚拟机

本文介绍如何使用 Azure CLI 命令行接口创建启用了加速网络(AccelNet)的 Linux 或 Windows 虚拟机(VM)。

先决条件

  • 拥有有效订阅的 Azure 帐户。 可以创建帐户。

创建资源组和虚拟网络

创建资源组

  1. 登录到 Azure 门户。

  2. 在门户顶部的搜索框中输入“资源组”。 在搜索结果中选择“资源组”。

  3. 选择+ 新建。

  4. 在“创建资源组的”基本信息“选项卡中,输入或选择以下信息:

    设置 价值
    Subscription 选择订阅。
    资源组 输入 test-rg。
    Region 选择“中国北部 3”。
  5. 选择“查看 + 创建”。

  6. 选择 创建。

创建虚拟网络

  1. 在门户顶部的搜索框中,输入 Virtual network。 在搜索结果中,选择“虚拟网络”。

  2. 选择+ 新建。

  3. 在创建虚拟网络的基本信息选项卡上输入或选择以下信息:

    设置 价值
    Subscription 选择订阅。
    资源组 选择 test-rg。
    名称 输入“vnet-1”。
    Region 选择“中国北部 3”。
  4. 选择“下一步”,转到“安全性”选项卡。

  5. 选择下一步,转到IP 地址选项卡。

  6. 在“子网”的地址空间框中,选择“默认”子网。

  7. 在编辑子网中,输入或选择以下信息:

    设置 价值
    名称 输入subnet-1。
    起始地址 输入“10.0.0.0”。
    子网大小 保留默认值 /24(256 个地址)。
  8. 选择“保存”。

  9. 选择屏幕底部的“查看 + 创建”,然后在验证通过时选择“创建”。

创建 Azure Bastion

Azure Bastion 使用浏览器通过其专用 IP 地址通过安全外壳(SSH)或远程桌面协议(RDP)连接到虚拟网络中的 VM。 VM 不需要公共 IP 地址、客户端软件或特殊配置。 有关 Azure Bastion 的详细信息,请参阅 Azure Bastion。

注释

小时定价从部署 Bastion 的时刻开始计算,而无论出站数据使用情况如何。 有关详细信息,请参阅 定价 和 SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。

  1. 在门户顶部的搜索框中,输入“堡垒”。 在搜索结果中选择 Bastions 。

  2. 选择+ 新建。

  3. 在“创建 Bastion”的“基本信息”选项卡中,输入或选择以下信息:

    设置 价值
    Subscription 选择订阅。
    资源组 选择 test-rg。
    名称 输入 堡垒。
    Region 选择“中国北部 3”。
    级 选择 “开发人员”。
    虚拟网络 选择“vnet-1”。
  4. 选择“查看 + 创建”。

  5. 选择 创建。

使用加速网络创建网络接口

在创建虚拟机期间,门户中启用了加速网络。 在以下部分中创建虚拟机。

注释

  • 门户中的“加速网络”设置显示了用户选择的状态。 即使虚拟机大小需要启用加速网络,在门户中仍可以选择禁用加速网络。 无论门户中的用户设置如何,需要加速网络的 VM 大小都会在运行时启用加速网络。 加速网络功能是用于一般目的的 v5 或更高版本的 VM 大小所必需的功能。

创建 VM 并附加 NIC

  1. 在门户顶部的搜索框中,输入 虚拟机。 在搜索结果中,选择“虚拟机”。

  2. 选择+ 创建,然后选择Azure虚拟机。

  3. 在“创建虚拟机”的“基本信息”选项卡中,输入或选择以下信息:

    设置 价值
    项目详细信息
    Subscription 选择订阅。
    资源组 选择 test-rg。
    实例详细信息
    虚拟机名称 输入 vm-1。
    区域 选择“(亚洲)中国北部 3”。
    可用性选项 选择 “不需要基础结构冗余”。
    安全类型 选择“标准” 。
    图像 选择“Ubuntu Server 24.04 LTS - x64 Gen2”。
    VM 架构 保留默认值 x64。
    尺寸 选择大小。
    管理员帐户
    身份验证类型 选择“SSH 公钥”。
    用户名 输入用户名。
    SSH 公钥源 选择“生成新密钥对”。
    密钥对名称 输入 vm-1-key。
    入站端口规则
    公共入站端口 选择“无”。
  4. 选择“下一步: 磁盘”,然后选择“下一步: 网络”。

  5. 在“网络”中,输入或选择以下信息:

    设置 价值
    网络接口
    虚拟网络 选择“vnet-1”。
    子网 选择子网 1(10.0.0.0/24)。
    公共 IP 选择“无”。
    网络接口 (NIC) 网络安全组 选择 “高级”。
    配置网络安全组 选择“新建”。
    在 “名称” 中输入 nsg-1。
    选择“确定”。
  6. 将其余选项保留为默认值,然后选择“查看 + 创建”。

  7. 选择 创建。

  8. 出现“ 生成新密钥对 ”弹出窗口时,选择“ 下载私钥”并创建资源。 密钥文件下载为 vm-1-key.pem。 记下文件的下载位置 .pem 。 在后续步骤中使用 Azure Bastion 连接到虚拟机时需要私钥。

确认已启用加速网络

Linux

  1. 在 Azure 门户中,搜索并选择“虚拟机”。

  2. 在 “虚拟机 ”页上,选择新的 VM。

  3. 在 VM 的“概述”页上,选择“连接”,然后通过 Bastion 进行连接。

  4. 在 Bastion 连接屏幕中,将身份验证类型从本地文件更改为 SSH 私钥。

  5. 输入创建虚拟机时使用的 用户名 。 在此示例中,用户命名为 azureuser,替换为创建的用户名。

  6. 在 “本地文件”中,选择文件夹图标并浏览到创建 VM 时生成的私钥文件。 私钥文件通常命名 id_rsa 或 id_rsa.pem。

  7. 选择 连接。

  8. 此时会打开一个新的浏览器窗口,其中包含与 VM 的 Bastion 连接。

  9. 在远程 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 发行说明中找到更多详细信息。 *

  10. lspci使用命令确认 Mellanox VF 设备已向 VM 公开。 返回的输出应类似于以下示例:

    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]
    
  11. 使用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
    
  12. 关闭与 VM 的 Bastion 连接。

Windows操作系统

在 Azure 中创建 VM 后,连接到 VM 并确认以太网控制器已安装在 Windows 中。

  1. 在 Azure 门户中,搜索并选择“虚拟机”。

  2. 在 “虚拟机 ”页上,选择新的 VM。

  3. 在 VM 的“概述”页上,选择“连接”,然后通过 Bastion 进行连接。

  4. 输入创建 VM 时使用的凭据,然后选择“ 连接”。

  5. 此时会打开一个新的浏览器窗口,其中包含与 VM 的 Bastion 连接。

  6. 在远程 VM 上,右键单击“ 启动 ”并选择 “设备管理器”。

  7. 在 “设备管理器 ”窗口中,展开 网络适配器 节点。

  8. 请确认 Mellanox ConnectX-4 Lx 虚拟以太网适配器 出现,如下图所示:

    Mellanox ConnectX-3 虚拟函数以太网适配器、用于加速网络的新网络适配器、设备管理器

    适配器的存在确认已为 VM 启用加速网络。

  9. 验证数据包是否通过 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

  10. 关闭与 VM 的 Bastion 连接。

后续步骤