Bueno, dado que VMotion es una característica de vCenter con licencia, invocarla debería ser realizada por el servidor de vCenter. Quizás la razón por la que no está expuesta actualmente a través de la CLI es por algunas razones comerciales / de licencia.
De todos modos, he buscado y no puedo encontrar ninguna referencia al equivalente de VMware de "svmotion" para VMotion tradicional tampoco.
Supongo que si no desea usar PowerCLI, podría intentar escribir algo parecido a VMotion con vmware-cmd, pero incluso si funciona (lo cual dudo), será torpe y totalmente incompatible.
La estructura básica detrás de una operación VMotion es:
- crear una instantánea de memoria de una VM en ejecución en el host de origen
- comenzar a rastrear cambios en el mapa de memoria de VM desde la instantánea
- transferir la instantánea de memoria original al host ESX de destino
- inmovilizar la VM
- aplicar delta de instantánea de memoria a la instantánea de memoria original en el host de destino
- detener la VM en el host de origen
- iniciar la VM en el host de destino con una instantánea de memoria
Hay un parámetro vmware-cmd que hace instantáneas de inmovilización y memoria, por lo que si bien no podrá hacer (2), puede hacer el resto.
Virtual Machine Operations
vmware-cmd <conn_option> <config_file_path>
[answer |
connectdevice <device_name> |
createsnapshot <name> <description> quiesce [0|1] memory [0|1] |
...
Dudo que se ejecute en un período de tiempo lo suficientemente corto como para ser útil con respecto a la pérdida de servicio. Lo sentimos, probablemente no sea la respuesta que estás buscando.
- ab1
Referencia:
http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.vcli.ref.doc%2Fvmware-cmd.html