Share via


使用 Azure PowerShell 建立具有加速網路的 VM

本文說明如何使用 Azure PowerShell 建立已啟用加速網路功能的 Windows 虛擬機器 (VM)。 本文也會討論如何在現有 VM 上啟用和管理加速網路。

您也可以使用 Azure 入口網站建立已啟用加速網路的 VM。 若要深入瞭解如何使用 Azure 入口網站在 VM 上管理加速網路,請參閱透過入口網站管理加速網路

若要使用 Azure CLI 建立已啟用加速網路的 Linux 或 Windows VM,請參閱 使用 Azure CLI 建立具有加速網路功能的 VM

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 您可以免費建立帳戶

  • 已安裝 Azure PowerShell 1.0.0 或更新版本。 若要尋找您目前安裝的版本,請執行 Get-Module -ListAvailable Az。 如果您需要安裝或升級,請從 PowerShell 資源庫 (英文) 安裝最新版的 Az 模組。

  • 在 PowerShell 中,使用 Connect-AzAccount 登入您的 Azure 帳戶。

建立使用加速網路的 VM

在下列範例中,您可將 <myResourceGroup><myNic><myVm> 等範例參數取代為自有值。

建立虛擬網路

  1. 使用 New-AzResourceGroup 建立資源群組以包含資源。

    New-AzResourceGroup -Name "<myResourceGroup>" -Location "<myAzureRegion>"
    
  2. 使用 New-AzVirtualNetworkSubnetConfig 建立子網路設定。

    $subnet = New-AzVirtualNetworkSubnetConfig `
      -Name "<mySubnet>" `
      -AddressPrefix "<192.168.1.0/24>"
    
  3. 使用 New-AzVirtualNetwork 建立具有子網路的虛擬網路。

    $vnet = New-AzVirtualNetwork -ResourceGroupName "<myResourceGroup>" `
      -Location "<myAzureRegion>" `
      -Name "<myVnet>" `
      -AddressPrefix "<192.168.0.0/16>" `
      -Subnet $Subnet
    

建立網路安全性群組

  1. 網路安全性群組 (NSG) 包含數個預設規則,其中一種會停用來自網際網路的所有輸入存取。 使用 New-AzNetworkSecurityRuleConfig 建立新的規則,讓您可以透過遠端桌面通訊協定 (RDP) 從遠端連線到 VM。

    $rdp = New-AzNetworkSecurityRuleConfig `
      -Name "Allow-RDP-All" `
      -Description "Allow RDP" `
      -Access Allow `
      -Protocol Tcp `
      -Direction Inbound `
      -Priority 100 `
      -SourceAddressPrefix * `
      -SourcePortRange * `
      -DestinationAddressPrefix * `
      -DestinationPortRange 3389
    
  2. 使用 New-AzNetworkSecurityGroup 建立 NSG,並將 Allow-RDP-All 規則指派給 NSG。

    $nsg = New-AzNetworkSecurityGroup `
      -ResourceGroupName "<myResourceGroup>" `
      -Location "<myAzureRegion>" `
      -Name "<myNsg>" `
      -SecurityRules $rdp
    
  3. 使用 Set-AzVirtualNetworkSubnetConfig 將 NSG 與子網路產生關聯。 NSG 規則對於子網路中部署的所有資源而言都是有效的。

    Set-AzVirtualNetworkSubnetConfig `
      -VirtualNetwork $vnet `
      -Name "<mySubnet>" `
      -AddressPrefix "<192.168.1.0/24>" `
      -NetworkSecurityGroup $nsg
    

使用加速網路建立網路介面

  1. 使用 New-AzPublicIpAddress 建立公用 IP 位址。 如果您未從網際網路存取 VM,則該 VM 就不需要公用 IP 位址,但您仍需要公用 IP 才能完成本文的步驟。

    $publicIp = New-AzPublicIpAddress `
      -ResourceGroupName "<myResourceGroup>" `
      -Name "<myPublicIp>" `
      -Location "<myAzureRegion>" `
      -AllocationMethod Dynamic
    
  2. 使用 New-AzNetworkInterface 建立已啟用加速網路的網路介面 (NIC),並將公用 IP 位址指派給 NIC。

    $nic = New-AzNetworkInterface `
      -ResourceGroupName "<myResourceGroup>" `
      -Name "<myNic>" `
      -Location "<myAzureRegion>" `
      -SubnetId $vnet.Subnets[0].Id `
      -PublicIpAddressId $publicIp.Id `
      -EnableAcceleratedNetworking
    

