Hai semuanya, apa kabar? Pada tulisan sebelumnya saya sudah tulis secara singkat tentang cara kerja atau mekanisme dari HA, dan mengapa HA minimal membutuhkan 3 server dan lebih disarankan berjumlah ganjil.
Pada tulisan ini, kita akan coba ulik cara lain yang dapat dilakukan agar kita dapat menggunakan fitur HA walaupun hanya menggunakan dua server. Sistem lain yang perlu kita siapkan adalah Qdevice atau sistem yang berfungsi sebagai tambahan vote agar cluster dapat memenuhi syarat quorum.
Tapi perlu diingat. Tulisan ini bukanlah panduan yang “proper“. Karena tulisan ini juga jadi “catatan” percobaan saya.
Persiapan Cluster
Membuat Cluster
Pada pengujian kali ini, kita akan buat cluster baru yang masih fresh. Saya sudah siapkan dua buah server yaitu pve11 & pve12.

Kita buat cluster-nya terlebih dahulu. Menunya ada di Datacenter> Cluster> Create Cluster.
(curhat sedikit. kadang saya bingung kalo begini. mau ditulis atau nggak ya cara bikin cluster-nya. kan gampang, tapi kaya “nanggung” gitu kalo ga ditulis. hmm)
Pilih tombol Join Information dan salin kodenya. Kode ini dibutuhkan untuk ditempelkan pada pve2 saat proses join cluster.

Pada pve12, buka menu Datacenter> Cluster> Join Cluster. Masukkan kode yang didapatkan dari pve11 dan masukkan juga password dari pve11. Pilih tombol Join untuk melanjutkan proses join cluster.

Kalau setelah beberapa saat tampilan web interface belum berubah (atau menampilkan “Connection Error“). reload saja halamannya. Lalu masuk kembali ke dalam web interface. Gambar di bawah ini menampilkan pve11 dan pve12 yang sudah tergabung ke dalam cluster.

Shared Storage
Karena cluster dan server yang dibuat masih bisa dibilang “fresh“, saya belum menyiapkan storage (selain local/local lvm) untuk digunakan sebagai disk/container image storage. Kita akan buat satu storage baru dengan format ZFS yang nantinya dapat dimanfaatkan untuk VM Proxmox Replication (dijadikan semacam shared storage).
Pada pve11 dan pve12 saya sudah siapkan masing-masing satu disk kosong berukuran 60GB.

Pada pve11 dan pve12, buka menu ZFS> Create:ZFS untuk membuat storage baru dengan format ZFS. Beri nama untuk storage yang akan kita buat. Perlu diingat, pemberian nama harus sama pada tiap server agar proses replikasi nantinya dapat berjalan.

Pilih disk kosong yang tadi siapkan untuk dijadikan storage. Pilih juga Add Storage (checkbox). Selanjutnya, pilih tombol Create untuk melanjutkan proses pembuatan storage.
Apabila mengalami kendala (seperti ada tulisan “xxx has already defined“) dan storage hanya muncul pada satu server (seperti gambar di bawah):

Coba cek Datacenter> Storage dan pilih ZFS yang tadi sudah dibuat. Pada bagian Nodes, pilih pve12-nya.

Pilih OK untuk melanjutkan.
Kita bisa lihat pada gambar di bawah ini bahwa zfs-storage sudah muncul pada pve11 dan pve12.

Pembuatan Qdevice
Sistem qdevice dapat diimplementasikan dengan beberapa cara. Salah satunya adalah menggunakan LXC/container. Pada pengujian kali ini kita akan gunakan LXC Debian sebagai sistem qdevice-nya.
Penempatan qdevice sebenarnya bisa saja di dalam cluster. Tapi cara ini kurang direkomendasikan. Karena, bagaimana kalau host dari qdevice ini down? Itu sama saja “membatalkan” fungsi utama dari qdevice.
Pada pengujian kali ini kita akan deploy sistem qdevice-nya di luar cluster pve11 & pve12 (masih pakai PVE juga).
Persiapan LXC Debian
Di Proxmox VE sudah disediakan menu Templates yang berisi template LXC yang bisa digunakan untuk deploy LXC. Tapi kita perlu download atau siapkan terlebih dahulu sebelum kita buat LXC/CT-nya. Pilih storage > CT Templates> Templates> cari & download.

Selanjutnya, buat CT Debian dengan menggunakan template yang sudah disiapkan (kali ini gak saya tulis step-by-step-nya ya). Untuk resource-nya tidak usah besar-besar. Misalnya disk sebesar 4 GB dan memori sebesar 1 GB.
Gambar di bawah menampilkan CT Debian yang sudah berhasil dibuat (dan sudah berhasil masuk ke konsolnya).

Instal Service & Packages CT
Setelah CT berhasil dibuat, selanjutnya kita instal service yang dibutuhkan, yaitu corosync.
Jalankan perintah berikut pada CT:
apt update
apt install -y corosync-qnetd
Cek status dari corosync:
Gambar di atas menunjukkan status corosync pada CT dalam kondisi aktif.
Akses SSH
Pastikan juga akses SSH pada CT Debian tersebut aktif ya. Cek terlebih dahulu apakah sudah ada service SSH pada CT Debian. Misalnya menggunakan perintah berikut:
Walaupun SSH sudah aktif, tapi saat kita coba hubungkan ke CT Debian melalui terminal hasilnya gagal walaupun sudah memasukkan password yang sesuai.

Masuk ke CT Debian dari menu console dan buka file /etc/ssh/sshd_config. Aktifkan (hapus tanda ‘#’) pada baris PermitRootLogin dan sesuaikan menjadi yes.

Simpan file, dan mulai ulang SSH dengan menggunakan perintah:
systemctl restart ssh
Sekarang CT Debian sudah bisa diakses secara remote.

Setup di pve11 dan pve12
Setelah CT Debian siap, kita akan melakukan konfigurasi qdevice pada server pve11 dan pve12.
Kita instal service corosync-qdevice pada pve11 dan pve12.

Apabila service tersebut sudah diinstal, selanjutnya adalah menjalankan perintah untuk mendaftarkan qdevice ke dalam cluster. Proses ini akan mengirim public key SSH dari server ke sistem qdevice.
Perintah yang digunakan dalam pengujian ini adalah pvecm qdevice setup 192.168.9.13 -f . Di mana 192.168.9.13 adalah amaat IP dari CT Debian yang dijadikan qdevice.

Cek Cluster Manager
Selanjutnya, kita cek status vote/quorum pada cluster manager dengan menggunakan perintah pvecm status.

Bisa kita lihat, untuk nodes jumlahnya tetap 2, sesuai jumlah yang ada di dalam cluster. Namun pada bagian total votes sudah ada tiga vote.
Pada bagian Membership Information juga kita dapat melihat bahwa sistem qdevice sudah terdaftar.
Untuk tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.



