
Virtual Machine (VM) adalah salah satu komponen kunci dalam infrastruktur Proxmox yang memberikan fleksibilitas bagi pengguna untuk menjalankan dan mengelola sistem operasi virtual di atas server fisik. Namun, dalam berbagai skenario, terdapat kebutuhan untuk mengotomatiskan proses menyalakan dan mematikan VM. Contohnya, untuk efisiensi penggunaan daya atau untuk menjadwalkan pemeliharaan rutin tanpa intervensi langsung. Dalam konteks ini, penggunaan cron, sebuah utilitas pada sistem Unix-like, memberikan solusi yang efektif dengan memungkinkan pengguna untuk menjadwalkan eksekusi tugas-tugas tertentu secara berkala.
Pemanfaatan cron dalam Proxmox memungkinkan pengguna untuk mengotomatiskan proses menyalakan dan mematikan VM sesuai kebutuhan. Dengan menggunakan cron, pengguna dapat mengatur jadwal eksekusi skrip yang akan menghidupkan atau mematikan VM pada waktu-waktu tertentu. Misalnya, pengguna dapat mengatur VM untuk dihidupkan secara otomatis pada waktu tertentu saat diperlukan untuk operasional harian, atau mematikan VM saat tidak digunakan untuk menghemat daya.
Berikut adalah langkah-langkah untuk menyalakan dan mematikan VM Proxmox menggunakan cron:

Daftar Isi
Menyalakan VM secara Otomatis dengan Cron
Untuk menyalakan VM di proxmox secara otomatis menggunakan cron, hal yang harus dilakukan pertama kali adalah mengidentifikasi ID dari masing-masing VM dan memasukkannya dalam VM_LST.
Identifikasi ID VM
Untuk mengetahui ID VM yang ingin Anda jadwalkan untuk dihidupkan. Anda dapat melihat daftar VM dan ID mereka melalui antarmuka web Proxmox atau menggunakan perintah qm list dari terminal.

root@masivotechid:~# qm list
Membuat Skrip Bash
Buatlah skrip bash yang akan menyalakan VM tersebut. Misalnya, buatlah file bernama start_vm.sh dengan konten berikut:
#!/bin/bash
# Menyalakan VM ID 100
/usr/sbin/qm start 100
Pastikan untuk menggantikan 100 dengan ID VM yang sesuai.
Jadwalkan Tugas Menyalakan VM dengan Cron
Gunakan cron untuk menjadwalkan eksekusi skrip ini pada waktu tertentu. Buka crontab dengan perintah crontab -e dan tambahkan baris berikut:
0 8 * * * /path/to/start_vm.sh
Dalam contoh ini, VM akan dihidupkan setiap hari pada pukul 08:00. Sesuaikan waktu dan path skrip sesuai kebutuhan Anda.
Mematikan VM secara Otomatis dengan Cron
Sama seperti saat ingin menyalakan VM proxmox dengan cron, saat mematikannya pun, Anda perlu mengetahui ID VM yang ingin Anda jadwalkan untuk dimatikan.
Membuat Skrip Bash
Buatlah skrip bash yang akan mematikan VM tersebut. Buat file bernama stop_vm.sh dengan konten berikut:
#!/bin/bash
# Mematikan VM ID 100
/usr/sbin/qm stop 100
Jadwalkan Tugas Mematikan VM dengan Cron
Buka crontab lagi dengan perintah crontab -e dan tambahkan baris berikut:
0 20 * * * /path/to/stop_vm.sh
Dalam contoh ini, VM akan dimatikan setiap hari pada pukul 20:00. Sesuaikan waktu dan path skrip sesuai kebutuhan Anda.
Script Mematikan dan Menyalakan Multiple VM Proxmox
Script di atas merupakan contoh sederhana bagaimana menyalakan dan mematikan tiap satu vm proxmox, tentu saja hal ini akan kurang efektif dan efisien jika ingin melakukannya pada banyak VM. Berikut adalah contoh script lanjutan untuk melakukannya pada banyak VM ssekaligus.
Buat file bernama startvm.sh dan stopvm.sh seperti dibawah ini untuk menyalakan dan mematikan banyak vm sekaligus.
#!/bin/bash
# Script menyalakan banyak vm proxmox
VM_LST=(201 213 216 219)
for vmid in ${VM_LST[*]}
do
if [[ $(/usr/sbin/qm status $vmid) == *"status: stopped"* ]]; then
/usr/sbin/qm start $vmid;rc=$?
echo "start VM $vmid (status = $rc)"
else
echo "VM $vmid already running"
fi
done
#!/bin/bash
# Mematikan banyak VM sekaligus
VM_LST=(201 213 216 219)
for vmid in ${VM_LST[*]}
do
if [[ $(/usr/sbin/qm status $vmid) == *"status: running"* ]]; then
/usr/sbin/qm stop $vmid;rc=$?
echo "stop VM $vmid (status = $rc)"
else
echo "VM $vmid already stopped"
fi
done
Edit bagian VM_LST untuk memasukkan VM ID proxmox yang akan dinyalakan dan dimatikan.
Skrip ini dapat dijadwalkan untuk dijalankan secara berkala menggunakan cron atau dieksekusi secara manual setiap kali Anda perlu mengaktifkan atau mematikan VM-VM tersebut. Pastikan untuk memberikan izin eksekusi kepada skrip menggunakan chmod +x nama_skrip.sh sebelum menjalankannya. Selain itu, pastikan bahwa pengguna yang menjalankan skrip memiliki izin yang diperlukan untuk berinteraksi dengan VM Proxmox menggunakan perintah qm.
Kesimpulan
Dengan mengikuti langkah-langkah di atas, Anda dapat mengotomatiskan proses menyalakan dan mematikan VM Proxmox menggunakan cron. Pastikan untuk memeriksa kembali pengaturan cron Anda untuk memastikan semuanya berjalan sesuai keinginan.
Leave a Reply