ha-logo

CentOS 7 High Availability – Corosync Pacemaker

Pada artikel kali ini, Aitech mencoba memperkenalkan teknologi clustering dengan CentOS – Corosync dan Cluster Manager menggunakan Pacemaker, semoga tulisan ini bisa mudah dipahami dan juga bermanfaat bagi kita semua, amiien 🙂

Infrastruktur

Pada pengujian di Lab Aitech ini ada 3 node yang akan digunakan dan setiap node juga menggunakan distro yang sama, yaitu CentOS 7 dengan instalasi minimal. Virtual machine menggunakan Spec yang sama, sebagai berikut:

  1. 1 CPU Core
  2. 1 GB RAM
  3. 1 partisi 13 GB
  4. 1 partisi 1 GB
  5. 2 network adapter

sedangkan untuk cluster node FQDN menggunakan :

a. node1.alifia.co.id (hostname: node1)

b. node2.alifia.co.id (hostname: node2)

c. node3.alifia.co.id (hostname: node3)

disini Aitech menggunakan network yang sama 172.18.64.0/24sebaiknya disarankan menggunakan network yang berbeda jika sudah ada environment-nya 🙂 berikut ip address yang sudah di berikan (static) :

172.18.64.173, 172.18.64.204: node1.alifia.co.id
172.18.64.162, 172.18.64.219: node2.alifia.co.id
172.18.64.167, 172.18.64.208: node3.alifia.co.id

Untuk sinkronisasi, sebaiknya juga node di install dengan paket NTP sehingga waktu dari masing-masing node sama.

dan selanjutnya menjalankan NTP service pada masing-masing node:

Aktifkan NTP pada saat system booting:

Install dan Konfig Corosync

Pada bagian ini, kita harus melakukan konfigurasi pada firewalld daemon di setiap node supaya memberikan izin terhadap komunikasi trafik pada port 5404 dan 5405 UDP.

ha-config-firewall-corosync

tahap selanjutnya adalah menginstall corosync dan pastikan selalu dijalankan setiap booting pada masing-masing node:

Tahapan selanjutnya adalah membuat kunci enkripsi dengan perintah corosync-keygen , dengan kunci ini maka setiap komunikasi masing-masing node akan terproteksi. Kemungkinan pada sistem akan terasa lambat dalam mengenerate entropy, jadi sebaiknya menginstall tool seperti haveged ataupun RNGD untuk mempercepat proses entropy, atau secara simultan menjalankan perintah dd if=/dev/urandom of=file.txt  – jangan lupa menghapus file ini ketika corosync-keygen sudah selesai.

 ha-generate-entropy

untuk memantau jumlah entrophy yang tersedia :

watch -n 1 cat /proc/sys/kernel/random/entropy_avail

Membuat Konfig Corosync

Aitech mengambil sampel yang sudah ada pada file corosync.conf.example :

[root@node1 ~]# cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf

Berikut adalah konfig yang sudah berhasil di jalankan:

beberapa hal yang harus ditambahkan:

a. pada bagian quorum, hapus simbol pagar pada #provider: corosync_votequorum
b. ganti crypto_cipher: none menjadi crypto_cipher: aes256
c. crypto_hash enkripsi menjadi sha256
d. ganti bindnetaddr: 192.168.1.0 dengan network yang kita gunakan
e. to_syslog: yes maenad to_syslog: no karena log sudah tersimpan pada berkas /var/log/cluster/corosync.log

selanjutnya men-copy corosync.conf dan authkey ke seluruh node – jika Anda menggunakan network yang berbeda pada masing-masing node, jangan lupa mengganti bindnetaddr  parameter disesuaikan dengan network:

ha-copy-corosync

setelah itu, pada masing-masing node Aitech jalankan corosync service, berikut contoh pada node1 :

Untuk melihat jumlah node yang terhubung dalam cluster, gunakan perintah berikut:

ha-cor-maps

untuk melihat status dari cluster quorum menggunakan perintah corosync-quorumtool

ha-corosync-quorumtool

perhatikan infomasi dari Node ID, Quorum, Total Votes dan Membership Information, pada saat awal Aitech membuat cluster dengan 3 nodes, seharusnya dalam membership juga ada 3 Nodeid, jika kurang – berarti ada kesalahan di corosync config.

jangan lupa backup konfigurasi yang sudah berjalan dengan baik, jika nanti ada perubahan konfig dan mengalami kendala bisa di revert yang konfig yang tidak bermasalah.

Install dan Konfigurasi Pacemaker

Setelah tahapan Corosync, selanjutnya Aitech akan menginstall Pacemaker sebagai Cluster Manager, namun sebelumnya jangan lupa menambahkan port 2224 pada masing-masing node yang akan digunakan oleh Pacemaker trafik dalam list firewalld

Setelah itu baru dimulai instalasi Pacemaker dan pcs command pada masing-masing node juga:

langkah selanjutnya adalah menjalankan pcsd  service pada setiap kali system booting pada setiap node:

 

hacluster  user secara automatis akan dibuat ke dalam system, karena itu kita perlu setup password untuk user ini dan sebaiknya password sama untuk setiap cluster akan lebih mudah manajemen ataupun troubleshooting kesalahan nantinya, hacluster user ini nantinya digunakan sebagai user autentikasi dari pcs cluster auth pada seluruh node pcs daemon :

langkah selanjutnya melakukan pengetesan dari hacluster  username yang sudah kita setup password pada seluruh node yang masuk ke dalam cluster :

Perintah diatas akan mereplikasi konfigurasi pada seluruh node yang aktif, perintah —force digunakan karena setiap node sudah memiliki konfigurasi yang aktif pada perlu di paksakan agar corosync menggunakan konfig yang baru.

Karena perintah —force sebelumnya menimpa konfigurasi yang sudah berjalan, Aitech akan mengembalikan dengan konfig yang sudah dibackup sebelumnya, dan mendistribusikan kembali pada seluruh node. Juga merubah kembali bindnetaddr  disesuaikan dengan node address masing-masing:

 

perintah berikut ini adalah untuk menjalankan cluster pada seluruh node:

pastikan juga mengecek node satu per satu dengan perintah pcs status  untuk memastikan bahwa semua node sudah aktif dalam cluster:

Bersambung…

Sementara cukup dulu untuk malam ini, ternyata panjang juga menjelaskan bagian ini dalam sebuah tulisan 🙂 bagian selanjutnya adalah konfigurasi cluster dan fail-over web server, silahkan ditunggu bagian-2.

Leave A Comment

Your email address will not be published. Required fields are marked (required):

Back to Top