Azure上採用Json Template從已有的VHD建立VM

衡子發表於2017-04-12

從已有的VHD建立VM是使用Azure中經常要操作的內容。

本文將介紹如何採用Json Template從已經有的VHD建立VM。

一、準備VHD

在我的Azure賬戶中選擇一臺VM,如下圖:

檢視其磁碟資訊:

磁碟所在的連結:https://gwzdiskdisks420.blob.core.chinacloudapi.cn/vhds/hwvntptest0220170401203500.vhd

然後將其刪除,在ARM的portal中,刪除了虛擬機器,VHD還是保留的。注意它所在的Vnet資訊:

刪除完成後,確認此VM的Disk還存在。

二、通過VHD建立VM

1. Json Template

在GitHub上找到相應的Json Template:

開啟Azuredeploy.json檔案:

連結如下:

https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-vm-specialized-vhd-existing-vnet/azuredeploy.json

2. 通過powershell從這個VHD建立VM

開啟powershell_ise,登入Azure China。然後通過Powershell命令建立VM:

New-AzureRmResourceGroupDeployment -Name vhd -ResourceGroupName vnet-bgp -Mode Incremental ·
-TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-vm-specialized-vhd-existing-vnet/azuredeploy.json ·
-vmName hwfmvhd -osType Linux -osDiskVhdUri https://gwzdiskdisks420.blob.core.chinacloudapi.cn/vhds/hwvntptest0220170401203500.vhd ·
-vmSize Standard_D1 -existingVirtualNetworkName vnet-bgp-3 -subnetName vlan1 ·
-existingVirtualNetworkResourceGroup vnet-bgp -dnsNameForPublicIP hwfmvhd     DeploymentName : vhd ResourceGroupName : vnet-bgp ProvisioningState : Succeeded Timestamp : 4/12/2017 7:08:49 AM Mode : Incremental TemplateLink : Uri : https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-vm-specialize d-vhd-existing-vnet/azuredeploy.json ContentVersion : 1.0.0.0   Parameters : Name Type Value =============== ========================= ========== vmName String hwfmvhd osType String Linux osDiskVhdUri String https://gwzdiskdisks420.blob.core.chinacloudapi.cn/vhds/hwvntptest0220170401203500.vhd vmSize String Standard_D1 existingVirtualNetworkName String vnet-bgp-3 existingVirtualNetworkResourceGroup String vnet-bgp subnetName String vlan1 dnsNameForPublicIP String hwfmvhd   Outputs : DeploymentDebugLogLevel

這樣VM就建立成功了。

相關文章