Dziś garść informacji technicznych. Mianowicie stanąłem przed problemem zwiechy maszyny wirtualnej. Zawias był na tyle potężny, że niestety przez GUI vCenter nie dało się w żaden sposób zmusić maszyny wirtualnej do jakiejkolwiek współpracy, włączając w to również „Power Off” 🙂 Tak więc aby maszynę zgasić z Service Console należy na początku zorientować się czy maszyna której mamy zamiar wyjąc zasilanie to na pewno ta maszyna, a następnie spróbować ją kulturalnie poprosić o wyłączenie…

[root@esx1 ~]# vim-cmd vmsvc/getallvms
Vmid    Name       File                     Guest OS            Version
112     VM1        [VMFS0] VM1/ VM1.vmx     otherGuest            vmx-04
128     VM2        [VMFS0] VM2 / VM2.vmx    winXPProGuest            vmx-04
96      VM3        [VMFS0] VM3/ VM3.vmx     winNetStandardGuest        vmx-04
[root@esx1 ~]# vim-cmd vmsvc/power.off 96
Powering off VM:
(vim.fault.TaskInProgress) {
dynamicType = <unset>,
faultCause = (vmodl.MethodFault) null,
task = ‚vim.Task:haTask-96-vim.VirtualMachine.upgradeTools-1550687401’,
msg = „Another task is already in progress.”,
}

Jeżeli dostaniemy powyższy komunikat, znaczy to że maszyna nie chce współpracować i nie należy jej więcej prosić. Tylko, tak jak uczył za młodu ojciec, po staropolsku, przyrżnąć jej z nogi od stołka.

[root@esx1 ~]# ps auxwww | grep VM3
root     26910  0.0  0.2   3152  1228 ?        S<s  12:56   0:00 ..strasznie dużo danych… /vmfs/volumes/48f2fca9/ VM3/ VM3.vmx
[root@esx1 ~]# kill -9 26910

W tym przypadku maszyna raczej się nie oprze się naszym argumentów. Nie warto jednak często stosować tego typu argumentów gdyż można rozjechać system plików maszyn wirtualnej. Istnieją jeszcze następujące metody perswazji:

vmware-cmd -l (wyświetla listę VM)
vmware-cmd  /ścieżka/do/maszyny/wirtualnej.vmx stop soft (kiedy ma się VM Tool’s)
vmware-cmd /ścieżka/do/maszyny/wirtualnej.vmx stop hard (bez VM Tool’s)

A jak chcemy mieć jakieś dane do analizy to przed tym wszystkim można je zebrać za pomocą poniższych poleceń:

[root@esx1 ~]# vm-support -x
VMware ESX Support Script 1.30
Available worlds to debug:
vmid=22796      VM0
vmid=23168      VM1
vmid=35711      VM2
[root@esx1 ~]# vm-support -X 23168

About the author

Bloger i niezależny konsultant z wieloletnim doświadczeniem w branży IT. Specjalizujący się w wirtualizacji i cloud computingu. Posiada tytuły MCP, MCTS, VCP oraz VMware vExpert.

Leave a Reply