建立 VM 並連接網路介面

  1. 使用 Get-Credential 來設定 VM 的使用者名稱和密碼,並將其儲存在 $cred 變數中。

    $cred = Get-Credential
    
  2. 使用 New-AzVMConfig ,以支援加速網路的 VM 大小來定義 VM,如 Windows 加速網路中所述。 如需所有 Windows VM 大小和特性的清單,請參閱 Windows VM 大小

    $vmConfig = New-AzVMConfig -VMName "<myVm>" -VMSize "Standard_DS4_v2"
    
  3. 使用 Set-AzVMOperatingSystemSet-AzVMSourceImage 建立其餘的 VM 設定。 下列範例會建立 Windows Server 2019 Datacenter VM:

    $vmConfig = Set-AzVMOperatingSystem -VM $vmConfig `
      -Windows `
      -ComputerName "<myVM>" `
      -Credential $cred `
      -ProvisionVMAgent `
      -EnableAutoUpdate
    $vmConfig = Set-AzVMSourceImage -VM $vmConfig `
      -PublisherName "MicrosoftWindowsServer" `
      -Offer "WindowsServer" `
      -Skus "2019-Datacenter" `
      -Version "latest"
    
  4. 使用 Add-AzVMNetworkInterface ,將您先前建立的 NIC 連結至 VM。

    $vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id
    
  5. 使用 New-AzVM 來建立已啟用加速網路的 VM。

    New-AzVM -VM $vmConfig -ResourceGroupName "<myResourceGroup>" -Location "<myAzureRegion>"
    

確認已安裝乙太網路控制器

一旦您在 Azure 中建立 VM,請與 VM 連線,然後確認乙太網路控制器已安裝在 Windows 中。

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

  2. 在 [虛擬機器] 頁面上選取您的新 VM。

  3. 在 VM 的 [概觀] 頁面上,選取 [連線]

  4. 在 [連線] 畫面上選取 [原生 RDP]

  5. 在 [原生 RDP] 畫面上選取 [下載 RDP 檔案]

  6. 開啟下載的 RDP 檔案,然後使用您在建立 VM 時輸入的認證進行登入。

  7. 在遠端 VM 上,以滑鼠右鍵按一下 [啟動],然後選取 [裝置管理員]

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

  9. 確認顯示 Mellanox ConnectX-4 Virtual Ethernet Adapter,如下圖所示︰

    Mellanox ConnectX-3 Virtual Function Ethernet Adapter, new network adapter for accelerated networking, Device Manager

    顯示介面卡即確認已為您的 VM 啟用加速網路。

注意

如果無法啟動 Mellanox 介面卡,請在遠端 VM 中開啟系統管理員命令提示,並輸入下列命令:

netsh int tcp set global rss = enabled

在現有的 VM 上管理加速網路

您可以在現有的 VM 上啟用加速網路功能。 VM 必須符合下列需求,才能支援加速網路:

  • 是加速網路支援的大小。
  • 是支援的 Azure Marketplace 映像。
  • 在您可以在任何 NIC 上啟用加速網路之前,請先停止或解除配置。 此需求適用於所有個別 VM,或是可用性設定組或 Azure 虛擬機器擴展集中的 VM。

在個別 VM 或可用性設定組中的 VM 上啟用加速網路

  1. 停止或解除配置 VM 或可用性設定組中的所有 VM:

    Stop-AzVM -ResourceGroup "<myResourceGroup>" -Name "<myVM>"
    

    如果您是在不使用可用性設定組的情況下個別建立 VM,必須停止或解除配置該個別 VM,才能啟用加速網路。 如果您使用可用性設定組建立 VM,則必須停止或解除配置集合中的所有 VM,因此 VM 最終會位於支援加速網路的叢集上。

    不需要停止或解除配置需求來停用加速網路。 支援加速網路的叢集也適用於不使用加速網路的 NIC。

  2. 在您 VM 的 NIC 上啟用加速網路:

    $nic = Get-AzNetworkInterface -ResourceGroupName "<myResourceGroup>" -Name "<myNic>"
    
    $nic.EnableAcceleratedNetworking = $true
    
    $nic | Set-AzNetworkInterface
    
  3. 重新啟動您的 VM,或是可用性設定組中的所有 VM,然後確認已啟用加速網路

    Start-AzVM -ResourceGroup "<myResourceGroup>" -Name "<myVM>"
    

在虛擬機器擴展集上啟用加速網路

Azure 虛擬機器擴展集稍有不同,但其會遵循相同的工作流程。

  1. 停止 VM:

    Stop-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
    
  2. 更新 NIC 底下的加速網路屬性:

    $vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
    
    $vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].EnableAcceleratedNetworking = $true
    
    Update-AzVmss 
      -ResourceGroupName "<myResourceGroup>" `
      -VMScaleSetName "<myScaleSet>" `
      -VirtualMachineScaleSet $vmss
    
  3. 虛擬機器擴展集具有升級原則,可使用自動、滾動或手動設定來套用更新內容。 將升級原則設定為自動,以便立即挑選變更。

    $vmss.UpgradePolicy.Mode = "Automatic"
    
    Update-AzVmss 
      -ResourceGroupName "<myResourceGroup>" `
      -VMScaleSetName "<myScaleSet>" `
      -VirtualMachineScaleSet $vmss
    
  4. 重新啟動擴展集:

    Start-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
    

重新啟動並升級完成後,虛擬函式 (VF) 會出現在使用支援的 OS 和 VM 大小的 VM 內。

調整可使用加速網路的現有 VM 大小

已啟用加速網路的 VM 只能調整為同時支援加速網路的大小。 針對具有加速網路的 VM 大小,您無法使用調整大小作業,將其調整為不支援加速網路的 VM 執行個體。 請改用下列流程來調整這些 VM 的大小:

  1. 停止或解除配置 VM,或是可用性設定組或虛擬機器擴展集的所有 VM。
  2. 針對 VM 或是可用性設定集或虛擬機器擴展集的所有 VM,在這些 VM 的 NIC 上停用加速網路。
  3. 將 VM 或多個 VM 移至不支援加速網路的新大小,然後重新啟動這些 VM。

透過入口網站管理加速網路

當您在 Azure 入口網站建立 VM 時,可在 [建立虛擬機器] 畫面的 [網路] 索引標籤上勾選 [啟用加速網路] 核取方塊。 如果 VM 使用支援的作業系統,並針對加速網路 VM 大小,則會自動選取核取方塊。 如果不支援加速網路,系統就不會勾選核取方塊,並會顯示訊息以說明原因。

注意

在建立入口網站 VM 期間,您只能為 Azure Marketplace 支援的作業系統啟用加速網路。 若要為具有自訂 OS 映像的 VM 建立和啟用加速網路,您必須使用 PowerShell 或 Azure CLI。

若要透過 Azure 入口網站啟用或停用現有 VM 的加速網路:

  1. 在 VM 的 Azure 入口網站頁面上,從左側功能表中選取 [網路]
  2. 在 [網路] 頁面中,選取 [網路介面]
  3. 在 NIC [概觀] 頁面頂端,選取 [編輯加速網路]
  4. 選取 [自動]、[已啟用] 或 [已停用],然後選取 [儲存]

若要確認是否已啟用現有 VM 的加速網路:

  1. 在 VM 的 Azure 入口網站頁面上,從左側功能表中選取 [網路]
  2. 在 [網路] 頁面中,選取 [網路介面]
  3. 在 NIC [概觀] 頁面上的 [基本資訊] 底下,請注意 [加速網路] 是否設定為 [啟用] 或 [停用]

下一步