Anda di halaman 1dari 13

Copyright 2013 http://jagoancengeng.wordpress.

com

Panduan Linux Failover & High


Availability Pada Ubuntu Server
Muhammad Imam Hanafi
http://jagoancengeng.wordpress.com
Bogor, 9 Juni 2013
Dedicated To:
My Luvly Cut Marnesa Dhiet
My Son Ayyash Ahmad Al kahfi
=========================
Hai orang-orang yang beriman, apabila dikatakan kepadamu: "Berlapang-lapanglah dalam majlis,
maka lapangkanlah, niscaya Allah akan memberi kelapangan untukmu. Dan apabila dikatakan:
"Berdirilah kamu, maka berdirilah, niscaya Allah akan meninggikan orang-orang yang beriman
diantaramu dan orang-orang yang diberi ilmu pengetahuan beberapa derajat. Dan Allah Maha
Mengetahui apa yang kamu kerjakan.
(QS. Al-Mujaadilah: 11)

=========================
Lisensi Dokumen:
Copyright 2013 http://jagoancengeng.wordpress.com
Dokumen ini dapat digunakan, dimodifikasi dan disebarkan secara bebas & luas untuk
tujuan non komersial (non profit), dengan syarat tidak menghilangkan keterangan
mengenai penulis dan lisensi yang disertakan dalam setiap dokumen.
Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari
http://jagoancengeng.wordpress.com
Mari Bersama Menyebarkan Kebaikan dan pengetahuan.

(*) Dokumen ini dibuat menggunakan aplikasi open source Libre Office 3.6.2.2 Pada Linux Mint

Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com

Opening
Di dalam sebuah system yang berkembang belakangan ini, kebutuhan akan backup sangat penting,
sebagai upaya pencegahan jika terjadi yang tidak di inginkan pada system, backup berperan penting,
bisa di bayangkan jika suatu system berjalan tanpa adanya backup system, kekacauan akan terjadi.
Pemilihan cara backup sangat beragam, mulai dari backup secara konvensional yaitu dengan
membackup data dengan media simpan seperti Hardisk external, CD/DVD, Tape LTO sampai dengan
backup secara langsung dimana data dan system akan tersinkornisasi dengan server production.
Pada Panduan ini akan di bahas bagaimana metode backup secara langsung dengan menggunakan
beberapa tools yang ada pada Linux Ubuntu Server, sehingga dapat menghasilkan suatu system backup
yang powerfull dengan meminimalkan biaya.
Panduan ini menggunakan Ubuntu server 12.04 namun juga dapat menggunakan distro yang lainnya
dengan sedikit penyesuaian.

Instalasi dan Konfigurasi Heartbeat


Coba anda bayangkan jika anda menjadi seorang IT admin, dimana system yang anda buat itu adalah
sebuah core utama dan anda tidak mempunyai system backup secara langsung, jika terjadi sebuah
kesalahan system pada server utama maka anda akan di hadapkan pada situasi dimana anda akan di
paksa berpikir keras dan cepat, berapa lama? Tergantung dari berapa cepat anda memperbaikinya. tentu
hal ini tidak sangat mengenakan bukan?
Sebagai solusi terhadap masalah tersebut, kita harus mempunyai sebuah server backup yang mampu
menghandle tugas server utama, dan yang terpenting proses recovery system berjalan cepat sehingga
user tidak merasakan bahkan tidak mengetahui adanya kerusakan system anda. Untuk itu anda
memerlukan sebuah pengetahuan tentang proses backup failover, yaitu dimana jika terjadi kerusakan
system utama dapat di recovery dengan server backup dengan cepat.

Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com

Pada Panduan ini kita akan membuat sebuat LAMP ( Linux Apache Mysql & PHP ) Server, dimana kita
akan membuat sebuah server utama dan server backup yang saling tersinkronisasi dan dapat melakukan
failover. Untuk teknologi failover yang akan di bahas pada bagian ini, kita akan menggunakan tools
Hearbeat. Sesuai dengan namanya, Heartbeat akan bekerja layaknya monitor detak jantung, dimana
heartbeat akan selalu memonitor kondisi dari server utama, sehingga apabila terdapat kegagalan dan
kerusakan system heartbeat akan dengan cepat mengatur failover ke server backup, dimana semua
service yang berjalan akan di pindahkan langsung ke server backup.
Heartbeat akan memanfaatkan satu buah IP virtual yang akan di gunakan sebagai IP Cluster , dimana IP
tersebut yang akan menjadi acuan dalam memindahkan service dan data dari server utama ke server
backup.

Gambar : Diagram proses LAMP Server failover & HA


Pada diagram proses di atas, Heartbeat bekerja sebagai pemeriksa kesehatan kedua server, dimana
heartbeat yang berada pada server bravo akan selalu memonitor keadaan dari server alpha. Supaya
tidah membingungkan, saya akan mendeklarasikan IP untuk server alpha adalah 192.168.1.100 dan
server bravo adalah 192.168.1.101 sedangkan IP virtual saya akan berikan 192.168.1.222. untuk apa IP
virtual? IP ini akan di gunakan sebagai IP Cluster, dimana pada saat nanti terjadi failover IP virtual lah
yang akan di pindahkan dari server alpha ke bravo.

Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com

Untuk membangun system seperti ilustrasi di atas, konfigurasi network card anda serta insall applikasi
heartbeat sebagai applikasi yang di gunakan untuk failover. Lakukan langkah-langkah ini
1. konfigurasi network eth0 anda pada berkas /etc/network/interfaces
:~# pico /etc/network/interfaces

Isi file tersebut dengan konfigurasi di bawah ini


auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.1.254

Restart service networking dengan cara


/etc/init.d/networking restart

Konfigurasi juga network eth0 server bravo dengan cara yang sama seperti di atas, berikan IP sesuai
dengan IP yang sudah kita sepakati di atas yaitu 192.168.1.20

2. Install Applikasi Heartbeat pada masing-masing server alpha dan bravo


:~# apt-get install heartbeat

3. Setelah hearbeat selesai di install, kita mulai mengkonfigurasi hearbeat. Buat berkas baru yaitu ha.cf
di /etc/ha.d/ha.cf pada masing-masing server dengan perintah :
:~# pico /etc/ha.d/ha.cf

isi dari berkas tersebut adalah :


keepalive 2
warntime 5
deadtime 15
initdead 90
udpport 694
auto_failback on
bcast eth0

Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com


node alpha bravo

untuk perintah node alpha bravo sesuaikan dengan hostname masing-masing, di sini saya
memakai alpha sebagai primary dan bravo sebagai secondary, ingat penulisan tidak boleh terbalik.
Simpan berkas tersebut dengan menekan ^o (Ctrl+o) , untuk keluar dari editor pico tekan ^x (Ctrl+o)
4. Buat berkas authkeys pada /etc/ha.d/authkeys
:~# pico /etc/ha.d/authkeys

isi dari berkas tersebuat adalah :


auth 2
2 crc

ganti permision authkeys dengan cara ketik


chmod 0600 /etc/ha.d/authkeys

5. Buat berkas haresources pada /etc/ha.d/haresources. Isi dari file tersebut adalah
alpha IPaddr::192.168.1.222/24/eth0 apache2

script di atas untuk membuat IP virtual yang akan di gunakan untuk failover dimana sebagai server
primary kita tentukan yaitu alpha sedangkan IP Virtualnya adalah 192.168.1.222 , Penulisan berkas di
atas bersifat case sensitive, perhatikan besar dan kecil huruf nya.
6. Agar tidak repot dan setting lagi di server bravo, copy ketiga berkas tersebut pada server bravo
dengan cara ketik:
alpha:~# scp /etc/ha.d/ha.cf 192.168.1.101: /etc/ha.d/ha.cf
alpha:~# scp /etc/ha.d/authkeys 192.168.1.101: /etc/ha.d/authkeys
alpha:~# scp /etc/ha.d/haresources 192.168.1.101: /etc/ha.d/haresources

7. ketikan perintah ini di kedua server alpha dan bravo


chkconfig heartbeat on

Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com


chkconfig apache2 off
service apache2 stop
service heartbeat start
service apache2 start

8.lakukan testing pada server alpha,cek settingan ip dengan cara:


ifconfig

jika eth0:0 sudah ada, menandakan bahwa settingan IP sudah benar dan IP virtual sudah terbentuk.

Gambar : Testing IP Virtual sudah terbentuk pada server alpha


9. Lakukan testing failover dengan cara matikan service hearbeat pada server alpha, jika settingan anda
benar maka eth0:0 akan berpindah ke server alpha
service heartbeat stop

Sampai di sini kita sudah membuat server dapat berpindah otomatis ketika terjadi disaster pada server
utama, namun goal kita selain membuat server dapat failover, data antar kedua server juga harus
tersinkornisasi. Bagaimana caranya? Kita akan melanjutkan di bagian berikutnya.

Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com

Installasi dan Konfigurasi DRBD


