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.