Overcommit di Proxmox VE

Hai semuanya, apa kabar? Kali ini kita akan belajar tentang overcommit di Proxmox VE. Sederhananya, overcommit adalah kondisi di mana resource yang dialokasikan untuk VM melebihi resource fisik yang ada pada server. Misalnya, kita punya server dengan memori sebesar 64GB dan membuat 5 buah VM yang diberikan alokasi memori masing-masing sebesar 16GB.

 

Kelihatannya alokasi resource-nya “bocor” banget. Kalau RAM fisiknya cuma 64 GB, kenapa total RAM yang
dialokasikan untuk VM bisa lebih dari itu?

Karena dalam kondisi normal, tidak semua VM menggunakan 100% kapasitas resource yang dialokasikan. Misalnya VM hanya menggunakan 6 GB dari 16 GB RAM yang dialokasikan. Jadi, penggunaan total RAM dari semua VM bisa saja masih di bawah 64 GB.

Konsep overcommit di Proxmox VE dapat diterapkan pada beberapa resource, misalnya CPU dan RAM. Overcommit pada CPU bisa diibaratkan seperti RAM di atas. Misalnya, total core fisik dari CPU server hanya sebanyak 16 cores, namun tiap VM (ada 5 VM) diberikan alokasi masing-masing 4 vCPU dan totalnya adalah 20 vCPU (melebihi jumlah 16 cores fisik CPU).

Sistem akan melakukan penjadwalan job pada masing-masing VM pada CPU fisik yang tersedia. Selama VM yang ada tidak mengalami load tinggi atau sibuk dalam waktu yang sama, kondisi overcommit masih dapat dikatakan aman.

Overcommit dan Risikonya

Walaupun kita punya server dengan 16 cores CPU dan RAM sebesar 64 GB dan bisa membuat VM dengan total resource 20 vCPU dan 80 GB RAM, jumlah resource fisiknya tetap 16 cores CPU dan 64 GB RAM. Yang berubah hanya jumlah virtual resources yang dialokasikan untuk VM.

Risiko dari penggunaan overcommit yang tidak dimanajemen atau dipantau dengan baik adalah ketika banyak VM benar-benar menggunakan resource yang dialokasikan. Misalnya ada kondisi di mana semua VM membutuhkan jumlah RAM dan CPU yang besar. Kondisi ini menyebabkan host atau server fisik mulai kekurangan RAM dan CPU dan memengaruhi performa VM.

Sebenarnya PVE/Linux memiliki mekanisme untuk mengatasi kondisi seperti ini dengan menggunakan memory ballooning atau swap memory namun apabila kondisinya terlalu parah, penurunan performa drastis dapat terjadi.

Overcommit mengandalkan asumsi bahwa tidak semua VM akan menggunakan resource maksimal secara bersamaan.

Namun bukan berarti overcommit selalu buruk. Kadang, tanpa overcommit penggunaan resource dari server malah menjadi kurang efisien. Misalnya, dari 64 GB RAM yang tersedia tapi penggunaan RAM oleh VM hanya sebesar 30 GB. Masih ada sisa RAM yang dapat dimanfaatkan.

Dengan overcommit, kita bisa memberikan alokasi resource yang lebih besar untuk VM asalkan kita tetap memperhatikan penggunaan resource asli dan karakteristik workload dari VM yang kita kelola.

Penutup

Overcommit adalah memberikan resource virtual lebih banyak daripada resource fisik yang tersedia.

Di Proxmox VE, hal ini bisa diterapkan terutama pada CPU dan RAM. Teknik ini memungkinkan satu server menjalankan lebih banyak VM dan memanfaatkan resource dengan lebih efisien.

Namun, overcommit tetap memiliki batas. Selama penggunaan aktual masih berada dalam kapasitas server dan masih tersedia headroom yang cukup, overcommit bisa menjadi strategi yang masuk akal.

Tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.

By Zaidan

Leave a Reply

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