建立已啟用加速網路的 Azure 虛擬機器

部署至 Azure

本文說明如何使用 Azure CLI 命令列介面建立已啟用加速網路 (AccelNet) 的 Linux 或 Windows 虛擬機器 (虛擬機器)。

先決條件

建立虛擬網路

建立虛擬網路和 Azure Bastion 主機

下列程序會建立包含資源子網路、Azure Bastion 子網路與堡壘主機的虛擬網路:

  1. 在入口網站中,搜尋並選取 [虛擬網路]

  2. 在 [虛擬網路] 頁面上,選取 [+ 建立]。

  3. 建立虛擬網路基本索引標籤上,輸入或選取下列資訊:

    設定
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取 [建立新的]
    輸入 test-rg 作為名稱。
    選取確定
    執行個體詳細資料
    名稱 輸入 vnet-1
    區域 選取 [美國東部 2]

    在 Azure 入口網站中建立虛擬網路時,基本索引標籤的螢幕擷取畫面。

  4. 選取下一步,繼續前往安全性索引標籤。

  5. Azure Bastion 區段中,選取啟用 Azure Bastion

    Bastion 會使用您的瀏覽器,透過安全殼層 (SSH) 或遠端桌面通訊協定 (RDP),使用其私用 IP 位址連線到虛擬網路中的虛擬機器。 虛擬機器不需要公用 IP 位址、用戶端軟體或特殊組態。 如需詳細資訊,請參閱什麼是 Azure Bastion

    附註

    每小時計價會從部署 Bastion 的那一刻開始計算,不論傳出資料使用量為何。 如需詳細資訊,請參閱定價SKU。 如果要將 Bastion 部署為教學課程或測試的一部分,建議您在完成使用之後刪除此資源。

  6. Azure Bastion 中,輸入或選取下列資訊:

    設定
    Azure Bastion 堡壘主機名稱 輸入 bastion
    Azure Bastion 公用 IP 位址 選取 [建立公用 IP 位址]
    在名稱中輸入 public-ip-bastion
    選取確定

    在 Azure 入口網站建立虛擬網路時,啟用 Azure Bastion 主機選項的螢幕擷取畫面。

  7. 選取 [下一步],繼續前往 [IP 位址] 索引標籤。

  8. 子網路中的位址空間方塊內,選取預設子網路。

  9. 編輯子網路中,輸入或選取下列資訊:

    設定
    子網路用途 保留預設值
    名稱 輸入 subnet-1
    IPv4
    IPv4 位址範圍 保留 10.0.0.0/16 的預設值。
    起始位址 保留預設值 [10.0.0.0]
    大小 保留 /24 (256 個位址) 的預設值。

    子網路組態詳細資料的螢幕擷取畫面。

  10. 選取儲存

  11. 在視窗底部選取檢閱 + 建立。 通過驗證後,選取 [建立]

建立已啟用加速網路的網路介面

在入口網站中建立虛擬機器時會啟用加速網路。 在下列章節中建立虛擬機器。

附註

  • 入口網站中的加速網路設定會顯示使用者選取的狀態。 即使虛擬機器大小需要加速網路,入口網站中仍可選擇停用加速網路。 需要加速網路的虛擬機器大小,無論入口網站中的使用者設定為何,都會在執行階段啟用加速網路。 加速網路是 v5 或更高通用虛擬機容量的必備功能。

建立虛擬機器並附加 NIC

建立測試虛擬機器

下列程序會在虛擬網路中建立一個名為 vm-1 的測試虛擬機器。

  1. 在入口網站中搜尋並選取虛擬機器

  2. 虛擬機器中,選取 + 建立,然後選取 Azure 虛擬機器

  3. 建立虛擬機器基本索引標籤中,輸入或選取下列資訊:

    設定
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取 [test-rg]
    執行個體詳細資料
    虛擬機器名稱 輸入 vm-1
    區域 選取 [美國東部 2]
    可用性選項 選取 [不需要基礎結構備援]
    安全性類型 保留預設值 [標準]
    影像 選取 [Ubuntu Server 22.04 LTS - x64 Gen2]
    VM 架構 保留 x64 的預設值。
    大小 選取大小。
    系統管理員帳戶
    驗證類型 選取密碼
    使用者名稱 輸入 azureuser
    密碼 輸入密碼。
    確認密碼 請重新輸入密碼。
    輸入連接埠規則
    公用輸入連接埠 選取 [無]
  4. 選取頁面頂端的網路功能索引標籤。

  5. 網路功能索引標籤中輸入或選取下列資訊:

    設定
    網路介面
    虛擬網路 選取 [vnet-1]
    子網路 選取 [subnet-1 (10.0.0.0/24)]
    公用 IP 選取 [無]
    NIC 網路安全性群組 選取 [進階]
    設定網路安全性群組 選取 [建立新的]
    輸入 nsg-1 作為名稱。
    其餘設定保留為預設值,然後選取確定
  6. 其餘設定保留為預設值,然後選取檢閱 + 建立

  7. 檢閱設定並選取 [建立]

