Ponieważ VMotion jest licencjonowaną funkcją vCenter, wywołanie jej musiałoby zostać wykonane przez serwer vCenter. Być może powodem, dla którego nie jest obecnie ujawniany za pośrednictwem interfejsu CLI, są przyczyny komercyjne / licencyjne.
W każdym razie szukałem i nie mogę znaleźć żadnych odniesień do odpowiednika VMware „svmotion” dla tradycyjnego VMotion.
Podejrzewam, że jeśli nie chcesz używać PowerCLI, możesz spróbować napisać coś podobnego do VMotion z vmware-cmd, ale nawet jeśli to zadziała (co wątpię), będzie niezgrabne i całkowicie nieobsługiwane.
Podstawowa struktura operacji VMotion to:
- utwórz migawkę pamięci działającej maszyny wirtualnej na hoście źródłowym
- rozpocznij śledzenie zmian w mapie pamięci VM od czasu migawki
- przenieś oryginalną migawkę pamięci do docelowego hosta ESX
- wycisz maszynę wirtualną
- zastosuj deltę migawki pamięci do oryginalnej migawki pamięci na hoście docelowym
- zatrzymaj maszynę wirtualną na hoście źródłowym
- uruchom maszynę wirtualną na hoście docelowym za pomocą migawki pamięci
Istnieje parametr vmware-cmd, który wykonuje wyciszanie i migawki pamięci, więc chociaż nie będziesz w stanie tego zrobić (2), możesz być w stanie zrobić resztę.
Virtual Machine Operations
vmware-cmd <conn_option> <config_file_path>
[answer |
connectdevice <device_name> |
createsnapshot <name> <description> quiesce [0|1] memory [0|1] |
...
Wątpię, aby działał w wystarczająco krótkim czasie, aby był użyteczny w odniesieniu do utraty usługi. Przepraszamy, prawdopodobnie nie jest to odpowiedź, której szukasz.
- ab1
Odniesienie:
http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.vcli.ref.doc%2Fvmware-cmd.html