Bem, como o VMotion é um recurso licenciado do vCenter, invocá-lo precisaria ser feito pelo servidor vCenter. Talvez a razão pela qual não esteja atualmente exposta através do CLI seja por algum motivo comercial / de licenciamento.
De qualquer forma, eu também não encontrei referências ao VMware equivalente ao "svmotion" para o VMotion tradicional.
Suponho que, se você não quiser usar o PowerCLI, pode tentar criar scripts de algo parecido com o VMotion com vmware-cmd, mas mesmo que funcione (o que duvido), ele será desajeitado e totalmente sem suporte.
A estrutura básica por trás de uma operação do VMotion é:
- crie um instantâneo de memória de uma VM em execução no host de origem
- comece a acompanhar as alterações no mapa de memória da VM desde a captura instantânea
- transferir o instantâneo da memória original para o host ESX de destino
- quiesce a VM
- aplica o delta de instantâneo de memória ao instantâneo da memória original no host de destino
- pare a VM no host de origem
- inicie a VM no host de destino com a captura instantânea da memória
Há um parâmetro vmware-cmd que faz instantâneos de quiesce e memória, portanto, embora você não possa fazer (2), talvez consiga fazer o resto.
Virtual Machine Operations
vmware-cmd <conn_option> <config_file_path>
[answer |
connectdevice <device_name> |
createsnapshot <name> <description> quiesce [0|1] memory [0|1] |
...
Eu duvido que seja executado em um prazo curto o suficiente para ser útil em relação à perda de serviço. Desculpe, provavelmente não é a resposta que você está procurando.
- ab1
Referência:
link