附註

在具有 Bastion 主機的虛擬網路中,虛擬機器不需要公用 IP 位址。 Bastion 會提供公用 IP,而虛擬機器會使用私用 IP 在網路內進行通訊。 您可以從任何位於 Bastion 裝載之虛擬網路中的虛擬機器移除公用 IP。 如需詳細資訊,請參閱從 Azure 虛擬機器解除關聯公用 IP 位址

附註

對於未獲指派公用 IP 位址或位於內部基本 Azure Load Balancer 後端集區中的 VM,Azure 會提供預設輸出存取 IP。 預設輸出存取 IP 機制提供無法設定的輸出 IP 位址。

發生下列其中一個事件時,會停用預設輸出存取 IP:

  • 公用 IP 位址會指派給 VM。
  • 該 VM 會被放置在標準負載平衡器的後端集區中,可搭配或不搭配輸出規則。
  • Azure NAT 閘道資源會指派給 VM 的子網路。

使用彈性協調模式的虛擬機器擴展集所建立的 VM,預設不具備輸出存取能力。

如需 Azure 中輸出連線的詳細資訊,請參閱 Azure 中的預設輸出存取使用輸出連線的來源網路位址轉譯 (SNAT)

確認已啟用加速網路

Linux

  1. Azure 入口網站中,搜尋並選取 [虛擬機器]

  2. 虛擬機器頁面上,選取您的新虛擬機器。

  3. 在 VM 的 [概觀] 頁面上,選取 [連線],然後再選取 [透過 Bastion 連線]

  4. 在 [Bastion 連線] 畫面中,將 [驗證類型] 變更為 [來自本機檔案的 SSH 私密金鑰]

  5. 輸入您在建立虛擬機器時使用的使用者名稱。 在此範例中,使用者名稱為 azureuser,請將其取代為您建立的使用者名稱。

  6. 在 [本機檔案] 中,選取資料夾圖示,然後瀏覽到您在建立 VM 時產生的私密金鑰檔。 私密金鑰檔案通常命名為 id_rsaid_rsa.pem

  7. 選取 [連接]

  8. 瀏覽器會開啟新的視窗,並透過 Bastion 連線到您的虛擬機器。

  9. 在遠端虛擬機器的殼層中,輸入 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 整合服務 4.3+ 之前已安裝 Mellanox VF 版本 4.5+,則支援 RHEL 6.7-6.10。

    附註

    其他核心版本可能也受支援。 如需最新清單,請參閱各發佈項目的相容性資料表,位於 Hyper-V 支援的 Linux 與 FreeBSD 虛擬機器,並確認支援 SR-IOV。 您可以在 Linux Integration Services for Hyper-V and Azure 的發行資訊中找到更多詳細資料。 *

  10. 使用 lspci 命令確認 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]
    
  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. 關閉 Bastion 與虛擬機器的連線。

窗戶

在 Azure 中建立虛擬機器後,連線到該虛擬機器,並確認 Windows 中已安裝乙太網路控制器。

  1. Azure 入口網站中,搜尋並選取 [虛擬機器]

  2. 虛擬機器頁面上,選取您的新虛擬機器。

  3. 在 VM 的 [概觀] 頁面上,選取 [連線],然後再選取 [透過 Bastion 連線]

  4. 輸入您在建立虛擬機器時使用的認證,然後選取連線

  5. 瀏覽器會開啟新的視窗,並透過 Bastion 連線到您的虛擬機器。

  6. 在遠端虛擬機器上,以滑鼠右鍵按一下開始,然後選取裝置管理員

  7. 裝置管理員視窗中,展開網路介面卡節點。

  8. 確認出現 Mellanox ConnectX-4 Lx 虛擬乙太網路介面卡,如下圖所示:

    Mellanox ConnectX-3 虛擬功能乙太網路介面卡,加速網路的新網路介面卡,裝置管理員

    介面卡的存在可確認您的虛擬機器已啟用加速網路。

  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 介面卡無法啟動,請在遠端虛擬機器上以系統管理員身分開啟命令提示字元,並輸入下列命令:

    netsh int tcp set global rss = enabled

  10. 關閉 Bastion 與虛擬機器的連線。

後續步驟