konsep replicate failover drbd

20
Konsep Replicate Failover Menggunakan DRBD & Heartbeat http://pnyet.web.id

Upload: ayah-cisco

Post on 27-Jun-2015

416 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Konsep Replicate Failover Drbd

Konsep Replicate Failover Menggunakan DRBD &

Heartbeat

http://pnyet.web.id

Page 2: Konsep Replicate Failover Drbd

PrefacePermasalahan yang sering menjadi momok bagi sysadmin adalah kegagalan service, dimana hal ini dapat menyebabkan matinya suatu layanan dari sebuah korporasi / organisasi komersial.Dalam hal ini server menjadi pondasi dari layanan tersebut, sehingga diperlukakn uptime 99% dan tidak memberikan toleransi terhadap kegagalan service. Dalam dunia open source, ada beberapa metode yang dapat digunakan sebagai pemenuhan HA (High Availability).Oleh karena permasalahan diatas maka setiap server diperlukan replicate atau similar backup server guna memenuhi HA.

Page 3: Konsep Replicate Failover Drbd

Distributed Replicated Block Device (DRBD) adalah aplikasi yang dapat digunakan sebagai solusi cluster mirroring dari sebuah blok device seperti hard disks, partitions, logical volume dll antar server. DRBD bisa disebut juga network RAID 1 (Mirroring).

Ilustrasi diatas (Figure 1), menggambarkan 2 server yang masing-masing sebagai HA Cluster. Didalamnya terdapat komponen – komponen Linux™ seperti kernel: file system, buffer cache, disk scheduler, disk drivers, TCP/IP stack dan network interface card (NIC) driver.

What is DRBD?

Page 4: Konsep Replicate Failover Drbd

Figure 1

Ilustrasi

Source image: http://drbd.org

Page 5: Konsep Replicate Failover Drbd

Dari gambar diatas (Figure 1.) maka dapat diketahui alur data dari HA service dari primary node ke slave node (stanby node).

Page 6: Konsep Replicate Failover Drbd

What is Heartbeat?Heartbeat adalah daemon pada *nix yang memberikan insfratruktur cluster. Heartbeat memerlukan kombinasi dengan CRM (Cluster Resource Manager) yang bertugas memulai dan mengakhiri service (TCP IP, Web, Database, dll), pada rilis versi 2.xx CRM sudah termasuk kedalamnya.

Page 7: Konsep Replicate Failover Drbd

Ilustrasi

Figure 2 Source image: http://drbd.org

Page 8: Konsep Replicate Failover Drbd

Bagaimana Heartbeat bekerja?Figure 2. menunjukan dimana cluster sebelah kiri dalam keadaan aktif. Contoh kasus: pada saat node 1 aktif maka klien akan berkomunikasi dengan node 1 (sebelah kiri). Kemudian ketika service yang dilayani oleh node 1 mengalami masalah maka service tersebut diambil alih oleh node lainnya.

Proses perpindahan service dari primary node ke slave node ketika terjadi kegagalan disebut juga failover, kemudian proses kebalikannya disebut juga failback dan ketika proses migrasi dilakukan oleh administrator maka disebut switchover.

Page 9: Konsep Replicate Failover Drbd

Installasi dan konfigurasi DRBDDalam kesempatan ini CentOS 5.3 digunakan sebagai uji coba untuk installasi dan konfigurasi. Installasi dapat dilakukan dengan menggunakan utilitas yang ada: yum, zypper, apt-get, dll.

Harddisk atau partisi yang akan di mirrorkan sebaiknya mempunyai block atau size yang sama, hal ini untuk menjamin kelancaran proses mirroring. Dalam uji coba ini digunakan /dev/sda5 ---> /drbddisk sebagai block device yang akan di mirror-kan dan formatnya adalah raw (belum terformat file system, ex: ext3, swap, etc).

Page 10: Konsep Replicate Failover Drbd

Install DRBD

$ sudo yum -y install drbd83 kmod-drbd83 heartbeat

$ sudo rpm -qa | grep drbd

kmod-drbd83-8.3.2-6.el5_3

kmod-drbd83-PAE-8.3.2-6.el5_3

drbd83-8.3.2-6.el5_3

Selanjutnya konfigurasi file /etc/drbd.conf dan pastikan agar isi dari drbd.conf antara node1 dan node2 sama. Disini menggunakan editor favorit masing-masing, disini vi editor sebagai pilihan:

