High Availability Aplikasi dengan Pacemaker dan Corosync

Hai, Sobat Jagoan! Tutorial kali ini akan menunjukkan cara menggunakan Pacemaker dan Corosync di VPS Ubuntu untuk membuat infrastruktur server High Availability. Tapi sebelum mulai, yuk simak ulasan di bawah ini dulu!

Jika lingkungan aplikasimu membutuhkan sumber daya yang selalu tersedia setiap waktu meskipun terjadi gangguan, maka kamu perlu menyediakan server dengan kemampuan pengalihan kegagalan tanpa menyebabkan downtime. Kebutuhan ini dikenal sebagai High Availability (HA), yaitu penerapan sistem klaster dengan mengelompokkan beberapa server (node) bersama-sama dan mengalokasikannya ke layanan penting sehingga jika satu node gagal, node lain akan mengambil alih secara otomatis. Dengan begitu ketersediaan layanan tetap stabil dan berjalan lancar.

HA dapat diwujudkan dengan memanfaatkan alat bernama Pacemaker dan Corosync. Cukup melakukan instal lalu konfigurasi berdasarkan kebutuhan, server kamu akan jadi handal tanpa khawatir layanan ditinggalkan pelanggan.

Pacemaker bertindak sebagai Cluster Resource Manager (CRM) yang mengawasi resource klaster seperti aplikasi, alamat IP virtual, dan service penting serta mengatur failover otomatis bila ada node gagal, sedangkan Corosync berperan sebagai lapisan pengirim pesan antar node dalam klaster dan memastikan semua server dalam klaster saling terhubung sehingga bisa bertukar status secara real-time.

Intinya Corosync memungkinkan server untuk berkomunikasi sebagai sebuah klaster, sementara Pacemaker menyediakan kemampuan untuk mengontrol bagaimana klaster tersebut berperilaku.

Cara Instal Pacemaker dan Corosync di Server

Di bawah ini merupakan cara menginstal Pacemaker dan Corosync di VPS Ubuntu, tapi ada beberapa hal yang harus kamu persiapkan.

Prasyarat

  1. Mempunyai dua atau lebih server yang akan dijadikan klaster dengan koneksi jaringan stabil antar server
  2. Pastikan menggunakan distro (Ubuntu, CentOS, atau Debian) yang kompatibel dan dalam kondisi terbaru
  3. Pastikan server mempunyai hostname unik dan bisa melakukan resolve DNS atau terdapat file /etc/hosts
  4. Jika perlu, sinkronkan waktu antar server menggunakan NTP agar waktu sinkron

Langkah-Langkah Instal Pacemaker dan Corosync

STEP 1: Masuk ke server milikmu lalu lakukan update daftar paket dan sistem agar menggunakan semua komponen terbaru.

				
					sudo apt update && sudo apt upgrade -y
				
			

STEP 2: Setelah memperbarui paket sistem, jalankan perintah berikut ini untuk menginstal Pacemaker dan Corosync di Ubuntu.

				
					sudo apt install pacemaker corosync -y
				
			

STEP 3: Jika instalasi selesai, periksa status layanan keduanya dan pastikan telah aktif.

				
					sudo systemctl status pacemaker
sudo systemctl status corosync

				
			

Ini adalah contoh status apabila Pacemaker dan Corosync telah berjalan.

high-availability-aplikasi-instal-pacemaker
Status service Pacemaker
high-availability-aplikasi-instal-pacemaker
Status service Corosync

Jalankan perintah di bawah ini apabila terbaca belum aktif. Note: sesuaikan dengan layanan yang ingin diaktifkan.

				
					sudo systemctl start pacemaker
sudo systemctl start corosync

				
			

Agar layanan otomatis berjalan saat booting, jalankan perintah:

				
					sudo systemctl enable pacemaker
sudo systemctl enable corosync

				
			

Konfigurasi Pacemaker dan Corosync

Untuk menerapkan fungsi kedua layanan, berikut beberapa konfigurasi dasar yang bisa kamu lakukan, antara lain:

1. Konfigurasi Corosync

