Power-off VM Menggunakan Command Line ESXi (vSphere 6.7)

Pekan kemarin saya diberi tugas untuk setup backup server hosting di Excellent. Kebetulan salah satu server hosting Excellent berjalan diatas VMware vSphere, jadi yang diberi tugas untuk setup backup-nya ya saya šŸ˜€ .

Di Excellent sendiri biasanya menggunakan NAKIVO untuk melakukan backup VM vSphere, dan untuk VM server hosting kebetulan juga di backup menggunakan NAKIVO, yang sampai saat ini belum berhasil untuk menjalankan backup šŸ˜€ . Mungkin karena konfigurasi yang saya lakukan kurang tepat.

Kendala yang saya alami adalah pada saat proses backup berjalan. Kalo temen-temen belom tahu, proses awal backup VM adalah mengambil temporary snapshot pada VM yang akan di backup, sehingga tidak ada masalah jika ada perubahan data pada VM saat proses backup berjalan. Nah pada saat proses awal untuk mengambil temporary snapshot ini tiba-tiba muncul error yang menyatakan bahwa snapshot tidak bisa diambil.

Terlepas dari gagalnya proses backup, ternyata VM hosting pun terkena imbasnya, ikutan error juga, tidak bisa diakses. Hal ini tentu saja membuat saya was-was karena VM hosting ini bukan VM development, tapi VM production dan menyimpan data website beberapa klien Excellent. Saya coba untuk akses langsung ke console VM dengan harapan bisa saya reboot VM tersebut, tapi ternyata console VM juga stuck. Saya juga sudah coba untuk reset langsung dari webui VMware vSphere, tapi tetap tidak merespon.

