• Tidak ada hasil yang ditemukan

Panduan High Availability Server Menggunakan Ubuntu Server

N/A
N/A
Protected

Academic year: 2021

Membagikan "Panduan High Availability Server Menggunakan Ubuntu Server"

Copied!
13
0
0

Teks penuh

(1)

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.

(2)

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.

(3)

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.

(4)

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

(5)

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

(6)

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.

(7)

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

(8)

I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0×00000000

Disk /dev/sdb doesn’t 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; } }

(9)

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

(10)

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.

(11)

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.

(12)

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

(13)

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.

Gambar

Gambar : Diagram proses LAMP Server failover & HA
Gambar : Testing IP Virtual sudah terbentuk pada server alpha

Referensi

Dokumen terkait

Rencana Kerja Tahunan Poltekkes Kemenkes Palangka Raya Tahun 2015 merupakan dasar pengembangan dari Rencana Kegiatan dan Anggaran Tahunan seluruh unit kerja di lingkungan

Dari praktikum ini, kesimpulan yang dapat diambil yaitu terdapat banyak cara untuk handling dan restrain hewan yang akan dilakukan pemeriksaan, dilakukan pembendungan saat

Setelah masuk pada halaman “search”, ketik kata kunci “Yahoo” pada kolom yang tersedia untuk mencari dan menginstal aplikasi Yahoo, lalu tekanlah trackball/trackpad pada

Melihat karakteristik penonton yang menyaksikan pertunjukan, maka sirkulasi penonton pada ruang pertunjukan terbuka dituntut memberikan kejelasan untuk penonton berjalan

Hasil penelitian diharapkan dapat bahan sumbangan bagi pengembangan khazanah ilmu hukum pidana, khususnya mengenai penegakan hukum terhadap pelaku tindak pidana

Estimasi kandungan sianida secara semi kuantitatif dilakukan dengan mengamati perubahan warna pada picrate paper test, sedangkan penentuan sianida secara kuantitatif

Kualitas hidup kurang sebagian besar berasal dari kelompok pasien PGK dengan HD yaitu sebanyak 13 (65%) pasien. 3) Terdapat perbedaan kualitas hidup antara pasien PGK dengan

Kebijakan dan strategi yang ditetapkan pemerintah dalam proses rehabilitasi dan rekonstruksi pasca tsunami merupakan langkah awal untuk membangun kembali tatanan kehidupan