Migración VM automatizada – PowerCli

Buenas tardes!

Os subo el script que utilizo para la migración de máquinas virtuales entre datastores usando “storage vmotion”

Necesitamos un .csv en la misma ruta del script llamado moveVMconfig.csv con las siguientes columnas llamadas:

name: nombre de máquina –datastore: nombre de datastore destino.

name datastore

#############esto es lo que tenemos que guardar en un .ps1 (el nombre… el que queráis)

cls
Write-host " ##########################"
Write-host " ## Migracion datastores ##"
Write-host " ##########################"


#Declaracion de variables
$vmlist = Import-CSV -Delimiter ";" moveVMconfig.csv
$count = $vmlist.name.count
$counter = 1
Write-host 
Write-host $count maquinas a migrar.
Write-host

foreach ($item in $vmlist)
 {
 
 $vmName = $item.name
 $tgtConfigDS = $item.datastore
 
 
 $vm = Get-VM -Name $vmName
 $hds = Get-HardDisk -VM $vm
 $numVM = $counter++
 
 
$spec = New-Object VMware.Vim.VirtualMachineRelocateSpec 
$spec.datastore = (Get-Datastore -Name $tgtConfigDS).Extensiondata.MoRef
$hds | %{
 $disk = New-Object VMware.Vim.VirtualMachineRelocateSpecDiskLocator
 $disk.diskId = $_.Extensiondata.Key
 $disk.datastore = $_.Extensiondata.Backing.Datastore
 $spec.disk += $disk
}
 
 $vm.Extensiondata.RelocateVM_Task($spec, "defaultPriority") | Out-Null
 
 Write-host " Migrando maquina $vmName ($numVM de $count)"
 $vm | Move-VM -Datastore $tgtConfigDS -RunAsync | Out-Null # Parte nueva
 
 }
 Write-host
 Write-host Si quieres ver el progreso de la migrcion, lanza el siguiente comando:
 Write-host " "-> "Get-Task -status running | get-view | % {"$"_.info} | select EntityName,State,Progress,DescriptionId" -foregroundcolor yellow
 Write-host Fin.

 

Es una forma fácil de migrar máquinas de forma masiva, da lo mismo las que pongas a migrar se quedarán encoladas.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s