Instalasi Dan Konfigurasi Corosync Pacemaker HA-Clustering Di OpenSUSE

Posted by techshoot on February 1, 2015

Corosync merupakan bagian dari pacemaker, mirip seperti heartbeat. Fungsinya adalah sebagai loadbalancer dan checker pada cluster environment. OpenSUSE 12.3 tidak memuat software ini pada repositori standar. Tapi bukan berarti tidak ada paket RPM yang bisa dengan mudah anda install. OpenSUSE menyediakan paket ini pada HA:Clustering repository.

zypper ar -f http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/openSUSE_12.3
zypper ref -f
zypper install pacemaker corosync

Setelah selesai instalasi paket - paket beserta dependencies, langkah selanjutnya adalah mempersiapkan SSH passwordless . Gunanya selain nantinya memudahkan untuk singkronisasi file dalam clustering, dapat juga mempermudah perpindahan file konfigurasi pada setiap server yang di cluster. Sebelumnya saya akan menjelaskan environment yang saya pakai pada tulisan ini.

Cluster Node 1                              Cluster Node 2
OpenSUSE 12.3                               OpenSUSE 12.3
Minimal text based                          Minimal text based
Hostname : cluster-00.techshoot.org         Hostname : cluster-01.techshoot.org
IP : 192.168.184.20                         IP : 192.168.184.21
corosync-keygen

Corosync menggunakan enkripsi otentikasi 1024 bit secara default, namun pada beberapa kasus corosync generate semua metode enkripsi. Oleh karena itu jika proses generate authkey terjadi sangat lama, biarkan saja dan tunggu hingga selesai dengan sendirinya. Setelah proses generate authkey selesai, lakukan copy authkey ke Cluster Node lainnya.

scp /etc/corosync/authkey root@cluster-01:/etc/corosync/

Proses copy menggunakan scp kadang tidak berhasil jika anda belum melakukan SSH passwordless. Setelah berhasil copy authkey, selanjutnya adalah konfigurasi corosync. Corosync pada OpenSUSE memiliki standar konfigurasi yang bisa menjadi acuan anda, terletak pada directory /etc/corosync. Saya akan menggunakan corosync.conf.example.udpu sebagai acuan konfigurasi.

cp /etc/corosync/corosync.conf.example.udpu /etc/corosync/corosync.conf
vi /etc/corosync/corosync.conf

Berikut contoh konfigurasi yang saya gunakan, ada penambahan konfigurasi pada baris 3 - 6 yaitu penambahan user dan group untuk menjalankan openais, pacemaker dan corosync. Selain itu pada memberaddr, anda harus mendeskripsikan IP node - node yang digunakan. Langkah selanjutnya periksa firewall konfigurasi pada semua Cluster Node !. Jika firewall aktif, anda harus membuka port UDP 5405 untuk komunikasi corosync antar node.

Buat sebuah file baru pada /etc/corosync/service.d/pcmk gunanya untuk mendeskripsikan engine apa yang akan digunakan oleh corosync.

vi /etc/corosync/service.d/pcmk

Isi dengan baris - baris berikut :

service {
name: pacemaker
ver: 0
}
scp /etc/corosync/corosync.conf root@cluster-01:/etc/corosync/
scp /etc/corosync/service.d/pcmk root@cluster-01:/etc/corosync/service.d/

Pada OpenSUSE initscript corosync tidak ada pada /etc/init.d/corosync, namun ada pada /etc/init.d/openais. Oleh karena itu start service corosync menggunakan command berikut,

/etc/init.d/openais start
crm_mon -1 # command check
============
Last updated: Tue Jan 6 07:51:20 2015
Last change: 
Current DC: NONE
0 Nodes configured, unknown expected votes
0 Resources configured.
============
Online: [ cluster-00.techshoot.org ]
------------------------------

Lakukan verifikasi pada corosync

crm_verify -L

Disable stonith dan quorum storage

crm configure property stonith-enabled=false
crm configure property no-quorum-policy=ignore

Konfigurasi virtual IP Cluster serta lama waktu pengecekan

crm configure primitive VirtualIP ocf:heartbeat:IPaddr2 \
        params ip="192.168.184.10" cidr_netmask="24" \
        op monitor interval="30s"

Quorum merupakan storage system dari pacemaker. Karena pada tulisan ini saya hanya menggunakan 2 buah node, quorum tidak diperlukan. Sistem storage quorum berlaku jika kita sudah memiliki 3 atau lebih node, dan salah satunya sebagai storage. Namun bukan berarti memiliki 3 node atau lebih harus memiliki quorum. Sedangkan VirtualIP merupakan nama yang anda berikan pada Cluster IP virtual, sehingga nantinya dari luar hanya mengakses pada Virtual IP tersebut. Pastikan saat anda menetapkan VirtualIP merupakan IP baru yang berbeda dengan Node manapun. Anda bisa melihat node mana yang sedang digunakan menggunakan command crm_mon. Seperti pada contoh berikut :

============
Last updated: Sat Jan  10 03:43:42 2015
Last change: Sat Jan  10 03:40:53 2014 by root via cibadmin on cluster-00
Stack: openais
Current DC: cluster-00 - partition with quorum
Version: 1.1.7-61a079313275f3e9d0e85671f62c721d32ce3563
2 Nodes configured, 2 expected votes
1 Resources configured.
============

Online: [ cluster-00 cluster-01 ]

VirtualIP       (ocf::heartbeat:IPaddr2):       Started cluster-00

NOTE: Tulisan ini merupakan rewrite dari tulisan dari blog mahirrudin, tujuannya agar tidak lupa nantinya dan juga atas permintaan dari penulis artikel tersebut untuk dicantumkan juga disini.

Sumber : http://snozberry.org/blog/2012/05/02/corosync-slash-pacemaker-on-centos-6/


comments powered by Disqus