分享方式:


透過 Azure PowerShell,從 Azure Stack Edge Pro GPU 裝置上的特殊化映像部署 VM

適用於:是適用於 Pro GPU SKUAzure Stack Edge Pro - GPU是適用於 Pro 2 SKUAzure Stack Edge Pro 2適用於 Pro R SKU 的是Azure Stack Edge Pro R適用於迷你 R SKU 的是Azure Stack Edge Mini R

本文說明透過特殊化映像,在 Azure Stack Edge Pro GPU 裝置上部署虛擬機器 (VM) 所需的步驟。

若要準備一般化映像,在 Azure Stack Edge Pro GPU 中部署 VM,請參閱從 Windows VHD 準備一般化映像 (機器翻譯) 或從 ISO 準備一般化映像 (機器翻譯)。

關於 VM 映像

Windows VHD 或 VHDX 可用來建立「特製化」映像或「一般化」映像。 下表摘要說明「特製化」映像和「一般化」映像的主要差異。

影像類型 一般化 特殊化
Target 部署在任何系統上。 以特定系統為目標。
開機後設定 VM 第一次開機時需要設定。 不需要進行任何設定。
平台會開啟 VM。
組態 需要主機名稱、管理使用者和其他 VM 專屬設定。 已預先設定。
使用時機 從相同映像建立多個新 VM。 移轉特定機器,或從先前的備份還原 VM。

工作流程

從特殊化映像部署 VM 的高階工作流程如下:

  1. 將 VHD 複製到 Azure Stack Edge Pro GPU 裝置上的本機儲存體帳戶。
  2. 從 VHD 建立新的受控磁碟。
  3. 從受控磁碟建立新的虛擬機器,並連結受控磁碟。

必要條件

在您可以透過 PowerShell 在裝置上部署 VM 之前,請確定:

確認本機 Azure Resource Manager 連線

確認用戶端可以連線到本機 Azure Resource Manager。

  1. 呼叫本機裝置 API 進行驗證:

    Login-AzureRMAccount -EnvironmentName <Environment Name>
    
  2. 提供使用者名稱 EdgeArmUser 和密碼,以透過 Azure Resource Manager 連線。 如果您不記得密碼,請重設 Azure Resource Manager 的密碼,並使用此密碼登入。

以特殊化映像部署 VM

下列各節包含以特殊化映像部署 VM 的逐步指示。

將 VHD 複製到裝置上的本機儲存體帳戶

請按照下列步驟,將 VHD 複製到本機儲存體帳戶:

  1. 將來源 VHD 複製到 Azure Stack Edge 上的本機 blob 儲存體帳戶。

  2. 記下產生的 URI。 您會在稍後的步驟中使用此 URI。

    若要建立及存取本機儲存體帳戶,請參閱透過 Azure PowerShell 在 Azure Stack Edge 裝置上部署 VM (機器翻譯) 一文中的透過<上傳 VHD><建立儲存體帳戶>章節。

從 VHD 建立受控磁碟

請按照下列步驟,從您稍早上傳至儲存體帳戶的 VHD,建立受控磁碟:

  1. 設定部分參數。

    $VhdURI = <URI of VHD in local storage account>
    $DiskRG = <managed disk resource group>
    $DiskName = <managed disk name>    
    

    以下為範例輸出。

    PS C:\WINDOWS\system32> $VHDURI = "https://myasevmsa.blob.myasegpudev.wdshcsso.com/vhds/WindowsServer2016Datacenter.vhd"
    PS C:\WINDOWS\system32> $DiskRG = "myasevm1rg"
    PS C:\WINDOWS\system32> $DiskName = "myasemd1"
    
  2. 建立新的受控磁碟。

    $StorageAccountId = (Get-AzureRmStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName).Id
    
    $DiskConfig = New-AzureRmDiskConfig -Location DBELocal -StorageAccountId $StorageAccountId -CreateOption Import -SourceUri "Source URL for your VHD"
    
    

    以下為範例輸出。 此處的位置會設定為本機儲存體帳戶的位置,且 Azure Stack Edge Pro GPU 裝置上的所有本機儲存體帳戶一律為 DBELocal

    PS C:\WINDOWS\system32> $DiskConfig = New-AzureRmDiskConfig -Location DBELocal -CreateOption Import -SourceUri $VHDURI
    PS C:\WINDOWS\system32> $disk = New-AzureRMDisk -ResourceGroupName $DiskRG -DiskName $DiskName -Disk $DiskConfig
    PS C:\WINDOWS\system32>    
    

從受控磁碟建立 VM

