從已有的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檔案:
連結如下:
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就建立成功了。