Utilizando PowerCLI podemos realizar vMotion o SVMotion (Storage vMotion) de VMs en nuestra infraestructura virtual.
El cmd-let para realizar vMotion o SVMotion de VMs es Move-VM.
El cmd-let para realizar vMotion o SVMotion de VMs es Move-VM.
De la misma forma que si realizamos las operaciones de vMotion o SVMotion desde GUI, el destino puede ser:
- Una carpeta.
- Un host ESXi.
- Un cluster.
- Un resource pool.
Entre los parámetros a utilizar, podemos encontrar los siguientes:
-Destination: Indicamos el host ESXi destino: para procesos vMotion.
-Datastore: Indicamos el Datastore destino: para procesos SvMotion.
-DiskStorageFormat: Tipo de disco destino Thin / Thick: para procesos SvMotion.
-VMotionPriority: Prioridad del VMotion.
-RunAsync: La ejecución del proceso se realiza el background y permite lanzar otro proceso de forma simultanea.
-VM: VM a mover.
-WhatIf: Simula que sucedería al ejecutarse.
-Confirm: Pide confirmación o no.
Veamos algunos ejemplos de funcionamiento:
En primer lugar, conectamos con PowerCLI al VCenter:
Connect-VIServer -Server XXX.XXX.XXX.XXX -User YYYYYYY -Password ZZZZZZZZ
1) Mover una VM de host ESXi (VMotion):
Move-VM DC01 -Destination ESX1 -RunAsync -confirm:$false
* Movemos la VM DC01 al host ESX1, sin confirmación y de forma asíncrona.
1) Mover una VM de host ESXi (VMotion):
Move-VM DC01 -Destination ESX1 -RunAsync -confirm:$false
* Movemos la VM DC01 al host ESX1, sin confirmación y de forma asíncrona.
2) Mover varias VMs (utilizando comodines) de host ESXi (VMotion):
Move-VM DC* -Destination ESX1 -RunAsync -confirm:$false
* Movemos todas VMs que su nombre empiece por DC al host ESX1, sin confirmación y de forma asíncrona.
Move-VM DC* -Destination ESX1 -RunAsync -confirm:$false
* Movemos todas VMs que su nombre empiece por DC al host ESX1, sin confirmación y de forma asíncrona.
3) Mover una VM de datastore (SVMotion):
Move-VM DC01 -Datastore Datastore02 -RunAsync -confirm:$false
* Movemos la VM DC01 al Datastore:Datastore02 sin confirmación y de forma asíncrona.
4) Mover todas las VMs de host ESXi (VMotion):
Get-VM -Location "ESX1" | Move-VM -Destination (Get-Vmhost "ESX2") -RunAsync -confirm:$false
Movemos todas las VMs (VMotion) del host ESX1 al host ESX2.
Move-VM DC01 -Datastore Datastore02 -RunAsync -confirm:$false
* Movemos la VM DC01 al Datastore:Datastore02 sin confirmación y de forma asíncrona.
4) Mover todas las VMs de host ESXi (VMotion):
Get-VM -Location "ESX1" | Move-VM -Destination (Get-Vmhost "ESX2") -RunAsync -confirm:$false
Movemos todas las VMs (VMotion) del host ESX1 al host ESX2.
5) Mover de datastore (SVMotion) las VMs que estén situadas en una carpeta:
Get-Folder "VMs-PRODUCCION" | Get-Vm | Move-Vm -Datastore Datastore02 -RunAsync -confirm:$false
Con Get-Folder y Get-VM, se listan todas las VMs situadas en una carpeta, a continuación de mueven a otro Datastore: Datastore02 utilizando el cmd-let: Move-Vm
Get-Folder "VMs-PRODUCCION" | Get-Vm | Move-Vm -Datastore Datastore02 -RunAsync -confirm:$false
Con Get-Folder y Get-VM, se listan todas las VMs situadas en una carpeta, a continuación de mueven a otro Datastore: Datastore02 utilizando el cmd-let: Move-Vm
---
Recordemos que podemos programar la ejecución de cualquier script de PowerCLI utilizando una tarea programada:
No hay comentarios:
Publicar un comentario