HIGH AVAILABILITY WEB SERVER
BERBASIS
OPEN SOURCE
DENGAN TEKNIK
FAILOVER CLUSTERING
I Gede Putu Krisna Juliharta
1), Wayan Supedana
2), Dandy Pramana Hostiadi
3)1,2,3)STMIK STIKOM Bali
Jalan Raya Puputan Renon no. 86 Denpasar, Bali, Indonesia tlp. (0361) 244445 fax: (0361) 264773 E-mail:krisna@stikom-bali.ac.id1), suvedana88@gmail.com2), dandy@stikom-bali.ac.id3)
Abstrak
Dalam perkembangan teknologi jaman sekarang sudah semakin berkembang dengan tersedianya website yang digunakan untuk mengakses informasi dengan sangat mudah. website memerlukan web server agar dapat berjalan, jika web server dari website mengalami kegagalan seperti kerusakan pada hard disk atau yang lainnya tentunya web server tidak akan dapat di akses oleh konsumen yang ingin mendapatkan informasi yang ada. menghadapi masalah tersebut di atas, dibuatlah penelitian untuk membangun suatu sistem yang dapat menjamin ketersediaan informasi pada server web dengan menggunakan teknologi cluster. Cluster mempunyai berbagai metode salah satunya high availability cluster yang di implementasikan dengan tujuan utama untuk meningkatkan availability layanan. Hasil dari penelitian ini adalah kempuan dari system untuk tetap memberikan layanan walaupun system utama mengalami masalah atau lumpuh.
Kata kunci: Web Server, High Availability, Cluster
1. Pendahuluan
Perkembangan teknologi informasi saat ini sudah semakin berkembang dahulu seseorang hanya mendapatkan informasi melalui televisi dan berita dalam bentuk tulisan atau koran tapi seiring perkembangan jaman teknologi informasi saat ini yang banyak ketersediaan fasilitas akses internet maka seseorang
berupaya menciptakan layanan website yang akan
memudahkan seseorang untuk mencari sebuah , Dengan keadaan perangkat yang harus standbysetiap hari maka seseorang tidaklah bisa untuk berbuat apa-apa jika
sewaktu waktuservermengalami masalah denganserver
tanpadown, maka kami akan mengimplementasikan suatu perangkatclustering serveryang akan mengantisipasi jika
serverpusat mengalami masalah ataudownmaka server clusteringyang langsung mengambil alih pusat data dan
memberikan kesempatan untuk memperbaikiserverpusat
Clustering server atau failover clustering adalah menggunakan lebih dari satu server yang menyediakan
redundant interconnections, sehingga user hanya
mengetahui ada satu sistemserver yang tersedia danclient
tidak menyadari jika terjadi kegagalan pada sistemserver
karena tersedianya server sebagai redundant atau
backup[1]. failover clustering yang akan di implementasikan adalahfailoveryang bersifataktif-pasif
yang artinya duaserveryang bekerja bersama danserver secondarymenjadi servercadangan jika server primary
mati, untuk melaksanakan penelitian ini metode penelitian yang digunakan adalah metode waterfall, dengan tahapannya berupa analisa kebutuhan, desain sistem dan perancangan sistem, implementasi, dan pengujian.
Penelitian yang dilakukan menggunakan referensi dari penelitian sebelumnya, yang sudah dilakukan oleh 2 orang yaitu Muhammad Taufik saenal dari universitas Pasundan Bandung berjudul Implementasi High Availability Cluster Dalam Penerapan Virtual Server Menggunakan Proxmox Virtual enviroment. Dari judul tersebut dan topik penelitian yang diangkat memiliki perbedaan pada tipe servernya, penelitian yang dilakukan menggunakan server asli dan DRDB sedangkan oleh taufik menggunakan server virtual dan Proxmox enviroment. Penelitian yang kedua oleh fikri hidayat dari Universitas Indonesia memiliki perbedaan objek penelitiannya. Penelitian yang dilakukan sebelumnya untukStorage Area Networkdan yang dilakukan saat ini untuk Web Server.
Hasil yang diharapkan adalah sebuah sistem high
availability web server yang akan memberikan suatu kenyamanan bagi pengguna atau penyedia layanan untuk mengantisipasi suatu kejadian bencana yang akan mengakibatkan suatu kegagalan system.
2. Pembahasan
2.1 Perancangan Sistem
Gambar 1BlockDiagram Perancangan sistemcluster
komputer
Pada gambar 1 menunjukkan tahapan dalam mendesain suatu sistem cluster komputer dimana dapat dilihat
pembuatan sistem cluster komputer dimulai dengan
menentukan spesifikasi komputer yang akan digunakan
dimulai dari memori processing dari power sampai
dengandisk space[2]
2.1.1 Designing The Network
Pada tahapan ini adalah mendisain network yang akan digunakan .rancangan cluster yang dibuat adalah suatu
failover cluster dimana suatu failover cluster itu membutuhkan tingkat ketersediaan yang tinggi sehingga dibutuhkan lebih dari satu buah network jadi jika satu
network mengalami kondisi down maka masih ada
networklain yang akan menghubungkanclustertersebut seperti yang dijelaskan akan ada tiga network yang akan dibangun seperti berikut :
1 192.168.1.10 Server 1 network yang
menghubungkan ke semuanode
2 192.168.1.11 server 2 network yang
menghubungkan ke semuanode
3 192.168.1.20 IP Virtual yang akan
digunakan client untuk mengakses web server
dengan domain namecluster.com
2.1.2 OS and Sofware Instalation
Instalasi OS dan sofware yang di gunakan dalam implementasi ini yaitu paket sofwarelamp-server untuk penyimpanan data web server yang digunakan, paket
ucarp, paketheartbeat, DRBD, DNS serverpada tahap ini sofware di instal dengan fitur-fitur tambahan yang dibutuhkan
2.1.3 Pre-Build Cluster
pre-build clusteryaitu ditahap ini dibuatkannodes-nodes cluster pada tahap ini dibuatkan implementasi serta konfigurasi dari masing-masing Server untuk dijadikan nodes ,konfigurasi yang dilakukan yaitu menghubungkan
server1 ,server2 kedalam sebuah network yang dapat terhubung menjadi satu.dan menentukandomainuser tiap
nodes yang berpengaruh nantinya terhadap perannya di cluster[3].
2.1.4 Build ISCSI Storage
Membangun storage Drbd (distributed replicated block
devices) adalah tools yang berguna dalam sinkronisasi
data antar server. Tools ini berfungsi untuk me-mirror block device antar komputer anggota cluster karena sistem yang dibangun adalah menggunakan mirroring data jadi partisi dari HDD haruslah sama karena mirror
(cermin)
2.1.5 Assembling the cluster
Perancangan ini adalah membangun cluster itu sendiri. tahap pembangunan cluster ini terdiri dari tahapvalidasi
cluster yaitu tahap mengetahui apakah seluruh kebutuhan cluster sudah terpenuhi atau belum seperti nodes ,network dan storage dan menentukan nama cluster dan menentukan Ip cluster setelah berasil dibuat tahap selajutnya adalah instalasiservicedan aplikasi daricluster
tersebut .
2.1.6 Cluster Test
Tahap terahir dari rancangan pembuatan sisem ini yaitu cluster test cluster tes merupakan tahap dimana dilakukan test pada cluster untuk mengetahui apakah implementasi failover clustering mengalami kegagalan sistem apa mendapatkan hasil yang dicapai
2.2 Flowchart Sistem Cluster
Skema sistem yaitu dengan sistemprimary diambil alih
secondary system dan sistem primary mengambil alih sistem secara automatis seperti berikut
Gambar 2.Sistem Cluster
Dari Skema Flochart gambar 2 diatas dapat dijelaskan bahwa memulainya suatu sistem pada awal startprimary
dan secondary server dan dengan dilanjutkan dengan memproses dengan mengecek sistem apache2 dan jika sistem apache2 dalam keadaan aktif maka web server
akan mengakses di primary server dan jika apache2 di
secondary server dan aksesweb serverakan berjalan di
secondary server.
2.3 Perancangan Sistem high availability dalam KeadaanDown
Dalam Perancangan skenario sistem dimana sistem mengalami masalah pada saat client sedang mengakses
sistem pada saat bersamaan server Primary data
mengalami masalah dan langsung dialihkan ke secondary serverdanclienttidak menyadari bahwa terjadi kegagalan pada sistem. Berikut akan dijelaskan simulasi sistem dimana primary server telah mengalami masalah dan dialihkan kesecondary server.
2.3.1 Server PrimaryMengalamidownsistem
Gambar 3. PerangkatPrimary down
Seperti pada gambar 3. dimana server1 primary
Mengalamidownsistem pada saatserversedangaktifdan
clientmengakses data keserver,pada saatserver primary
mengalami masalah makaip virtualpadaheartbeatakan
mendeteksi bahwa server primary dengan IP fisik
192.168.1.10 mengalami masalah dan heartbeatdengan
IP Virtual 192.168.1.20 dengan automatis akan mengalihkan sistem keIPfisik 192.168.1.11 yang berada di server2 secondary ,maka sistem akan tetep berjalan dengan keadaanOndan data yang telahtersingkronisasi
keserver secondaryakan berjalan sesuai data yang telah
dibackup.
2.3.2Server SecondaryMengalamidownsistem
Gambar 4. PerangkatSecondary Down
Seperti Pada gambar 4. perangkatsecondarymengalami
masalah sistem maka heartbeat dengan IP virtual
192.168.1.20 atau domain name cluster.com akan
mengalihkan secara automatis sistem ke server1 primary dengan ip fisik 192.168.1.10 dan sistem akan tetap berjalan ini disebut denganfailbacksistem.
2.4 Implementasi dan Pengujian Sistem
2.4.1 Konfigurasi DRBD
Untuk melakukan konfigurasi DRBD pastikan harddisk
keduaserveryang akandi singkronisasiberukuran sama dan belum adafilesistem didalamnya sebelum melakukan konfigurasi, install paket DRBD dengan melakukan printah #apt-get install drbd8-utils drbdlinks setelah selesai lakukan konfigurasi #pico /etc/drbd.conf dan isikan printah berikut [4] :
a. Resource r0 merupakan namaresource yang akan digunakan sebagai parameter untuk memanggil fungsi-fungsidrbd
b. Protocol cmerupakan protocol yang digunakan oleh
drbd untuk singkronisasi device /dev/drbd0
merupakan device yang akan digunakan ketika
melakukanmount
c. Opsi didalam net{} digunakan untuk menangani
masalah split braint d. On server1{
Address192.168.1.10:7788;
Meta-disk internal;
Disk /dev/sda9;
Ini merupakan konfigurasi untuk tiapnodenya, setiap
nodedisesuaikan dengankonfigurasi server
e. Address192.168.1.10:7788 merupakan IP address
yang digunakan untuk singkronisasi dengan port
standardrbd
f. Disk /dev/sda9 merupakan partisi yang digunakan olehdrbd
selanjutnya buat drbdadm create-md r0 merupakan
create pada partisi sda9 untuk menentukan drbd
tersimpan padapartisi hardiskjalankanservicedi semua
serverdan jalankanserverdengan printah#/service drbd start. jadikan server primary sebagai primary server
# drbdsetup /dev/drbd0 primary --overwrite-data-of-peer.
Cek status service drbd status dan hasilnya block device akan tersingkronisasi tunggu sampai singkronisasi berjalan hingga 100% selanjutnya
mountingkesalah satudirectory,format drive drbdhanya dilakukan padaserver primaryatauserver1saja dengan printah# mkfs.ext3 /dev/drbd0, Filesistem dibuat hanya pada aktif server karena pasif server akan otamatis menduplikasi disk pada aktif server. Setelah itu buat
folderdataSERVERpada keduaserveruntuk meletakkan
file-file yang akan disinkronisasi dengan perintah#mkdir /dataSERVER.
2.4.2 Pengujian sistem
Pada pengujian ini akan dilakukanfailoverdanfailback
pada ip addres virtual yang melayani service yang di
cluster,sebelumya seting IP client terlebih dahulu Stelah itu lakukan ping ke server1 192.168.1.20 dan matikan service heartbeat pada server1 dengan perintah #service heartbeat stop ,dan hasilnya seperti gambar
Gambar 5.Testing failover
Dari gambar 5. terlihatreques time outdi antarareplyini menandakan perpindahan pelayanan service dari aktif server1 ke pasif server2 sesuai konfigurasi heartbeat
yaitu 5 detik
2.4.3 Pengujian Sistemweb
Pada tahap test web cluster.com penguji melakukan tes beberapa kali tes dengan menguploud data gambar file music dan file video dengan kapasitas size data berbeda beda , tahap pengujianyaweb websitesedang berjalan dan
service heartbeatdiprimary server1akan di matikan dan
penguji akan mengaksesweb cluster.com, dan hasilnya
seperti gambar .
Gambar 6.Test Cluster web
Gambar 7. Tes Ip Virtuan di client
Tescluster website cluster.commasih tetap berjalan dan perpindahan data ke secondary server secara realtime
walupun terjadi beberapa RTO pada reply itu
menandakan perpindahanfailoversudah berjalan (gambar 6. Dan gambar 7)
3. Kesimpulan
Kesimpulan yang dapat ditarik dari penelitian akhir ini adalah
1. Dengan pemanfaatan technology high availability web serverketersediaan data padaweb serverdapat
terjamin dengan mengunakan sistem failover
clustering dengan didukung paket heartbeat dan drbd disk
2. Agar data antar server di dalamclustertetepsinkron
harus digunakanredudansidata yangreal timepada keduaserver.
3. Secondary server akan bekerja jikaprimary server
mengalami masalah dengan layananheartbeatdan
drbddisk akan memindahkan data secararealtime
4. Client tidak akan mengalami ganguan jika ada
serveryang sedang tidak bekerj
Daftar Pustaka
[1] Anjik Sukmaanji & Rianto, 2008.Jaringan Komputer ,Penerbit Pustaka ANDI Yogyakarta
[2] Designing a clustercomputer. Diakses 20 Juli 2014 Dari ameslab
[4] Hidayatno , 2008 , Perekayasaan Jaringan Komputer, penerbit pustaka ,Jakarta: PT. Alex Media Komputindo
[5] Rivai, Muhammad (2010). Panduan Linux HA & Failover pada openSUSE/SLES . [Online]. Tersedia : uploads/panduan-high-availability-server
menggunakan-opensuse-sles.pdf [mei. 20, 2011].
Biodata Penulis
I Gede Putu Krisna Juliharta,memperoleh gelar Sarjana Teknik (S.T), Jurusan Teknik Informatika UPN Veteran Yogyakarta, lulus tahun 2007. Memperoleh gelar Magister Teknik (M.T) Program Pasca Sarjana Magister Teknik Elektro Universitas Udayana Bali, lulus tahun 2010.Saat ini menjadi Dosen di STMIK STIKOM Bali.
I Wayan Supedana,memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Sistem Komputer STMIK STIKOM Bali, lulus tahun 2014. Saat ini menjadi Staff ISP di Bali.