Kadang-kadang saya menemukan fakta bahwa mesin virtual tertentu pada host VMWare ESXi membeku dan tidak dapat dimatikan atau reboot dari antarmuka web klien vSphere dengan cara apa pun. Mem-boot ulang seluruh server ESXi karena satu mesin virtual tidak sepenuhnya disarankan (terutama jika Anda hanya memiliki satu host ESXi, atau server yang tersisa di gugus DRS tidak menarik beban tambahan dalam bentuk mesin virtual dari server reboot). Mari kita pertimbangkan cara utama untuk memaksa menghentikan mesin virtual beku di VMWare ESXi.
Jika mesin virtual memproses pada server ESXi membeku, itu berhenti merespons perintah Reset / Power Off, dan memberikan salah satu kesalahan untuk tindakan apa pun:
Operasi yang dicoba tidak dapat dilakukan dalam kondisi saat ini
;Tugas lain sedang berlangsung
;Mesin virtual mungkin melakukan operasi bersamaan. Tindakan: Selesaikan operasi bersamaan dan coba lagi operasi mematikan daya. Mesin virtual dalam kondisi tidak valid
.
Dalam kasus seperti itu, Anda dapat menghentikan proses mesin virtual secara manual pada host ESXi dari baris perintah ESXi Shell atau PowerCLI.
Pertama, tentukan host ESXi mana yang dijalankan oleh mesin virtual yang digantung. Untuk melakukan ini, temukan VM di antarmuka Klien vSphere. Nama host tempat menjalankannya ditunjukkan pada tab Ringkasan di bagian Objek terkait -> Tuan rumah.
Klik pada nama host ESXi. Anda harus mengizinkan akses ke sana melalui SSH. Pergi ke Konfigurasikan -> Layanan -> Ssh -> Mulai.
Sekarang Anda dapat terhubung ke host ESXi ini melalui SSH menggunakan klien dempul.
Daftar VM yang berjalan pada host ESXi:
daftar proses esxcli vm
Salin ID dari mesin virtual yang diinginkan (World ID).
Untuk menghentikan proses mesin virtual yang digantung pada host ESXi, gunakan perintah berikut:
proses esxcli vm kill --type = [soft, hard, force] --world-id = WorldNumber
Seperti yang Anda lihat, ada tiga jenis penghentian proses VM:
- Lembut - cara teraman untuk menghentikan proses VMX (mirip dengan kill -SIGTERM);
- Sulit - penghentian segera proses VM (kill -9);
- Paksaan - mode terminasi proses paling parah harus digunakan terakhir jika tidak ada yang membantu.
Mari kita coba untuk menghentikan VM dengan lembut dengan ID yang ditentukan:
proses esxcli vm kill --type = soft -w = 25089429
VM harus dimatikan.
Anda dapat menghentikan mesin virtual beku menggunakan PowerCLI (ini nyaman, karena ketika menghubungkan ke vCenter Anda tidak perlu mencari host di mana VM berjalan dan mengaktifkan akses SSH). Periksa apakah VM sedang berjalan:
get-vm "web2" | pilih nama, PowerStates
Hentikan proses VM dengan perintah:
stop-vm -kill "web2" -confirm: $ false
Anda juga dapat menghentikan mesin virtual beku menggunakan utilitas ESXTOP.
Di sesi SSH, masukkan perintah esxtop, lalu klik “c"Untuk menampilkan sumber daya CPU dan shift + V, untuk hanya menampilkan proses mesin virial
Kemudian klik “f"(Pilih bidang yang ditampilkan),"c”(Tampilkan bidang ID Dunia LWID- Pemimpin) dan klik Masuk.
Di kolom Nama, temukan mesin virtual yang ingin Anda hentikan, dan tentukan LWID-nya oleh kolom yang sesuai.
Maka tetap tekan tombol "k"(bunuh) dan putar pengenal LWID dari mesin virtual yang ingin Anda paksa tutup.
Cara terakhir untuk mematikan mesin virtual adalah dengan menggunakan utilitas bunuh. Metode ini tidak hanya akan menghentikan VM, tetapi juga semua proses anak.
Dapatkan ID proses induk dari VM:
ps | grep "web2"
Selesaikan prosesnya:
bunuh -9 24288474
Setelah "hard reset" seperti itu, OS yang diinstal akan mulai dalam mode pemulihan. Dalam hal Windows tamu, layar akan terlihat seperti ini.