Panduan High Availability Server Menggunakan Ubuntu Server

May 30, 2016 | Author: Miftahul Ulum's | Category: Types, Instruction manuals
Share Embed Donate


Short Description

Panduan High Availability Server Menggunakan Ubuntu Server...

Description

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

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 [email protected]

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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF