HA Zimbra Drbd Heartbeat

24
High Availability Zimbra menggunakan DRBD dan Heartbeat Zimbra ID Meeting II December 06, 2009 @ Samikuring - Bekasi

Transcript of HA Zimbra Drbd Heartbeat

Page 1: HA Zimbra Drbd Heartbeat

High AvailabilityZimbra menggunakan DRBD dan Heartbeat

Zimbra ID Meeting IIDecember 06, 2009 @ Samikuring - Bekasi

Page 2: HA Zimbra Drbd Heartbeat

High Availability ?Adalah tingkat ketersediaan layanan yang tinggi atau uptime 100%.

Heartbeat ?Merupakan daemon yang menyediakan infrastruktur cluster.

Distributed Replicate Block Device [DRDB] ?Cluster mirroring dari sebuah blok device [harddisk, logical volume].

HA= Heartbeat + DRBD

Page 3: HA Zimbra Drbd Heartbeat

Gb.1. Ilustrasi cara kerja DRBD

dari: http://drbd.org

Page 4: HA Zimbra Drbd Heartbeat

Gb.2. Ilustrasi cara kerja Heartbeat

dari: http://drbd.org

Page 5: HA Zimbra Drbd Heartbeat

Instalasi dan konfigurasi DRBD & Heartbeat

Instalasi dapat dengan menggunakan tools yang ada pada masing-masing distro [yum, yast, apt-get, aptitude, etc].

Domain yang akan digunakan adalah zimbra.int

zimbra.int. IN 10 MX mail.zimbra.intmail.zimbra.int. IN 10.0.0.5

Hostname:127.0.0.1 localhost.localdomain localhost10.0.0.1 node1.zimbra.int10.0.0.2 node2.zimbra.int10.0.0.5 mail.zimbra.int

Page 6: HA Zimbra Drbd Heartbeat

Partisi ? Sama halnya dengan raid, size partisi yang akan di-mirrorkan haruslah sama. Sebagai contoh device yang akan dimirrorkan adalah /dev/hda2 dengan format file system raw.

Step by step ?Proses instalasi dapat dijadikan dua bagian, pertama adalah instalasi dan konfigurasi HA, kemudian dipastikan HA telah berfungsi dengan baik sebelum dilanjutkan ke instalasi zimbra.

Page 7: HA Zimbra Drbd Heartbeat

Step 1, instal drbd dan kmod-drbd# yum -y install drbd kamod-drbd# rpm -qa | grep drbddrbd-8.0.16-5.el5.centoskmod-drbd-8.0.16-5.el5_3

Selanjutnya konfigurasi file drbd.conf di /etc/drbd.conf, bisa menggunakan vi editor, nano, pico, mc atau sesuai selera saja...

# vi /etc/drbd.conf

Page 8: HA Zimbra Drbd Heartbeat

#Start of drbd.conf