Akhirnya saya berpikir, jalan satu-satunya untuk membuat VM hosting berjalan lagi adalah melakukan power off dari sisi command line VMware vSphere, setelah itu menyalakannya lagi. Apakah hal ini memungkinkan? Mematikan VM vSphere dari command line ESXi? Yaa hal ini memungkinkan dengan langkah-langkah berikut.

  • Enable SSH Services
  • Login via web browser dengan user root
  • Pilih menuĀ Manage | Services
  • StartĀ serviceĀ ESXi ShellĀ danĀ SSH
  • Remote VMware vSphere tempat VM yang akan dimatikan via SSH. Jika menggunakan Windows bisa menggunakanĀ putty, atau jika menggunakan Linux dan MacOS bisa memasukkan perintahĀ ssh root@(IP vSphere host)Ā di terminal
  • MendapatkanĀ VMIDĀ VM yang akan dimatikan dengan perintah berikut. Yang harus diingat adalah VMID dan Name VM yang akan dimatikan
    [root@esxi5:~] vim-cmd vmsvc/getallvms
    Vmid                             Name                                                                                             File                                                                          Guest OS          Version                                                                           Annotation                                                                        
    102    192.168.11.77-ldap1                                        [storage-synology] 192.168.11.77-Centos 7/192.168.11.77-Centos 7.vmx                                                                    centos7_64Guest         vmx-14                                                                                                                                                              
    103    192.168.11.78-mbox1                                        [storage-synology] 192.168.11.78-mbox1/192.168.11.78-mbox1.vmx                                                                          centos7_64Guest         vmx-14                                                                                                                                                              
    104    192.168.11.79-mta                                          [storage-synology] 192.168.11.79-mta/192.168.11.79-mta.vmx                                                                              centos7_64Guest         vmx-14                                                                                                                                                                                                   [storage-synology] 192.168.4.222-Leap/192.168.4.222-Leap.vmx                                                                            opensuse64Guest         vmx-14                                                                                                                                                              
    108    192.168.11.90-NAKIVO9                                      [storage-synology] 192.168.11.90-NAKIVO9/192.168.11.90-NAKIVO9.vmx                                                                      ubuntu64Guest           vmx-07    Ubuntu 18.04 Server VA with NAKIVO Backup and Replication 9.0 preinstalled 
    109    192.168.11.60-opbot                                        [datastore80.3] 192.168.11.60-opbot/192.168.11.60-opbot.vmx                                                                             ubuntu64Guest           vmx-08                                                                                                                                                                                                             [storage-synology] docs-dwinar/docs-dwinar.vmx                                                                                          ubuntu64Guest           vmx-14                                                                                                                                                              
    122    192.168.11.223-haproxyk8s.excellent.co.id                  [storage-synology] 192.168.11.223-haproxyk8s.excellent.co.id/192.168.11.223-haproxyk8s.excellent.co.id.vmx                              ubuntu64Guest           vmx-14                                                                                                                                                              
    123    192.168.11.220-k8smaster1.excellent.co.id                  [storage-synology] 192.168.11.220-k8smaster1.excellent.co.id/192.168.11.220-k8smaster1.excellent.co.id.vmx                              ubuntu64Guest           vmx-14                                                                                                                                                              
    124    192.168.11.221-k81master2.excellent.co.id                  [storage-synology] 192.168.11.221-k81master2.excellent.co.id/192.168.11.221-k81master2.excellent.co.id.vmx                              ubuntu64Guest           vmx-14                                                                                                                                                              
    125    192.168.11.222-k8smaster3.excellent.co.id                  [storage-synology] 192.168.11.222-k8smaster3.excellent.co.id/192.168.11.222-k8smaster3.excellent.co.id.vmx                              ubuntu64Guest           vmx-14                                                                                                                                                              
    126    192.168.11.230-k8sworker1.excellent.co.id                  [storage-synology] 192.168.11.230-k8sworker1.excellent.co.id/192.168.11.230-k8sworker1.excellent.co.id.vmx                              ubuntu64Guest           vmx-14                                                                                                                                                              
    127    192.168.11.231-k8sworker2.excellent.co.id                  [storage-synology] 192.168.11.231-k8sworker2.excellent.co.id/192.168.11.231-k8sworker2.excellent.co.id.vmx                              ubuntu64Guest           vmx-14                                                                                                                                                              
    128    192.168.11.232-k8sworker3.excellent.co.id                  [storage-synology] 192.168.11.232-k8sworker3.excellent.co.id/192.168.11.232-k8sworker3.excellent.co.id.vmx                              ubuntu64Guest           vmx-14                                                                                                                                                              
    97     192.168.11.201-Ubuntu-Raihan                               [datastore80.3] 192.168.11.201-Ubuntu-Raihan/192.168.11.201-Ubuntu-Raihan.vmx                                                           ubuntu64Guest           vmx-14                                                                                                                                                              
    99     192.168.11.39-WindowsServer2019                            [storage-synology] 192.168.11.39-WindowsServer2019/192.168.11.39-WindowsServer2019.vmx                                                  windows9Server64Guest   vmx-14                                                                                                                                                              
    [root@esxi5:~] 
  • Jika temen-temen punya VM yang banyak, puluhan bahkan ratusan mungkin temen-temen akan bingung berapa sih VMID VM yang akan dimatikan, harus scroll-scroll keatas untuk mencari VMID VM yang dimaksud. Gaperlu khawatir dengan masalah tersebut, karena teman-teman bisa menambahkan perintah grep. Misalnya saya ingin mencari VM dengan nama Linux, maka saya akan menulis perintah “vim-cmd vmsvc/getallvms | grep -i linux
    [root@esxi5:~] vim-cmd vmsvc/getallvms | grep -i raihan
    97     192.168.11.201-Ubuntu-Raihan                               [datastore80.3] 192.168.11.201-Ubuntu-Raihan/192.168.11.201-Ubuntu-Raihan.vmx                                                           ubuntu64Guest           vmx-14
  • Nah jika sudah dapat VMID-nya, temen-temen bisa mematikan VM yang dimaksud dengan perintah berikut
    [root@esxi5:~] vim-cmd vmsvc/power.shutdown 97
    [root@esxi5:~] 

    atau perintah ini, jika VM yang dimatikan belum di install VMware Tools

    [root@esxi5:~] vim-cmd vmsvc/power.off 97
    Powering off VM:
    [root@esxi5:~] 

Yaa kurang lebih seperti itu cara untuk mematikan VM vSphere menggunakan command line ESXi. Untuk problem yang saya alami pada saat backup sampai saat ini belum solve, jika sudah solved mungkin akan saya coba update di blog ini.

Leave a Reply

Your email address will not be published. Required fields are marked *