com
=========================
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
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.
Panduan Linux Fail Over & High Availability pada Ubuntu Server
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.
Panduan Linux Fail Over & High Availability pada Ubuntu Server
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
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
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
Panduan Linux Fail Over & High Availability pada Ubuntu Server
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
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
Panduan Linux Fail Over & High Availability pada Ubuntu Server
jika eth0:0 sudah ada, menandakan bahwa settingan IP sudah benar dan IP virtual sudah terbentuk.
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
2048
18874367
9436160 83 Linux
/dev/sda2
18876414
20969471
1046529
5 Extended
/dev/sda5
18876416
20969471
Panduan Linux Fail Over & High Availability pada Ubuntu Server
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
drbdadm create-md r0
service drbd start
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
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
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
2. Install PHP
apt-get install php php-mysql
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
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
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