Pada penjelasan di atas, kita sudah berhasil membuat dua buah server dapat melakukan failover ketika
server utama down. Namun failover saja tidak cukup untuk membuat sebuah system yang mumpuni,
kesamaan data antar dua server juga menjadi satu perhatian penting, akan sangat lucu jika terjadi
disaster server dapat failover namun data tidak sinkron.
Untuk itulah di perlukan sebuah teknologi yang dapat mereplikasi antar server. Dalam panduan ini akan
di jelaskan bagaimana instalasi dan konfigurasi DRBD sebagai teknologi replikasi data. Applikasi
DRBD di gunakan sebagai perantara antar server untuk mereplikasi data. Adapun langkah-langkah
instalasi dan konfigurasi DRBD seperti di bawah ini.
1. Tambahkan satu buah disk pada kedua server dengan ukuran sama besar, sebagai contoh kita akan
menambahkan 2Gb pada server alpha dan bravo. Disk ini di gunakan sebagai disk replikasi.
Setelah di tambahkan cek kondisi disk dengan cara ketik command:
fdisk -l

hasil dari command tersebut :


Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008760b

Device Boot Start End Blocks Id System


/dev/sda1 *

2048

18874367

9436160 83 Linux

/dev/sda2

18876414

20969471

1046529

5 Extended

/dev/sda5

18876416

20969471

1046528 82 Linux swap / Solaris

Disk /dev/sdb: 2147 MB, 2147483648 bytes


255 heads, 63 sectors/track, 261 cylinders, total 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com


I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 000000000
Disk /dev/sdb doesnt contain a valid partition table

Pada hasil fdisk l di jelaskan bahwa disk /dev/sdb belum memiliki partisi, karena memang saya belum
format dan di beri partisi.
2.Install paket drbd pada masing-masing server
apt-get install drbd8-utils drbdlinks

3. edit pada masing-masing server file drb.conf di /etc/drbd.conf . isikan dengan script berikut
global {
dialog-refresh 1;
usage-count yes;
minor-count 5;
}
common {
syncer {
rate 10M;
}
}
resource r0 {
protocol C;
disk {
on-io-error detach;
}
syncer {
rate 10M;
al-extents 257;
}
on alpha {
device /dev/drbd0;
address 192.168.1.100:7788;
meta-disk internal;
disk /dev/sdb;
}
on bravo {
device /dev/drbd0;
address 192.168.1.101:7788;
meta-disk internal;
disk /dev/sdb;
}
}

4. Buat Meta data disk dan jalankan service drbd, jalankan perintah ini di kedua server
Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com

drbdadm create-md r0
service drbd start

5. Cek status drbd


service drbd status

Gambar: Service DRBD Setelah di jalankan namun kedua server masih menjadi secondary

Pesan diatas menunjukkan bahwa DRBD sudah berjalan, namun kedua server sama-sama bertindak
sebagai secondary dan keduanya inconsistent (masing-masing node berbeda isi). Tak masalah , yang
harus kita lakukan adalah membuat server alpha menjadi primary.
6.Jadikan server alpha sebagai primary, lakukan ini hanya pada server alpha saja.
drbdsetup /dev/drbd0 primary --overwrite-data-of-peer

7. Cek kembali drbd status


Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com

service drbd status

Pesan diatas menunjukkan bahwa server alpha sudah berfungsi sebagai primary dan mulai melakukan
sinkronisasi dengan server bravo,proses sinkronisasi ini di tunjukan dengan persen. Lamanya proses
sinkronisasi tergantung besar data yang harus di sinkronisasi.tunggu hingga proses mencapai 100%.
untuk melihat proses sinkronisasi ketik
watch service drbd status

8.Jika proses sinkronisasi sudah selesai, buat file system baru untuk drbd, hal ini di lakukan hanya pada
server alpha saja karena server bravo akan sinkronisasi dengan server alpha.
mkfs.ext3 /dev/drbd0

Sampai proses ini, instalasi dan konfigurasi drbd sudah selesai. Untuk mengecek dan memastikan
bahwa konfigurasi di atas sudah benar, kita akan melakukan testing drbd.

Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com

Testing Replikasi DRBD


Setelah bergelut dengan konfigurasi drbd saatnya kita testing hasil dari konfigurasi yang sudah kita
kerjakan, lakukan hal-hal ini untuk testing Replikasi DRBD.
1. Mounting satu buat device DRBD pada server alpha, buatlah satu buah file pada device DRBD yang
sudah di mounting.
mkdir /srv/data-drbd
mount -t ext3 /dev/drbd0 /srv/data-drbd
touch /srv/data-drbd/file_test_alpha.txt
ls /srv/data-drbd/

Hasil dari command tersebut adalah, terbentuknya satu buah file pada device DRBD yang sudah kita
mount.
2. Umount device drbd dari server alpha, dan dowgrade status nya menjadi secondary.
umount /srv/data-drbd
drbdadm secondary r0

3.Pada server Bravo, aktifkan DRBD server bravo sebagai primary, dan mounting device drbd
drbdadm primary r0
service drbd status
mkdir /srv/data-drbd
mount -t ext3 /dev/drbd0 /srv/data-drbd
ls /srv/data-drbd/

Server Bravo akan otomatis memiliki salinan file yang tadi di buat pada server alpha. Jika tidak ada
kesalahan pada konfigurasi seharusnya pada bravo kita akan mendapatkan hasil file yang di bentuk
pada alpha.
4. Jika Testing sudah selesai kembalikan lagi ke kondisi semula, dimana server alpha menjadi primary
dan Bravo menjadi secondary.

Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com

Pada server bravo :


umount /srv/data-drbd
drbdadm secondary r0

Pada Server alpha


drbdadm primary r0
service drbd status
mount -t ext3 /dev/drbd0 /srv/data-drbd

Implementasi Heartbeat & DRBD pada Web Server


Pada bagian di atas kita sudah mengenal, install dan konfigurasi teknologi failover dan replikasi data,
lalu bagaimana mengimplementasikan pada sebuah service. Pada panduan ini kita akan
mengimplemantasikan kedua teknologi tersebut untuk membangun sebuah web server yang mampu
recovery dengan cepat dan dengan data yang sama.
1. Install Apache sebagai web server
apt-get install apache2

2. Install PHP
apt-get install php php-mysql

3. Install Mysql sebagai server database


apt-get install mysql mysql-server

4.Uninstall apparmor, hal ini di lakukan agar pembuatan symbol link tidak error
dpkg --purge apparmor apparmor-utils

5.Pindahkan directory /var/www ke device drbd yang sudah di mount ke /srv/data-drbd. Sebelum di
pindahkan pastikan service apache sudah di stop terlebih dahulu.
service apache2 stop
mv /var/www /srv/data-drbd

6. Buat symbol link untuk service apache, lalu start service apache
Panduan Linux Fail Over & High Availability pada Ubuntu Server

Copyright 2013 http://jagoancengeng.wordpress.com

ln -s /srv/data-drbd/www /var/www
service apache2 start

7. Pindahkan directory /var/lib/mysql ke device drbd yang sudah di mount ke /srv/data-drbd . Sebelum
di pindahkan pastikan service apache sudah di stop terlebih dahulu.
Service mysql stop
mv /var/lib/mysql /srv/data-drbd
8.Buat symbol

link untuk service mysql, lalu start service mysql

ln -s /srv/data-drbd/mysql /var/lib/
service mysql start

9. Data-data yang di gunakan untuk service webserver sudah di pindahkan ke device drbd, sehingga
apabila ingin mengembangkan sebuah website di letakan pada directory yang ada pada device drbd.

Catatan
1. Dalam melakukan konfigurasi urutan penamaan antara server primary dan secondary jangan sampai
terbalik.
2. Besar kecil penulisan command dan script haruslah di perhatikan, karena sifatnya case sensitif
3. Banyaknya waktu yang di gunakan pada saat sinkronisasi data tergantung besar hardisk.
4. Dokumen ini di buat terkait dengan training system operasi yang di lakukan pada lingkup
Institut Teknologi Indonesia Jurusan Teknik Informatika
5.Jika ada pertanyaan lebih lanjut dapat di alamatkan ke mi.hanafi@yahoo.com

Tentang Penulis
Lahir di Jakarta Tanggal 28 Mei 1984, di beri nama oleh kedua orang tuanya Muhammad Imam
Hanafi Menjalani masa kecil,Besar dan nakal di Tangerang.Menamatkan Sekolah di SD Danau
batur, SLTPN13 Tangerang, SMU Islamic Centre dan menamatkan jenjang S1 di Institut Teknologi
Indonesia Jurusan Informatika angkatan 2002.Saat ini aktivitas yang di jalani adalah seorang
karyawan perusahaan swasta.
Alhamdulillah sudah di karuniai seorang Jagoan Kecil Ayyash Ahmad Al kahfi dari seorang Istri
yang luar biasa Cut Marnesa.

Panduan Linux Fail Over & High Availability pada Ubuntu Server

Anda mungkin juga menyukai