生成已有特殊化非托管磁盘的方法主要有如下两种:
1.使用StorageExplorer存储管理工具,复制特殊化磁盘到一个新的容器下
2.New Portal中删除虚拟机,默认vhd文件会保留在存储账号中
3.捕获虚拟机,但未进行过一般化
4.本地自定义上传的未进行过一般化的VHD文件
为了便于恢复,我们首先在虚拟机的Disk属性或者存储账号的VHDS容器里面查看并记录下系统盘和数据盘的URL
记录好系统盘和数据盘的URL(下面URL为测试URL,具体请参考实际):
OSDiskURL:https://stoneh01acct.blob.core.chinacloudapi.cn/vhds/hlmrgcent652n2016810122825.vhd
安装和配置Azure Powershell的步骤请参考对应的安装文档。安装配置完成后,使用下面的命令进行创建(#为注释,忽略对应的说明):
#指定虚拟机名称
$vmname = "stonehVM03"
#指定资源组
$resourceGroup = "stoneh01"
#查看Subnet的ID
$vnet = Get-AzureRmVirtualNetwork -Name stoneh01Net -ResourceGroupName $resourceGroup
$subnet01 = Get-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -VirtualNetwork $vnet
#创建一个公网IP地址
$publicIP = New-AzureRmPublicIpAddress -Name piptest03 -ResourceGroupName $resourceGroup -Location "China East" -AllocationMethod Static -IpAddressVersion IPv4 –Force
#创建网卡
$NIC = New-AzureRmNetworkInterface -Name nictest03 -ResourceGroupName $resourceGroup -Location "China East" -SubnetId $subnet01.Id -PublicIpAddressId $publicIP.Id -PrivateIpAddress 10.0.1.9
#配置要使用的存储账号以及系统盘名称
$storage = Get-AzureRmStorageAccount -Name stoneh01acct -ResourceGroupName $resourceGroup
$osdname = $vmname + "_OSDisk"
$osdurl = "https://stoneh01acct.blob.core.chinacloudapi.cn/vhds/hlmrgcent652n2016810122825.vhd"
#生成虚拟机的配置
$vmconfig = New-AzureRmVMConfig -VMName $vmname -VMSize Standard_A2 | Set-AzureRmVMOSDisk -Name $osdname -VhdUri $osdurl -CreateOption attach -Linux | Add-AzureRmVMNetworkInterface -Id $NIC.Id -Primary
#创建虚拟机
New-AzureRmVM -ResourceGroupName $resourceGroup -Location "China East" -VM $vmconfig
创建完成后,可以在虚拟机的磁盘属性中挂载数据磁盘
实测截图如下,供参考:
创建成功的虚拟机可以正常连接使用: