Database High-Avaliability dengan Contoh Kasus : Service POSTGRESQL (23 Oct 2005 Doc Ver 0.1)
Untuk menjaga service dari suatu database atau aplikasi maka perlu dibuatkan suatu mekanisme backup dari service database yang dijalankan. Banyak metoda yang bisa dipakai agar database dapat terus berjalan. Salah satu cara nya adalah menggunakan High Availability Cluster. Pada dokumen ini akan dijelaskan cara agar Postgresql dan Linux Redhat dapat berjalan secara High Availability dengan memakai tools : DRBD dan Heartbeat.
DRBD (Distributed Replication Network Block) adalah tools open source yang digunakan untuk mirror disk.
Heartbeat adalah : tools untuk menjaga service dari suatu network dapat berjalan normal walaupun mesin produksi terjadi crash atau berhenti. Kemampuan heartbeat adalah memonitor server production dan menjalankan service database backup jika diperlukan (jika primary crash). Arsitektur dari High Availability Cluster dapat terlihat pada gambar 1. Sedangkan Untuk mesin backup yang jauh, arsitektur seperti terlihat gambar 2.
Instalasi DRBD
Untuk install DRBD, mesin linux haruslah mempunyai kernel source. Kernal Source ini didapat pada saat kita meng-install linux dengan menambah option kernel development.
Untuk mengetahui kernel source sudah di install :
#ls /usr/src/linuxXXX ,
Jika dalam direktori tersebut terdapat Makefile, maka anda sudah mempunyai kernel source.
Step 1 : Mempersiapkan Kernel Source
#cd /usr/src/linux atau
#cd /usr/src/linux-2.4 atau
#cd /usr/src/linux-2.4.21-4.EL
Gambar 2 : High Availability Cluster dengan mesin backup yang berjarak jauh
Step 2 : Sesuaikan Makefile dengan kernel
#vi Makefile
Ubah EXTRAVERSION, dengan menghapus “custom”
Step 3 : Membuat Clone Konfigurasi Kernel
#make mrproper
Step 4 : Copy Configurasi Kernel
#ls /boot
lihat file yang berawalan config, copy file tersebut
#cp /boot/config-2.4.21-4.EL .config
Step 5 : Install Konfigurasi kernel tersebut
#make -s oldconfig_nonint ; make -s oldconfig_nonint
#make dep
Step 6 : Extract drbd, misalkan drbd-0.7.13.tar.gz berada pada /drbd_installer
#cd /usr/src
#tar -xvzf /drbd_installer/drbd-0.7.13.tar.gz
Step 7 : Ubah drbd_config.h
#cd drbd-0.7.13/
#vi drbd_config.h
ubah IGHAND_HACK agar di eksekusi (hapus tanda komentar “//”)
Step 8 : Pastikan proses install berjalan normal
#cd /usr/src/drbd-0.7.13/drbd
#make clean all
Step 9 : Ubah preconfigured kernel header
Untuk mengetahui versi kernel dengan pasti anda dapat mengetik
#uname -r
Sekarang ubah preconfigured kernel header
#make clean ; make KDIR = /lib/modules/’uname -r’/build
Step 10 : Install DRBD
#cd ../user/
#make
#cd ..
#make install
Jika Step ini tidak ada masalah, berarti anda telah sukses Install DRBD, proses selanjutnya adalah konfigurasi DRBD
Step 11 : Konfigurasi drbd.conf, harus sama pada masing-masing station
#vi drbd.conf
Sesuaikan Node Konfigurasi. Tool yang dapat dipakai adalah
#fdisk -l
untuk mebngetahui space management hardisk yang ada
#hostname
untuk mengetahui hostname dari masing-masing komputer
#ifconfig
untuk mengetahui ip yang ada pada komputer
#netstat -an
untuk mengetahui port network yang terbuka.
Untuk masing-masing device yang di mirror seharusnya melebihi dari 256 MB. Hal ini merupakan syarat mirroring dari device. Pengaturan space ini diatur pada saat instalasi linux.
Untuk konfigurasi IP pada drbd.conf, seharusnya gunakanlah IP yang secara langsung terhubung ke eth backup (gunakan cross cabel, dan class nya dibuat berbeda dengan yang terhubung ke HUB/SWITCH). Akan tetapi jika anda menginginkan konfigurasi untuk 1 ethernet saja, misal untuk terhubung ke DRC, maka IP tersebut bisa saja dipakai, akan tetapi akan menambah load jaringan pada saat full synchronize.
Setelah sukses dengan konfigurasi anda dapat mencoba drbd dengan perintah
#/etc/intit.d/drbd start
Jika server backup sudah di konfigurasi dengan benar, maka sinkronisasi disk akan berlangsung. Untuk membuktikannya ketik perintah ini
#cat /proc/drbd
Step 12 : Membuat File System pada device yang di sharing
Mount device tersebut dengan drbd
#mke2fs -j /dev/drbd0
Step 13 : Mount File System yang sudah di buat file system tersebut
#mount /dev/drbd0 /var/lib/pgsql
Kita akan mirroring semua yang ada pada /va/lib/pgsql
Step 14 : Penentuan Primary dari Sistem
Saat kita suskes melakukan “drbd start”, maka state pada masing-masing mesin adalah :
0: cs:Connected st:Secondary/Secondary ld:Inconsistent ns:0 nr:0 dw:0 dr:0 al:0 bm:1 lo:0 pe:0 ua:0 ap:0
Untuk mengubah station menjadi primary maka :
#drbdadm — –do-what-I-say primary all
Hal ini akan mengubah station menjadi primary dan syncronisasi full akan berjalan.
DIarsipkan di bawah: Tips 2Trik, my JOB | Ditandai: , Cluster, Drbd, Instalation, mirroring