Előfordul, hogy szembesülök azzal, hogy a VMWare ESXi gazdagépen egy bizonyos virtuális gép lefagy, és a vSphere kliens webes felületéről semmilyen módon nem lehet azt kikapcsolni vagy újraindítani. A teljes ESXi szerver újraindítása egy virtuális gép miatt nem teljesen ajánlott (különösen, ha csak egy ESXi gazdagépe van, vagy a DRS-fürtben fennmaradó kiszolgálók nem vonják el a további terhelést virtuális gépek formájában az újraindított szerverről). Fontoljuk meg a befagyasztott virtuális gép leállításának fő módjait a VMWare ESXi-ben.
Ha az ESXi kiszolgálón a virtuális gép folyamata lefagy, akkor nem reagál a Reset / Power Off parancsokra, és bármelyik műveletnél megadja a hibák egyikét:
A megpróbált művelet nem hajtható végre az aktuális állapotban
;Egy másik feladat már folyamatban van
;Lehet, hogy a virtuális gép egyidejű műveleteket hajt végre. Műveletek: Végezze el az egyidejű műveletet, és ismételje meg a kikapcsolási műveletet. A virtuális gép érvénytelen állapotban van
.
Ilyen esetekben manuálisan leállíthatja a virtuális gép folyamatát az ESXi gazdagépen az ESXi Shell vagy a PowerCLI parancssorból.
Először határozza meg, melyik ESXi gazdagépen fut a függesztett virtuális gép. Ehhez keresse meg a virtuális gépet a vSphere Client felületen. A futó gazdagép nevét a szakasz Összegzés lapon jelzi Kapcsolódó tárgy -> vendéglátó.
Kattintson az ESXi gazdagép nevére. Engedélyeznie kell az SSH-n keresztüli hozzáférést. Menj ide konfigurálása -> Szolgáltatások -> SSH -> kezdet.
Most csatlakozhat ehhez az ESXi hosthoz SSH-n keresztül a gitt kliens segítségével.
Sorolja fel az ESXi gazdagépen futó virtuális gépeket:
esxcli vm folyamatlista
Másolja a kívánt virtuális gép azonosítóját (World ID).
Az ESXi gazdagépen lógott virtuális gép folyamatának leállításához használja a következő parancsot:
esxcli vm process kill --type = [puha, kemény, erő] --world-id = WorldNumber
Mint láthatja, a virtuális gép folyamatának háromféle típusa létezik:
- lágy - a VMX folyamat lezárásának legbiztonságosabb módja (hasonlóan a kill -SIGTERM-hez);
- kemény - a virtuális gép azonnali leállítása (kill -9);
- erő - a legsúlyosabb folyamat-leállítási módot akkor kell utoljára használni, ha semmi más nem segít.
Próbáljuk meg óvatosan leállítani a virtuális gépet a megadott azonosítóval:
esxcli vm process kill - type = soft -w = 25089429
A virtuális gépnek le kell állnia.
A befagyasztott virtuális gépet leállíthatja a PowerCLI segítségével (ez kényelmes, mert amikor a vCenterhez csatlakozik, nem kell megkeresnie azt a gazdagépet, amelyen a virtuális gép fut, és engedélyeznie kell az SSH hozzáférést). Ellenőrizze, hogy a virtuális gép fut-e:
get-vm “web2” | név kiválasztása, PowerStates
Kényszerítse le a virtuális gép folyamatát a következő paranccsal:
stop-vm -kill "web2" -confirm: $ false
A segített virtuális gépet a segédprogrammal is leállíthatja ESXTOP.
Az SSH munkamenetben írja be a parancsot esxtop, majd kattintson a „c”A CPU erőforrások és shift + V, csak a virialis gépi folyamatok megjelenítésére
Ezután kattintson a „f”(Válassza ki a megjelenített mezőket),„c”(Jelenítse meg az LWID-Leader World Id mezőt), majd kattintson a gombra belép.
A Név oszlopban keresse meg a megállítani kívánt virtuális gépet, és a megfelelő oszlop alapján határozza meg annak LWID-jét.
Akkor marad, hogy megnyomja a gombot "k"(kill), és tárcsázza a virtuális gép LWID azonosítóját, amelyet kényszeríteni akar.
A virtuális gép kikapcsolásának utolsó módja a segédprogram használata pusztulás. Ez a módszer nemcsak a virtuális gépet, hanem az összes gyermekfolyamatot is leállítja.
Szerezze be a virtuális gép szülő folyamatazonosítóját:
ps | grep "web2"
Fejezze be a folyamatot:
kill -9 24288474
Egy ilyen „kemény alaphelyzetbe állítást” követően a telepített operációs rendszer helyreállítási módban indul. A vendég Windows esetén a képernyő így néz ki.