Compartir a través de

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

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

先决条件

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

创建虚拟网络

创建虚拟网络和 Azure Bastion 主机

以下过程创建包含资源子网、Azure Bastion 子网和 Bastion 主机的虚拟网络:

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

  2. 在“虚拟网络”页面上,选择“+ 创建”。

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

    设置 价值
    项目详细信息
    Subscription 选择订阅。
    资源组 选择“新建”。
    输入 test-rg 作为名称。
    选择“确定”。
    实例详细信息
    Name 输入“vnet-1”。
    区域 选择 “(亚太)中国东部 2

    用于在 Azure 门户中创建虚拟网络的“基本信息”选项卡的屏幕截图。

  4. 选择“下一步”,转到“安全性”选项卡。

  5. “Azure Bastion ”部分中,选择“ 启用 Bastion”。

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

    注释

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

  6. Azure Bastion 中,输入或选择以下信息:

    设置 价值
    Azure Bastion 主机名 输入 堡垒
    Azure Bastion 公共 IP 地址 选择“ 创建公共 IP 地址”。
    在名称中输入 public-ip-bastion
    选择“确定”。

    用于在 Azure 门户中创建虚拟网络时启用 Azure Bastion 主机的选项的屏幕截图。

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

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

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

    设置 价值
    子网详细信息
    子网模板 保留默认值默认值。
    Name 输入“subnet-1”。
    起始地址 保留默认值 10.0.0.0
    子网大小 保留默认值 /24(256 个地址)。

    子网的配置详细信息的屏幕截图。

  10. 选择“保存”

  11. 选择窗口底部的 “查看 + 创建 ”。 验证通过时,选择“ 创建”。

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

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

创建 VM 并附加 NIC

创建测试虚拟机

以下过程在虚拟网络中创建名为 vm-1 的测试虚拟机(VM)。

  1. 在门户中,搜索并选择 虚拟机

  2. 虚拟机中,选择“ + 创建”。

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

    设置 价值
    项目详细信息
    Subscription 选择订阅。
    资源组 选择 test-rg
    实例详细信息
    虚拟机名称 输入 vm-1
    区域 选择 “(亚太)中国东部 2
    可用性选项 选择 “不需要基础结构冗余”。
    安全类型 保留默认值 “标准”。
    图像 选择 Ubuntu Server 22.04 LTS - Gen2
    尺寸 选择大小。
    管理员帐户
    身份验证类型 选择 “密码”。
    用户名 输入 azureuser
    密码 输入密码。
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 选择“无”。
  4. 选择页面顶部的“ 网络 ”选项卡。

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

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

  7. 检查设置,然后选择“创建”。

注释

具有堡垒主机的虚拟网络中的虚拟机不需要公共 IP 地址。 Bastion 提供公共 IP,VM 使用专用 IP 在网络中通信。 可以从堡垒托管虚拟网络中的任何 VM 中删除公共 IP。 有关详细信息,请参阅 从 Azure VM 取消关联公共 IP 地址

注释

Azure 会为未分配公共 IP 地址的 VM 或位于内部基本 Azure 负载均衡器的后端池中的 VM 提供默认出站访问 IP。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。

发生以下事件之一时,将禁用默认出站访问 IP:

  • 将公共 IP 地址分配给 VM。
  • 虚拟机被放置在标准负载平衡器的后端池中,有无出站规则均可。
  • 向虚拟机的子网分配了 Azure 虚拟网络 NAT 网关 资源。

在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。

有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问使用源网络地址转换(SNAT)进行出站连接

确认已启用加速网络

Linux

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

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

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

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

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

  6. “本地文件”中,选择文件夹图标并浏览到创建 VM 时生成的私钥文件。 私钥文件通常命名 id_rsaid_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 连接。

后续步骤