Ponekad naiđem na činjenicu da se određeni virtualni stroj na VMWare ESXi domaćinu smrzava i ne može se isključiti ili ponovno pokrenuti s web-mjesta vSphere klijenta. Ponovno pokretanje cijelog ESXi poslužitelja zbog jednog virtualnog stroja nije u potpunosti preporučljivo (pogotovo ako imate samo jedan ESXi host ili preostali poslužitelji u DRS clusteru ne povlače dodatno opterećenje u obliku virtualnih računala s poslužitelja za ponovno pokretanje). Razmotrimo glavne načine zaustavljanja zamrznutog virtualnog stroja u VMWare ESXi.
Ako se proces virtualne mašine na ESXi poslužitelju zamrzne, prestaje reagirati na naredbe resetiranja / isključivanja i daje jednu od pogrešaka bilo kojoj radnji:
Pokušaj operacije se ne može izvesti u trenutnom stanju
;Drugi zadatak je već u tijeku
;Virtualni stroj možda izvodi istodobne operacije. Radnje: Dovršite istodobnu operaciju i pokušajte ponovno isključivanje. Virtualni stroj je u nevažećem stanju
.
U takvim slučajevima možete ručno zaustaviti proces virtualnog stroja na ESXi domaćinu iz naredbenog retka ESXi Shell ili PowerCLI.
Prvo utvrdite na kojem je ESXi domaćin pokretani obješeni virtualni stroj. Da biste to učinili, pronađite VM u vSphere sučelju klijenta. Ime domaćina na kojem se izvodi prikazano je na kartici Sažetak u odjeljku Povezani objekt -> domaćin.
Kliknite na ime računala ESXi. Morate mu omogućiti pristup putem SSH-a. Idi na Konfiguracija -> usluge -> SSH -> početak.
Sada se možete povezati s ovim ESXi domaćinom putem SSH-a pomoću klijenta za kit.
Navedi VM-ove koji rade na ESXi hostu:
esxcli vm popis procesa
Kopirajte ID željenog virtualnog stroja (World ID).
Za prekid postupka obješenog virtualnog stroja na ESXi host koristite sljedeću naredbu:
esxcli vm process kill --type = [soft, hard, force] --world-id = WorldNumber
Kao što vidite, postoje tri vrste završetka VM procesa:
- mekan - najsigurniji način za prekid VMX procesa (slično ubiti -SIGTERM);
- teško - neposredni prekid VM procesa (ubiti -9);
- sila - najteži način okončanja procesa trebao bi se koristiti zadnji ako ništa drugo ne pomaže.
Pokušajmo lagano zaustaviti VM s navedenim ID-om:
esxcli vm proces kill --type = soft -w = 25089429
VM bi se trebao ugasiti.
Zamrznuti virtualni stroj možete zaustaviti pomoću PowerCLI (ovo je prikladno, jer prilikom povezivanja s vCenter-om ne trebate tražiti host na kojem se pokreće VM i omogućiti SSH pristup). Provjerite da li VM radi:
get-vm "web2" | odaberite ime, PowerStates
Prisilite zaustaviti VM proces naredbom:
stop-vm -kill "web2" -confirm: $ false
Možete zaustaviti i zamrznuti virtualni stroj pomoću uslužnog programa ESXTOP.
U SSH sesiji unesite naredbu esxtop, zatim kliknite "c"Za prikaz resursa i CPU-a pomak + V, za prikaz samo procesa viralnih strojeva
Zatim kliknite "f"(Odaberite prikazana polja),"c”(Prikažite polje LWID-Leader World Id) i kliknite ući.
U stupcu Name pronađite virtualni stroj koji želite zaustaviti i odredite njegov LWID odgovarajućim stupcem.
Zatim ostaje pritisnuti gumb "k"(ubiti) i birajte LWID identifikator virtualnog stroja koji želite isključiti.
Posljednji način tvrdog isključivanja virtualnog stroja je korištenje uslužnog programa ubiti. Ova će metoda zaustaviti ne samo VM, već i sve dječje procese.
Nabavite ID nadređenog procesa vM-a:
ps | grep "web2"
Dovršite postupak:
ubiti -9 24288474
Nakon takvog "tvrdog resetiranja", instalirani OS pokrenut će se u načinu oporavka. U slučaju gostujućeg Windowsa, zaslon će izgledati ovako.