Modifikasi file konfigurasi Corosync di /etc/corosync/corosync.conf, kemudian tentukan node-node yang akan bergabung dalam klaster dengan memasukkan alamat IP dan hostname masing-masing node. Contoh konfigurasi:

				
					totem {
    version: 2
    secauth: on
    crypto_hash: sha1
    crypto_cipher: aes256
    cluster_name: my_cluster
    transport: udpu
    interface {
        ringnumber: 0
        bindnetaddr: 192.168.1.0    # Ganti dengan subnet jaringan cluster kamu
        mcastport: 5405
        ttl: 1
   }
}</code> nodelist {     node {         ring0_addr: node1.example.com  # Hostname atau IP node 1         nodeid: 1     }     node {         ring0_addr: node2.example.com  # Hostname atau IP node 2         nodeid: 2     } }&lt; quorum {     provider: corosync_votequorum     two_node: 1 } logging {     to_syslog: yes }

				
			

2. Mulai dan Sinkronisasi Corosync

Setelah mengatur konfigurasi Corosync, restart service agar pengaturan diterapkan.

				
					sudo systemctl restart corosync
				
			

Lalu, pastikan semua node dalam cluster terhubung dengan menjalankan perintah:

				
					corosync-cmapctl | grep members
				
			

3. Konfigurasi Pacemaker

Selanjutnya, aktifkan Pacemaker untuk mengatur klaster otomatis.

				
					sudo systemctl start pacemaker
				
			

4. Tambahkan Resource dan Set Up Failover

Kemudian, definisikan resource yang akan dikelola oleh klaster dan buat aturan failover agar resource dapat berpindah otomatis ke node lain jika node utama bermasalah. Contoh konfigurasi dasar:

				
					# Tambah resource IP virtual
crm configure primitive VirtualIP ocf:heartbeat:IPaddr2 \
 params ip=192.168.1.100 cidr_netmask=24 \
 op monitor interval=30s
# Tambah resource service (misal nginx)
crm configure primitive nginx_service systemd:nginx \
 op monitor interval=30s timeout=30s
# Buat grup resource supaya berjalan bersama
crm configure group web_group VirtualIP nginx_service
# Aktifkan failover otomatis
crm configure colocation col_web_with_ip INFINITY: web_group VirtualIP
crm configure order ord_web_after_ip Optional: VirtualIP web_group

				
			

5. Periksa Status Klaster

Lalu, cek agar semua node dan resource terhubung tanpa terjadi kesalahan serta sesuai harapan.

				
					sudo crm status
				
			

Monitoring dan Manajemen Klaster

Nah, setelah semua klaster berjalan dan konfigurasi resource tidak ada kendala, kamu bisa mulai melakukan monitoring dan manajemen klaster agar dapat mengambil tindakan yang sesuai jika mengalami gangguan. Tindakan yang bisa dilakukan antara lain:

  1. Periksa status klaster dengan menjalankan perintah crm status atau pcs status untuk melihat kondisi node, resource berjalan normal.
  2. Pantau log klaster yang biasanya ada di path /var/log/syslog/ atau /var/log/cluster untuk troubleshooting masalah seperti ada resource yang gagal dijalankan, node keluar dari klaster, dan lainnya.
  3. Manajemen via GUI agar monitoring dan manajemen jadi lebih mudah melalui tampilan grafis dengan menginstal Hawk atau Web UI dari PCS.
  4. Lakukan failover testing sewaktu-waktu untuk memastikan failover berjalan otomatis sebagaimana mestinya, misalnya simulasi node down dan lihat apakah resource diarahkan ke node lain dengan lancar.

Demikian panduan melakukan instal dan konfigurasi Pacemaker dan Corosync untuk membangun infrastruktur server High Availability di VPS Ubuntu. Nggak perlu risau berlebih jika tiba-tiba server utama mengalami downtime karena sistem akan menangani otomatis tanpa mengganggu aplikasi. Kamu hanya perlu memastikan semua konfigurasi benar, semua node terhubung dengan baik, dan melakukan pengecekan rutin terhadap fitur yang tersedia.

Apabila ada yang masih bingung, jangan ragu hubungi Tim Support Jagoan Hosting melalui Live Chat atau Open Ticket, Sob. Good luck, ya!

Related Posts
Tips Mengatasi Error Undefined Index / Variable

Pengantar Halo sobat Jagoan! di tutorial kali ini kita bakalan membahas permasalahan Error Undefined Index/Variable. Pasti sekarang kamu lagi main-main Read more

Tutorial Install Virus Scanner Clam AV pada cPanel

Kamu ngerasa insecure karena belum install antivirus? Install antivirus emang penting, Sob untuk menjaga performa server kamu. Nah, kamu bisa Read more

Tutorial mereset Password MySQL melalui akses Root

Lupa password root MySQL kamu? Gawat!, tapi kamu gak perlu panik, kita akan bahas bareng tutorialnya berikut ini. Eh, tapi Read more

Tutorial Mengecek Kendala pada Website dengan Tools Online

Halo, Sob! Suka bingung kalau mau cek kendala website kamu? Nih, gak usah bingung lagi karena sekarang kita bisa cek Read more