global {usage-count ask;}common { syncer { rate 10M; } }resource r0 { protocol C; handlers { pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f"; pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f"; local-io-error "echo o > /proc/sysrq-trigger ; halt -f"; outdate-peer "/usr/lib/heartbeat/drbd-peer-outdater -t 5"; } startup { wfc-timeout 40; degr-wfc-timeout 120; # 2 minutes. } disk { on-io-error detach; }

Page 9: HA Zimbra Drbd Heartbeat

net { timeout 60; # 6 seconds (unit = 0.1 seconds) connect-int 10; # 10 seconds (unit = 1 second) ping-int 10; # 10 seconds (unit = 1 second) max-buffers 2048; max-epoch-size 2048; cram-hmac-alg "md5"; shared-secret "tes_DRBD"; after-sb-0pri disconnect; after-sb-1pri disconnect; after-sb-2pri disconnect; rr-conflict disconnect; }

Page 10: HA Zimbra Drbd Heartbeat

syncer { rate 10M; al-extents 257; } on node1 { device /dev/drbd0; disk /dev/hda2; address 10.0.0.1:7788; meta-disk internal; } on node2 { device /dev/drbd0; disk /dev/hda2; address 10.0.0.2:7788; meta-disk internal; }}###End of drbd.conf

Page 11: HA Zimbra Drbd Heartbeat

Pastikan semua konfigurasi baik drbd maupun heartbeat nantinya antara node1 dan node2 adalah sama.

Untuk menghapus file system di partisi yang akan digunakan bisa dengan perintah dibawah ini:# dd if=/dev/zero bs=1M count=1 of=/dev/hda2; sync

Kemudian buat metadata pada resource r0# drbdadm create-md all

Start drbd service# service drbd start

Mungkin ada pertanyaan karena node2 belum running, silahkan di jawab “yes” saja.

Page 12: HA Zimbra Drbd Heartbeat

Lakukan perintah-perintah diatas di node2 dan silahkan start drbd di node2, dan lihat status dikedua node:# cat /proc/drbd0..........skiped........

Pastikan drbd di kedua node tidak ada masalah, selanjutnya adalah konfigurasi ha.cf yang merupakan file konfigurasi dari heartbeat.

# vi /etc/ha.cf

Page 13: HA Zimbra Drbd Heartbeat

###Start of ha.cf

mcast eth1 239.0.0.1 694 1 0keepalive 2warntime 5deadtime 15initdead 30autojoin nonenode node1.zimbra.intnode node2.zimbra.intrespawn hacluster /usr/lib/heartbeat/ipfailapiauth default uid=nobody gid=haclientapiauth ipfail uid=haclusterapiauth ping gid=nogroup uid=nobody,hacluster

Page 14: HA Zimbra Drbd Heartbeat

#crm noauto_failback onping 10.0.0.1deadping 30debugfile /var/log/ha-debuglogfile /var/log/ha-loglogfacility local0

###end off ha.cf

Page 15: HA Zimbra Drbd Heartbeat

Selanjutnya adalah buat file haresource di /etc/ha.d/haresource mungkin saja path antar distro tidak sama ;)

# vi haresource

###start of haresourcenode1.zimbra.int drbddisk::opt Filesystem::/dev/drbd0::/opt::ext3 Ipaddr::10.0.0.5/24###end of haresource

Page 16: HA Zimbra Drbd Heartbeat

Seperti tadi diawal, copy semua file drbd.conf maupun ha.cf dan haresource yang telah selesai ke node2. Bisa dengan menggunakan scp:

# scp /etc/drbd/drbd.conf node2:/etc# scp /etc/ha.cf node2:/etc# scp /etc/ha.d/haresource node2:/etc/ha.d

Setelah itu kemudian start drbd di node1 dan force saja bila ada pertanyaan.

Page 17: HA Zimbra Drbd Heartbeat

Setelah ada file di /opt pada node1 maka periksa status service drbd apakah ada masalah, bisa dengan menggunakan:# cat /proc/drbd0

......skiped.....

Bila tidak ada masalah dan node1 sudah menjadi primary maka selanjutnya start drbd di node2. Bila tidak ada masalah maka file akan tersalin ke node 2 dan bisa digunakan ketika node2 menjadi primary, hal ini terjadi ketika node1 fail.

Page 18: HA Zimbra Drbd Heartbeat

Untuk melakukan testing apakah heartbeat sebagai failover dan failback bekerja maka bisa dilakukan dengan melepas kabel network dan kemudian melakukan ping ke mail.zimbra.int atau ip 10.0.0.5 bila bekerja maka ping akan tetap reply. If doesn't work?

Page 19: HA Zimbra Drbd Heartbeat

Pastikan instalasi antara kedua node mempunyai parameter yang sama persis. Dan bila di node2 tidak bisa diinstal karena partisi yang sedang di gunakan oleh drbd utnuk synchronize ke node1 maka silahkan matikan putuskan koneksi node1 dan pastikan node2 berdiri sendiri sebagai primary.

Pastikan zmbra di kedua node bekerja dengan baik.Tentunya proses ini tidak ada masalah to?

Instalasi Zimbra Open Source

Page 20: HA Zimbra Drbd Heartbeat

Selanjutnya remove auto start zimbra:# rm /etc/rc2.d/S99zimbra# rm /etc/rc3.d/S99zimbra# rm /etc/rc4.d/S99zimbra# rm /etc/rc5.d/S99zimbra

Masing-masing sistem bisa saja berbeda ;)Selanjutnya stop semua service zimbra.

$zmcontrol zimbra stop

Page 21: HA Zimbra Drbd Heartbeat

Next, pindahkan semua yang ada di /opt ke drive lain, misalnya disini /home/backup# mv /opt/zimbra /home/backup/

Selanjutnya mounting /dev/drbd0 ke /opt bisa edit di fstab.

........skiped.......

Reboot kedua node, pastikan service drbd dan heartbeat running di run level tersebut.

Page 22: HA Zimbra Drbd Heartbeat

Setelah kedua node kembali up dan semua service running well, maka selanjutnya bisa dikembalikan file instaler zimbra ke /optKemudian reboot kedua node dan periksa satu persatu service [drbd, heartbeat, zimbra] apakah sudah running, apabila belum silahkan copy paste log errornya ke milis ;), karena seharusnya semua bisa running well...

Page 23: HA Zimbra Drbd Heartbeat

Referensi:http://drbd.org

http://linux-ha.orghttp://zimbra.com/forum

http://wikipedia.orghttp://google.co.id

Tersedia download di:http://download.zimbra.web.id

ftp://zimbra.pnyet.web.id

Page 24: HA Zimbra Drbd Heartbeat

end../nobody hereThank You!!!