Что ж, поскольку VMotion - это лицензированная функция vCenter, ее запуск должен выполняться сервером vCenter. Возможно, причина, по которой он в настоящее время не раскрывается через интерфейс командной строки, связана с некоторыми коммерческими / лицензионными причинами.
Во всяком случае, я искал и не могу найти никаких ссылок на VMware, эквивалентный «svmotion» для традиционной VMotion.
Полагаю, если вы не хотите использовать PowerCLI, вы можете попытаться написать что-то похожее на VMotion с помощью vmware-cmd, но даже если это работает (в чем я сомневаюсь), оно будет неуклюжим и полностью не поддерживается.
Базовая структура работы VMotion:
- создать снимок памяти работающей виртуальной машины на исходном хосте
- начать отслеживание изменений в карте памяти ВМ с момента создания снимка
- перенести исходный снимок памяти на целевой хост ESX
- успокоить ВМ
- применить дельту снимка памяти к исходному снимку памяти на целевом хосте
- остановить виртуальную машину на исходном хосте
- запустить виртуальную машину на целевом хосте со снимком памяти
Существует параметр vmware-cmd, который выполняет успокоение и снимки памяти, поэтому, хотя вы не сможете выполнить (2), вы можете сделать все остальное.
Virtual Machine Operations
vmware-cmd <conn_option> <config_file_path>
[answer |
connectdevice <device_name> |
createsnapshot <name> <description> quiesce [0|1] memory [0|1] |
...
Я сомневаюсь, что он будет работать в достаточно короткие сроки, чтобы быть полезным в отношении потери обслуживания. Извините, вероятно, не ответ, который вы ищете.
- ab1
Справка:
http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.vcli.ref.doc%2Fvmware-cmd.html