2012年12月19日水曜日

vSphere環境でリンクドクローンVMを大量生成

仮想マシンが大量にほしかったので ESXi 上でリンクドクローンを量産しようとおもったら UI 上からできなかった。 PowerCLI からごにょごにょ。


$SRC_VM で指定した仮想マシンが持っている既存スナップショットを親とするからっぽの Delta ディスクを生成。


$SRC_VM= "Source VM Name"

Add-PSSnapin VMware.VimAutomation.Core

$vi = Connect-VIServer -Server IP.add.re.ss -User root -Password vmware
$esx = Get-VMHost ESXi.Host.Name

$vm= Get-VM $SRC_VM | Get-View
$cloneFolder = $vm.parent

$cloneSpec = new-object Vmware.Vim.VirtualMachineCloneSpec
$cloneSpec.Location = new-object Vmware.Vim.VirtualMachineRelocateSpec
$cloneSpec.Location.Host = (get-vm $SRC_VM| get-vmhost | get-view).MoRef
$cloneSpec.Location.Datastore = (get-datastore -vm $SRC_VM | get-view).MoRef

$cloneSpec.Snapshot = $vm.Snapshot.CurrentSnapshot

$cloneSpec.Location.DiskMoveType = [Vmware.Vim.VirtualMachineRelocateDiskMoveOptions]::createNewChildDiskBacking

1..100 | foreach {
    $DEST_VM= ("clone-" + $_)
    $vm.CloneVM( $cloneFolder, $DEST_VM, $cloneSpec )
}
最初は SOAP 経由になるかと思ったけど PowerCLI のレベルで済んで良かった。 PowerCLI なら Exe ファイルひとつふたつでインストールがおわるから環境作るのも楽だしね。


0 件のコメント:

コメントを投稿