使用新的CloudService,VNet和存储帐户克隆VM

时间:2015-12-10 14:01:18

标签: azure azure-virtual-machine

我尝试克隆现有的VM。 要求:

  • 新的云服务
  • new VNet
  • 新存储帐户

首先我抓住了现有的VM。 现在,这是我的4次尝试,但没有成功:

  1. 通过预览门户创建: - >不可能,因为你不能在这里从图像创建一个VM。
  2. 通过经典门户创建: - >我无法选择新的存储帐户,因此新VM的.vhd将位于现有存储帐户中
  3. 使用this script复制现有VM。 - >我收到此错误:New-AzureVM : ConflictError: A disk with name xxxxx is currently in use by virtual machine xxx running within hosted service xxx, deployment xxx.是的,当然磁盘正在被VM使用;我认为这个脚本处理这个事实并复制VM vhd?!
  4. 创建一个新的(空)存储帐户并复制现有的.vhd& .status blob文件从旧的存储帐户(我使用this tutorial)。两个文件都已成功复制。 - >现在我想从现有的VHD"创建一个新的VM" (通过经典门户网站)但新的(复制的)VHD不会出现在这里。
  5. 所以我想出了如何根据我的要求克隆VM的想法。希望你能帮忙。

1 个答案:

答案 0 :(得分:1)

如果您了解Azure PS,可以通过以下步骤完成。

步骤1.将所有vhds移动到您已经完成的newstorge帐户。太棒了!

步骤2.使用Azure PS将vhds转换为磁盘 -

Add-AzureDisk -DiskName "YourVHDName" -MediaLocation "https://NewStorageAccountName.blob.core.windows.net/vhds/YourVHDName.vhd" -os "Windows"(对于os磁盘)

Add-AzureDisk -DiskName "YourVHDName" 
-MediaLocation "https://NewStorageAccountName.blob.core.windows.net/vhds/YourVHDName.vhd" 

步骤3.最重要的旋转vm使用操作系统磁盘 -

Set-AzureSubscription -SubscriptionId "YourSubscriptionId"-CurrentStorageAccountName "NewStorageAccount"

$vm=New-AzureVMConfig -DiskName "YourVHDName" -InstanceSize "YourInstanceSize" -Name "YourVMName" 

New-AzureVM -Location "YourLocation" -ServiceName "YourNewService" -VNetName "YourNewvNet" -VM $vm -verbose
  1. 第3步将为您启动vm。现在只需将磁盘附加到您已在步骤2中创建的vm