Proxmox: Menyetel Waktu Tunggu Menjalankan Semua VM Otomatis

Kendala yang sering ditemui di server kluster PVE (Proxmox Virtual Environment) adalah padamnya listrik. Padamnya listrik menyebabkan seluruh node di kluster mati berikut mesin-mesin virtual (VM) dan layanan yang berjalan di atasnya. Saat listrik menyala kembali, PVE akan menjalankan VM-VM yang diset “Start at Boot” secara otomatis. Namun, seringkali tugas ini gagal dengan pesan “Error: cluster not ready – no quorum?“.

Pesan tersebut muncul karena salah satu atau beberapa node belum siap, sehingga quorum tidak terpenuhi. Ini fitur dari Proxmox, yang tidak mengijinkan menjalankan operasi-operasi kluster jika quorum tidak terpenuhi.

Solusi di VM Autorun dengan Delay di Proxmox dengan mengeset “Startup delay” tidak memecahkan masalah. Setelan tersebut digunakan untuk menyetel waktu tunda VM berikutnya dijalankan setelah VM aktif telah dijalankan.

Solusi yang bisa dilakukan adalah dengan mengubah kode PVE manager.

Di Proxmox versi 3.4-6, file yang perlu diubah adalah /usr/share/perl5/PVE/API2/Nodes.pm, di baris 1313. Untuk menyetel waktu timeout kuorum sampai 60 detik, ubah kode tersebut menjadi:

 # wait up to 10 seconds for quorum, changed to 60 seconds
            for (my $i = 60; $i >= 0; $i--) {
                last if PVE::Cluster::check_cfs_quorum($i != 0 ? 1 : 0);
                sleep(1);
            }

Berikut perubahan yang dilakukan:

--- /usr/share/perl5/PVE/API2/Nodes.pm.orig	2015-12-24 08:56:29.000000000 +0700
+++ /usr/share/perl5/PVE/API2/Nodes.pm	2015-12-24 08:57:43.000000000 +0700
@@ -1309,8 +1309,8 @@
 	    $rpcenv->{type} = 'priv'; # to start tasks in background
-	    # wait up to 10 seconds for quorum
-	    for (my $i = 10; $i >= 0; $i--) {
+	    # wait up to 10 seconds for quorum, changed to 60 seconds
+	    for (my $i = 60; $i >= 0; $i--) {
 		last if PVE::Cluster::check_cfs_quorum($i != 0 ? 1 : 0);
 		sleep(1);
 	    }

Leave a Reply

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


*

This blog is kept spam free by WP-SpamFree.