Azure VM複製

衡子發表於2018-03-06

目前Azure上覆制VM可以有多種方法:

1 建立User Image,可以快速複製多臺VM,但目前託管磁碟只支援Generalized的模式,需要對User和配置進行重置。

2 從VHD或託管磁碟複製VM,通過Json Template、Powershell、CLI或SDK的方式等,都可以快速複製VM,但需要自己新增資料盤

本文的Powershell指令碼將通過採用對VHD或託管磁碟的複製實現對VM的複製,包括OS Disk和Data Disk。

具體實現方式:

1 讀取csv配置檔案

具體引數如下

  • location:chinanorth或chinaeast
  • oldrgname:源VM的資源組名稱
  • vmname:源VM的名稱
  • vnetrgname:新VM將要加入的VNET的資源組名稱
  • vnetname:新VM將要加入的VNET的名稱
  • subnetname:新VM將要加入的Subnet名稱
  • newrgname:新VM的資源組名稱,如果沒有將新建
  • newvmname:新VM的名稱
  • DiagStorageAccountName:新VM診斷的儲存賬戶名稱,如果沒有這個儲存賬戶,將新建
  • vmsize:新VM的型號
  • vmStorageType:新VM的儲存型別,Standard_LRS或Premium_LRS
  • osType:Linux或Windows
  • avsname:Availability Set的名稱,如果沒有將新建

2 複製Disk

根據源VM的資訊,把源VM的OS Disk和Data Disk進行復制。

具體複製方式為:如果是託管磁碟,直接進行復制;如果是VHD檔案,先在同儲存賬號下建立臨時的container,把vhd檔案複製到這個container裡,再通過這個臨時container內的VHD檔案複製託管磁碟。

3 建立VM

根據引數檔案的引數建立:

  • 建立NIC
  • 把複製的OS Disk掛載到VM
  • 建立VM
  • 把Data Disk掛載到VM

具體的指令碼連結:

https://github.com/hengv/Azure/tree/master/VM/Create-vmfromvm-withdatadisk

總結:

採用Powershell把源VM的OS Disk和Data Disk進行復制,由複製的託管磁碟建立VM,實現Azure VM的複製。

相關文章