$ sudo vi /etc/drbd.conf

Page 11: Konsep Replicate Failover Drbd

#drbd.conf, for details please see /usr/share/doc/drbd83-8.3.2/drbd.confglobal

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; } 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;

Page 12: Konsep Replicate Failover Drbd

cram-hmac-alg "md5"; shared-secret "mysecret_DRBD"; after-sb-0pri disconnect; after-sb-1pri disconnect; after-sb-2pri disconnect; rr-conflict disconnect; } syncer { rate 10M; al-extents 257; } on node1 { device /dev/drbd0; disk /dev/sda5; address 202.0.0.1:7788; meta-disk internal; } on node2 { device /dev/drbd0; disk /dev/sda5; address 202.0.0.2:7788; meta-disk internal; }}

Page 13: Konsep Replicate Failover Drbd

Selanjutnya create metadata di node1

$ sudo /sbin/drbdadm create-md all

Ingat, pembuatan metadata hanya dapat dilakukan pada partisi yang belum ada file system-nya. Ok, tunggu hingga pembuatan metadata selesai ditandai dengan pesa “Success”.

Jalankan service drbd

$ sudo /etc/init.d/drbd start

Selanjutnya adalah membuat partisi primary, masih di node1

$ sudo /sbin/drbdadm -- --overwrite-data-of-peer primary all

Page 14: Konsep Replicate Failover Drbd

Next, buat file system pada partisi /dev/drbd di node1

$ sudo /sbin/mkfs.ext3 /dev/drbd0

Setelah mount file system

$ sudo /bin/mount /dev/drbd0 /drbddisk

Sebagai percobaan silahkan copy satu file apapun ke dalam direktori /drbddisk.

Page 15: Konsep Replicate Failover Drbd

Langkah-langkah selanjutnya dikerjakan di node2, namun tetap perlu memperhatikan catatan-catatan yang ada.

Create metadata, dan prosesnya sama dengan proses pada node1.

$ sudo /sbin/drbdadm create-md all

Jalankan service drbd

$ sudo /etc/init.d/drbd start

Dengan dijalankannya service drbd pada node2 maka secara otomatis node2 akan melakukan sinkronisasi terhadapa node1.

Page 16: Konsep Replicate Failover Drbd

Untuk melihat status drbd lihat file /proc/drbd

$ sudo cat /proc/drbd

Anggap saja tidak ada masalah sampai disini, kalaupun ada bisa di posting di milist ;=)

Dengan ini maka selesailah sudah membuah redudant server, namun belum dapat melakukan failover secara otomatis.

Selanjutnya adalah membuat agar fail over dapat dilakukan secara otomatis, dengan menggunakan heartbeat. Ada baiknya stop service drbd terlebih dahulu.

Page 17: Konsep Replicate Failover Drbd

Otomatisasi Fail OverSilahkan edit /etc/ha.d/ha.cf di node1, masih seperti yang dulu (by ungu) vi editor menjadi pilihan:

$ sudo vi /etc/ha.d/ha.cf

node1 202.0.0.1 drbddisk::r0 Filesystem::/dev/drbd0:://drbddisk::ext3

Samakan konfigurasi haresource di kedua node, copy haresources ke node ha2:

$ sudo scp /etc/ha.d/haresources.d/haresource 202.0.0.2:/etc/ha.d/haresource.d

Page 18: Konsep Replicate Failover Drbd

Jalankan kembali drbd service dan start heartbeat service

$ sudo /etc/init.d/drbd start && sudo /etc/init.d/heartbeat start

Sebagai pengetesan bisa menggunakan ping dari komputer client, ex:

$ ping 202.0.0.1 # Biarkan ping berjalan....

$ sudo /etc/init.d/drbd status

Bila muncul kurang lebih terdapat: Connected Primary/Secondary UpToDate/UpToDate C /drbddisk ext3

Maka tidak ada masalah....

Tahap akhir

Page 19: Konsep Replicate Failover Drbd

http://drbd.org http://linux-ha.orghttp://wiki.centos.orghttp://en.wikipedia.orghttp://www.howtoforge.comhttp://www.mail-archive.com

Referensi

Page 20: Konsep Replicate Failover Drbd

./nodoby hereTak ada gading yang tak retak

Terimakasih....

Created under GNU GPL v3