請按照下列步驟,從受控磁碟建立 VM:

  1. 設定部分參數。

    $NicRG = <NIC resource group>
    $NicName = <NIC name>
    $IPConfigName = <IP config name>
    $PrivateIP = <IP address> #Optional
    
    $VMRG = <VM resource group>
    $VMName = <VM name>
    $VMSize = <VM size> 
    

    注意

    PrivateIP 是選用參數。 使用此參數指派靜態 IP,否則預設為使用 DHCP 的動態 IP。

    以下為範例輸出。 在此範例中,所有 VM 資源都會指定相同資源群組,但您可以視需求為資源建立並指定另外的資源群組。

    PS C:\WINDOWS\system32> $NicRG = "myasevm1rg"
    PS C:\WINDOWS\system32> $NicName = "myasevmnic1"
    PS C:\WINDOWS\system32> $IPConfigName = "myaseipconfig1" 
    
    PS C:\WINDOWS\system32> $VMRG = "myasevm1rg"
    PS C:\WINDOWS\system32> $VMName = "myasetestvm1"
    PS C:\WINDOWS\system32> $VMSize = "Standard_D1_v2"   
    
  2. 取得虛擬網路資訊,並建立新的網路介面。

    此範例假設您正在與預設資源群組 ASEVNET 相關聯的預設虛擬網路 ASERG 上,建立單一網路介面。 需要時,您可以指定替代虛擬網路,或建立多個網路介面。 如需詳細資訊,請參閱透過 Azure 入口網站將網路介面新增至 VM (機器翻譯)。

    $armVN = Get-AzureRMVirtualNetwork -Name ASEVNET -ResourceGroupName ASERG
    $ipConfig = New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName -SubnetId $armVN.Subnets[0].Id [-PrivateIpAddress $PrivateIP]
    $nic = New-AzureRmNetworkInterface -Name $NicName -ResourceGroupName $NicRG -Location DBELocal -IpConfiguration $ipConfig
    

    以下為範例輸出。

    PS C:\WINDOWS\system32> $armVN = Get-AzureRMVirtualNetwork -Name ASEVNET -ResourceGroupName ASERG
    PS C:\WINDOWS\system32> $ipConfig = New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName -SubnetId $armVN.Subnets[0].Id
    PS C:\WINDOWS\system32> $nic = New-AzureRmNetworkInterface -Name $NicName -ResourceGroupName $NicRG -Location DBELocal -IpConfiguration $ipConfig
    WARNING: The output object type of this cmdlet will be modified in a future release.
    PS C:\WINDOWS\system32>    
    
  3. 建立新的 VM 設定物件。

    $vmConfig = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
    
  4. 將網路介面新增至 VM。

    $vm = Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $nic.Id
    
  5. 在 VM 上設定 OS 磁碟屬性。

    $vm = Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $disk.Id -StorageAccountType StandardLRS -CreateOption Attach –[Windows/Linux]
    

    此命令中的最後一個旗標取決於您用於 VM 的 OS,會是 -Windows-Linux

  6. 建立 VM。

    New-AzureRmVM -ResourceGroupName $VMRG -Location DBELocal -VM $vm 
    

    以下為範例輸出。

    PS C:\WINDOWS\system32> $vmConfig = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
    PS C:\WINDOWS\system32> $vm = Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $nic.Id
    PS C:\WINDOWS\system32> $vm = Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $disk.Id -StorageAccountType StandardLRS -CreateOption Attach -Windows
    PS C:\WINDOWS\system32> New-AzureRmVM -ResourceGroupName $VMRG -Location DBELocal -VM $vm
    WARNING: Since the VM is created using premium storage or managed disk, existing standard storage account, myasevmsa, is used for
    boot diagnostics.    
    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK        
    PS C:\WINDOWS\system32>
    

刪除 VM 和資源

本文僅使用一個資源群組來建立所有 VM 資源。 刪除該資源群組,會刪除 VM 和所有相關聯的資源。

  1. 先檢視資源群組下建立的所有資源。

    Get-AzureRmResource -ResourceGroupName <Resource group name>
    

    以下為範例輸出。

    PS C:\WINDOWS\system32> Get-AzureRmResource -ResourceGroupName myasevm1rg
    
    
    Name              : myasemd1
    ResourceGroupName : myasevm1rg
    ResourceType      : Microsoft.Compute/disks
    Location          : dbelocal
    ResourceId        : /subscriptions/992601bc-b03d-4d72-598e-d24eac232122/resourceGroups/myasevm1rg/providers/Microsoft.Compute/disk
                        s/myasemd1
    
    Name              : myasetestvm1
    ResourceGroupName : myasevm1rg
    ResourceType      : Microsoft.Compute/virtualMachines
    Location          : dbelocal
    ResourceId        : /subscriptions/992601bc-b03d-4d72-598e-d24eac232122/resourceGroups/myasevm1rg/providers/Microsoft.Compute/virt
                        ualMachines/myasetestvm1
    
    Name              : myasevmnic1
    ResourceGroupName : myasevm1rg
    ResourceType      : Microsoft.Network/networkInterfaces
    Location          : dbelocal
    ResourceId        : /subscriptions/992601bc-b03d-4d72-598e-d24eac232122/resourceGroups/myasevm1rg/providers/Microsoft.Network/netw
                        orkInterfaces/myasevmnic1
    
    Name              : myasevmsa
    ResourceGroupName : myasevm1rg
    ResourceType      : Microsoft.Storage/storageaccounts
    Location          : dbelocal
    ResourceId        : /subscriptions/992601bc-b03d-4d72-598e-d24eac232122/resourceGroups/myasevm1rg/providers/Microsoft.Storage/stor
                        ageaccounts/myasevmsa
    
    PS C:\WINDOWS\system32>
    
  2. 刪除資源群組和所有相關聯的資源。

    Remove-AzureRmResourceGroup -ResourceGroupName <Resource group name>
    

    以下為範例輸出。

    PS C:\WINDOWS\system32> Remove-AzureRmResourceGroup -ResourceGroupName myasevm1rg
    
    Confirm
    Are you sure you want to remove resource group 'myasevm1rg'
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
    True
    PS C:\WINDOWS\system32>
    
  3. 確認資源群組已刪除。 取得裝置上的所有資源群組。

    Get-AzureRmResourceGroup
    

    以下為範例輸出。

    PS C:\WINDOWS\system32> Get-AzureRmResourceGroup
    
    ResourceGroupName : ase-image-resourcegroup
    Location          : dbelocal
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/992601bc-b03d-4d72-598e-d24eac232122/resourceGroups/ase-image-resourcegroup
    
    ResourceGroupName : ASERG
    Location          : dbelocal
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/992601bc-b03d-4d72-598e-d24eac232122/resourceGroups/ASERG
    
    ResourceGroupName : myaserg
    Location          : dbelocal
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/992601bc-b03d-4d72-598e-d24eac232122/resourceGroups/myaserg
    
    PS C:\WINDOWS\system32>
    

下一步