透過 Azure PowerShell,從 Azure Stack Edge Pro GPU 裝置上的特殊化映像部署 VM
適用於:Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure 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 的高階工作流程如下:
- 將 VHD 複製到 Azure Stack Edge Pro GPU 裝置上的本機儲存體帳戶。
- 從 VHD 建立新的受控磁碟。
- 從受控磁碟建立新的虛擬機器,並連結受控磁碟。
必要條件
在您可以透過 PowerShell 在裝置上部署 VM 之前,請確定:
- 您可以存取將用來連線到裝置的用戶端。
- 用戶端執行的是支援的 OS。
- 根據為您的裝置連線到 Azure Resource Manager 中的指示,將用戶端設定為連線到裝置的本機 Azure Resource Manager。
確認本機 Azure Resource Manager 連線
確認用戶端可以連線到本機 Azure Resource Manager。
呼叫本機裝置 API 進行驗證:
Login-AzureRMAccount -EnvironmentName <Environment Name>
提供使用者名稱
EdgeArmUser
和密碼,以透過 Azure Resource Manager 連線。 如果您不記得密碼,請重設 Azure Resource Manager 的密碼,並使用此密碼登入。
以特殊化映像部署 VM
下列各節包含以特殊化映像部署 VM 的逐步指示。
將 VHD 複製到裝置上的本機儲存體帳戶
請按照下列步驟,將 VHD 複製到本機儲存體帳戶:
將來源 VHD 複製到 Azure Stack Edge 上的本機 blob 儲存體帳戶。
記下產生的 URI。 您會在稍後的步驟中使用此 URI。
若要建立及存取本機儲存體帳戶,請參閱透過 Azure PowerShell 在 Azure Stack Edge 裝置上部署 VM (機器翻譯) 一文中的透過<上傳 VHD><建立儲存體帳戶>章節。
從 VHD 建立受控磁碟
請按照下列步驟,從您稍早上傳至儲存體帳戶的 VHD,建立受控磁碟:
設定部分參數。
$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"
建立新的受控磁碟。
$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:
設定部分參數。
$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"
取得虛擬網路資訊,並建立新的網路介面。
此範例假設您正在與預設資源群組
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>
建立新的 VM 設定物件。
$vmConfig = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
將網路介面新增至 VM。
$vm = Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $nic.Id
在 VM 上設定 OS 磁碟屬性。
$vm = Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $disk.Id -StorageAccountType StandardLRS -CreateOption Attach –[Windows/Linux]
此命令中的最後一個旗標取決於您用於 VM 的 OS,會是
-Windows
或-Linux
。建立 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 和所有相關聯的資源。
先檢視資源群組下建立的所有資源。
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>
刪除資源群組和所有相關聯的資源。
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>
確認資源群組已刪除。 取得裝置上的所有資源群組。
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>