18
2 1. Pendahuluan Server merupakan suatu elemen penting dalam membangun sebuah jaringan komputer. Server sekarang ini dituntut untuk bisa melayani request secara bersama-sama dalam jumlah yang banyak. Serta kecepatan pelayanan merupakan salah satu hal yang harus bisa dilakukan oleh server. Salah satu penggunaan server yang sering diakses oleh banyak user adalah webserver, contohnya adalah indowebster. Situs indowebster menurut data dari Alexa.com adalah situs yang sering dikunjungi oleh pengguna internet dikarenakan adanya inforrmasi yang dibutuhkan oleh user dengan anggota berjumlah 1.261.080, dokumen berjumlah 1.202.230, kapasitas berjumlah 130,24 TB dan 19,50% pengunjung aktif harian.[1] Namun pada kenyataanya, server komputer sering terjadi masalah yang timbul, terutama pada beban jaringan yang dipakai. Server yang diakses oleh banyak user secara bersama-sama akan menjadikan server tersebut menjadi lambat atau bahkan mengalami kegagalan. Dari permasalahan yang dihadapi, telah banyak solusi yang digunakan untuk mengatasi masalah pada beban jaringan. Salah satunya dengan menggunakan cluster server. Dalam hal ini akan diimplementasikan dengan menggunakan dua layanan cluster sekaligus dan menggabungkannya dengan istilah cluster switching. Cluster switching adalah sebuah metode atau teknik yang dipakai untuk menukar fungsi cluster yang berbeda dalam penanganan kondisi tertentu. Manfaatnya adalah resources dan fungsi dari kedua cluster dapat digunakan secara maksimal. Tujuan dari penelitian ini adalah menganalisis sebuah cluster server dengan menggabungkan dua model cluster sekaligus yaitu high avaibility dan load balance dengan menggunakan teknik cluster switching. Dengan menggunakan dua model cluster sekaligus diasumsikan dapat memberikan sebuah kinerja server yang fleksibel dan mampu mengatasi beban jaringan dan memberikan kestabilan pada server. Terdapat beberapa jenis cluster yang dapat digunakan untuk merancang sebuah cluster komputer. Dengan menggunakan sistem load balancing yang digunakan untuk membagi beban ke seluruh server yang ada, server akan bekerja bersama-sama untuk melayani permintaan dari user. Dan sistem high avaibility yang berfungsi melakukan failover atau perpindahan resources dari satu server ke server yang lain agar kestabilan server tetap terjaga. 2. Tinjauan Pustaka Penelitian Sebelumnya Dalam jurnal yang berjudul “Teknologi Load Balancing untuk mengatasi beban serverdilakukan penelitian tentang bagaimana mengatasi dan membagi beban pengaksesan aplikasi berbasis web kedalam beberapa komputer server agar beban tersebut tidak hanya terletak pada satu komputer server. Teknologi Load Balancing digunakan di dalam lingkungan server yang membutuhkan pemrosesan dan pengelolaan data dalam jumlah besar dengan cepat. Namun, permasalahan yang bisa muncul dari layanan cluster tersebut berupa kegagalan yang sering terjadi pada server utama (Primary failure). Hal ini

Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

  • Upload
    lamthuy

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

2

1. Pendahuluan

Server merupakan suatu elemen penting dalam membangun sebuah

jaringan komputer. Server sekarang ini dituntut untuk bisa melayani request

secara bersama-sama dalam jumlah yang banyak. Serta kecepatan pelayanan

merupakan salah satu hal yang harus bisa dilakukan oleh server. Salah satu

penggunaan server yang sering diakses oleh banyak user adalah webserver,

contohnya adalah indowebster. Situs indowebster menurut data dari

Alexa.com adalah situs yang sering dikunjungi oleh pengguna internet

dikarenakan adanya inforrmasi yang dibutuhkan oleh user dengan anggota

berjumlah 1.261.080, dokumen berjumlah 1.202.230, kapasitas berjumlah

130,24 TB dan 19,50% pengunjung aktif harian.[1] Namun pada

kenyataanya, server komputer sering terjadi masalah yang timbul, terutama

pada beban jaringan yang dipakai. Server yang diakses oleh banyak user

secara bersama-sama akan menjadikan server tersebut menjadi lambat atau

bahkan mengalami kegagalan.

Dari permasalahan yang dihadapi, telah banyak solusi yang

digunakan untuk mengatasi masalah pada beban jaringan. Salah satunya

dengan menggunakan cluster server. Dalam hal ini akan diimplementasikan

dengan menggunakan dua layanan cluster sekaligus dan menggabungkannya

dengan istilah cluster switching. Cluster switching adalah sebuah metode

atau teknik yang dipakai untuk menukar fungsi cluster yang berbeda dalam

penanganan kondisi tertentu. Manfaatnya adalah resources dan fungsi dari

kedua cluster dapat digunakan secara maksimal.

Tujuan dari penelitian ini adalah menganalisis sebuah cluster server

dengan menggabungkan dua model cluster sekaligus yaitu high avaibility

dan load balance dengan menggunakan teknik cluster switching. Dengan

menggunakan dua model cluster sekaligus diasumsikan dapat memberikan

sebuah kinerja server yang fleksibel dan mampu mengatasi beban jaringan

dan memberikan kestabilan pada server. Terdapat beberapa jenis cluster

yang dapat digunakan untuk merancang sebuah cluster komputer. Dengan

menggunakan sistem load balancing yang digunakan untuk membagi beban

ke seluruh server yang ada, server akan bekerja bersama-sama untuk

melayani permintaan dari user. Dan sistem high avaibility yang berfungsi

melakukan failover atau perpindahan resources dari satu server ke server

yang lain agar kestabilan server tetap terjaga.

2. Tinjauan Pustaka

Penelitian Sebelumnya

Dalam jurnal yang berjudul “Teknologi Load Balancing untuk

mengatasi beban server” dilakukan penelitian tentang bagaimana

mengatasi dan membagi beban pengaksesan aplikasi berbasis web

kedalam beberapa komputer server agar beban tersebut tidak hanya

terletak pada satu komputer server. Teknologi Load Balancing digunakan

di dalam lingkungan server yang membutuhkan pemrosesan dan

pengelolaan data dalam jumlah besar dengan cepat. Namun,

permasalahan yang bisa muncul dari layanan cluster tersebut berupa

kegagalan yang sering terjadi pada server utama (Primary failure). Hal ini

Page 2: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

3

mengakibatkan semua server backend akan mati dan akses user pun akan

mengalami timeout [2].

Salah satu solusi untuk mengatasi permasalahan di atas adalah

dengan menggunakan cluster switching yang digabungkan dengan

teknologi high avaibility cluster, yang akan melakukan failover atau

perpindahan resources dari satu server ke server yang lain secara

otomatis agar kestabilan server tetap terjaga. Pertukaran fungsi cluster ke

high avaibility dilakukan untuk mengatasi kegagalan fungsi server utama

agar server lain yang menjadi backend dapat bekerja secara utuh dengan

resources yang dimiliki. Teknologi ini diharapkan dapat menjadi solusi

dalam mengatasi kegagalan server ketika terjadi gangguan.

Dalam jurnal yang berjudul “High Avaibility MMORPG dalam

lingkungan cloud computing”, dilakukan penelitian berupa penggunaan

cluster high avaibility di dalam sebuah permainan MMORPG (Massive

Multiplayer Online Role Playing Game). Penggunaan cluster tersebut

difungsikan agar sistem yang terpusat pada sebuah server akan terus aktif

untuk terjaganya sesi permainan. Jika terjadi down atau salah satu server

mati, maka koneksi akan tetap berjalan dengan dialihkan ke server yang

berbeda. Kestabilan koneksi akan terjaga, namun beban bandwith untuk

satu server dalam menangani traffic jaringan masih tergolong cukup

lama. Hal ini disebabkan oleh kemampuan sistem pada traffic jaringan

yang telah terimplementasi oleh server dalam mengatasi jumlah

permintaan ke server yang terus bertambah [3].

Sebuah solusi untuk mengatasi permasalahan di atas adalah dengan

menggunakan cluster switching yang digabungkan dengan teknologi load

balance cluster, yang digunakan untuk membagi beban ke seluruh server

yang ada, server akan bekerja bersama-sama untuk melayani permintaan

dari user. Pertukaran fungsi cluster ke load balance dilakukan pada saat

beban bandwith yang ditangani oleh server terlalu padat, dan dengan

menyeimbangkan beban kepada dua server diasumsikan dapat membantu

server dalam mengatasi jumlah permintaan client yang terus bertambah.

Cluster Server

Cluster Computing adalah teknik menghubungkan dua atau lebih

komputer ke dalam jaringan dalam rangka mengambil keuntungan dari

resources yang terdapat pada komputer yang menyediakan redundant

interconnections, sehingga user hanya mengetahui ada satu sistem server

yang tersedia dan komputer client tidak menyadari jika terjadi kegagalan

pada sistem server karena tersedianya server sebagai redundant atau

backup. Clustering computing dapat digunakan untuk load balancing

cluster ataupun failover clustering (high avaibility).

High-availability cluster juga sering disebut sebagai failover

cluster pada umumnya diimplementasikan untuk tujuan meningkatkan

ketersediaan layanan yang disediakan oleh cluster tersebut, yang

kemudian digunakan untuk menyediakan layanan saat salah satu elemen

cluster mengalami kegagalan. Jumlah yang paling umum dari kategori ini

adalah dua node. Konsep konfigurasi membuat satu server sebagai master

server dan server yang lain menjadi slave server dimana saat server

dalam keadaan normal master server menangani semua request dari

Page 3: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

4

client. Slave server akan mengambil alih tugas master server apabila

master server tidak berfungsi atau mati.[4]

Load balancing cluster merupakan cluster server dimana anggota

cluster server dikonfigurasikan untuk saling berbagi beban yang

berfungsi mendistribusikan request dari client ke anggota server load

balanced cluster. Secara umum cara kerja load balancer adalah menerima

incoming request dari client dan meneruskan request tersebut pada server

tertentu jika dibutuhkan. Load balancer menggunakan beberapa algoritma

yang berbeda untuk melakukan control traffic network. Tujuan algoritma

load balancer adalah untuk mendistribusikan beban secara pintar atau

memaksimalkan kerja anggota servercluster. Algoritma load balance

meliputi Roundrobin, weighted-roundrobin, least connection, dan load

based.

Heartbeat merupakan perangkat lunak yang umum digunakan

untuk cluster high availability. Heartbeat perlu dikombinasikan dengan

resource yang diperlukan untuk membangun failover yang memiliki

kemampuan menghentikan dan memulai service yang diinginkan seperti

service IP address, webserver, dan mounting blok hard disk. Heartbeat

menjalankan script inisialisasi untuk menjalankan service lain pada saat

Heartbeat dijalankan atau bisa juga mematikan service lain pada saat

Heartbeat dimatikan. Heartbeat juga melakukan perpindahan IP address

dari satu server ke server yang lain (IP floating).

Haproxy merupakan aplikasi open sources untuk load balancer

yang dibuat oleh Willy Tarreau pada tahun 2005 menggunakan bahasa C.

Aplikasi yang merupakan singkatan dari High Availability Proxy

digunakan untuk meningkatkan performa banyak website yang tersebar di

banyak server. Aplikasi ini sangat cocok untuk webserver yang

menangani jumlah traffic yang tinggi. Haproxy sendiri dipasang pada

server front-end. Front-End server umumnya memiliki IP statis yang

terintegrasi dengan DNS.

3. Metode Pengembangan Sistem

Dalam membangun jaringan yang berbasis cluster server dilakukan

dengan menggunakan pendekatan NDLC (Network Development Life Cycle)

yang di dalamnya terdapat beberapa tahap yaitu analysis, design, simulation

prototyping, implementation, monitoring dan management yang dapat dilihat

pada Gambar 1. [5]

Page 4: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

5

Gambar 1 Network Delevopment Life Cycle

Tahap Analysis

Pada tahap analisis ini dilakukan analisa permasalahan dan

kebutuhan dengan mencari informasi dari dokumentasi yang mungkin

pernah dibuat sebelumnya. Dengan menelaah setiap data yang didapat

dari data-data sebelumnya, akan muncul suatu kebutuhan serta masalah

yang akan dipecahkan. Permasalahan yang akan dibahas pada topik

penelitian ini adalah terletak pada bagaimana membuat sebuah

konfigurasi server yang dapat difungsikan sebagai cluster untuk

mengatasi beban jaringan yang disebabkan oleh banyaknya user yang

mengakses suatu webserver dengan menggunakan dua model cluster,

yaitu high Avaibility dan load balance. Penggunaan dua model cluster

sekaligus didasarkan pada fungsi yang terdapat di setiap cluster dan

dimaksudkan agar dapat menutupi kelemahan pada tiap-tiap cluster.

Setelah dilakukannya tahapan tersebut langkah selanjutnya adalah

menganalisa topologi jaringan yang akan dibuat.

Tahap Design

Setelah melakukan analisis, didapatkan data-data yang sangat

diperlukan dalam melakukan perancangan dari sistem yang akan

dibangun. Dari data-data yang didapatkan sebelumnya, tahap design ini

akan membuat sebuah gambaran simulasi jaringan interkoneksi yang akan

dibangun, diharapkan dengan design ini akan memberikan gambaran

seutuhnya dari kebutuhan yang ada. Dalam membentuk arsitektur

jaringan komputer harus dipertimbangkan bagaimana cara melakukan

konektivitas antar komputer yang akan tergabung dalam jaringan

komputer dengan membuat topologi jaringan. Adapun gambar topologi

jaringan yang dimaksud sebagai berikut:

Page 5: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

6

Gambar 2 Topology Jaringan Cluster Server

Dari Gambar 2 perancangan topologi jaringan ini memerlukan 3

buah node / server yang terintegrasi sebagai server cluster. Node 1

memiliki IP 192.168.2.2, node 2 memiliki ip 192.168.2.3, dan node 3

memiliki alamat ip 192.168.2.5. Semua node diberi sebuah virtual ip

192.168.2.6 yang akan digunakan sebagai alamat public yang diakses

oleh client. Node 1 dan node 2 difungsikan sebagai high avaibility cluster

dan node 3 difungsikan sebagai load balance cluster dengan

menggunakan node 1 dan node 2 sebagai backend server. Dibutuhkan

sebuah switch sebagai penjembatan antar server.

Setelah dilakukan perancangan topologi jaringan, diperlukan

sebuah perancangan kinerja dari sebuah sistem yang sedang dibuat

dengan menggunakan penggambaran pada flowchart.

Page 6: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

7

Gambar 3 Flowchart cara kerja cluster switching pada high avaibility

Gambar 3 menggambarkan flowchart tentang cara kerja cluster

switching yang dipakai pada high avaibility, langkah awalnya adalah

mulai. Setelah itu program akan mencetak total bandwith dilayar console

linux pada node 1, dimana total bandwith didapat dari jumlah koneksi

yang dilakukan oleh client. Program akan mengecek apakah total

bandwith kurang dari kapasitas yang sudah diset (1Mb). Jika tidak,

program akan mencetak total bandwith lagi, dan jika ya maka program

akan menghidupkan semua servis high avaibility yang akan membuat

node 1 menjadi high avaibility.

Setelah dua kondisi di atas, program akan mengecek untuk kedua

kalinya total bandwith apakah melebihi kapasitas yang sudah diset

(15Mb). jika melebihi, program akan mematikan semua servis high

avaibility dan membuat node1 menjadi load balance dan selesai.

Program akan dihentikan, namun jika jumlah total bandwith tidak

melebihi kapasitas (15Mb) , maka program akan menampilkan total

bandwith pada console dan akan melakukan pengecekan kembali ke total

bandwith yang pertama (1Mb).

Mulai

Mode Server

menjadi LB Selesai

Hidupkan Servis

High Avaibility

Mode Server

menjadi HA

Cetak total bandwith

(B) pada layar console

Cek total (B)

< 1 Mb

Cetak / tampilkan total bandwith

(B) pada layar console

Matikan Servis

High Avaibility

YA

TIDAK

YA

TIDAK Cek total (B)

> 15 Mb

Cetak total bandwith (B) pada

layar console

Page 7: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

8

Gambar 4 Flowchart cara kerja cluster switching pada load balance

Untuk Gambar 4 menggambarkan cara kerja yang dipakai cluster

switching pada server load balance di node 3. Langkah-langkah ataupun

alur program sama seperti cara kerja pada server high avaibility. langkah

awalnya adalah dengan memulai. Setelah itu program akan mencetak

total bandwith dilayar console linux pada node 3. Program akan

mengecek apakah total bandwith kurang dari kapasitas yang sudah diset

(1Mb). Jika tidak, program akan mencetak total bandwith lagi, dan jika

ya maka program akan mematikan semua servis load balance pada node

3 yang kemudian akan membuat servis high avaibility pada node 1 dan

node 2 mengambil alih kinerja webserver.

Namun perbedaan mendasar dari kedua cluster ini terdapat pada

saat pengecekan kedua dimana pada server load balance akan mengecek

apakah server high avaibility pada node 1 mati atau tidak. Diasumsikan

node 1 mengalami timeout karena servis high avaibility yang telah mati

diakibatkan oleh jumlah beban yang melebihi batas. Jika tidak, maka

program akan kembali ke pengecekan total bandwith awal (1Mb). Dan

bila ya, maka program akan menghidupkan semua servis load balance

dan mengambil alih kinerja webserver dari server high avaibility.

Mulai

Mode server

menjadi LB Selesai

Matikan Servis

Load Balance

Mode Server

menjadi HA

Cetak total bandwith

(B) pada layar console

Cek total (B) <

1 Mb

Cetak / tampilkan total bandwith

(B) pada layar console

Hidupkan Servis

Load Balance

YA

TIDAK

YA

TIDAK Cek server HA

mati

Cetak total bandwith (B) pada

layar console

Page 8: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

9

Tahap Simulation prototype

Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

khusus di bidang jaringan untuk membuat simulasi dari topologi jaringan

yang akan dibuat. Hal ini digunakan untuk melihat design dari jaringan

yang akan dibangun dan sebagai bahan presentasi. Tetapi dalam

penerapannya, tools yang digunakan dalam membuat simulasi dari

topologi jaringan menggunakan Packet tracer dari Cisco

Tahap Implementation

Selanjutnya tahap implementasi akan diterapkan semua yang telah

direncanakan dan didesain sebelumnya. Implementasi merupakan tahapan

yang sangat menentukan berhasil atau gagalnya perancangan yang

dibangun. Analisis ini meliputi instalisasi linux ubuntu server beserta

konfigurasinya, pembuatan clusterserver, pengujian clusterserver,

pembuatan shell script untuk cluster switching, dan pengujian kinerja

cluster server dengan menggunakan cluster switching.

Tahap Monitoring

Tahapan monitoring merupakan tahapan yang penting agar

jaringan dan komunikasi dapat berjalan sesuai dengan keinginan dan

tujuan awal pada tahap awal analisa, maka perlu dilakukan kegiatan

monitoring. Pada tahapan ini dilakukan beberapa percobaan untuk

memastikan perangkat yang digunakan bekerja dengan baik. Percobaan

yang dilakukan antara lain memastikan semua komponen server

terhubung dengan baik terhadap client sehingga dapat diakses oleh user,

dan cara yang dilakukan dengan melakukan ping dari komputer client ke

semua node Memastikan pula seluruh service cluster dapat bekerja

dengan baik sehingga saat pengujian berlangsung segala macam

kesalahan yang terjadi dapat diminimalisir.

Tahap Management

Pada tahapan manajemen ini salah satu yang menjadi perhatian

khusus adalah masalah policy (kebijakan). Kebijakan ini dibuat

berdasarkan dari hasil uji coba yang dilakukan pada cluster switching.

Cluster switching yang dibuat menggunakan shell script dan dirancang

secara manual, ini dilakukan untuk menghindari terjadinya error ataupun

kesalahan yang diakibatkan servis bentrok pada saat perpindahan fungsi

cluster terjadi. Admin berperan dalam menghidupkan ataupun mematikan

fungsi shell script yang dibutuhkan, serta melakukan pengawasan setiap

konektivitas yang terjadi pada tiap cluster server yang aktif. Perbaikan

shell script juga diperlukan agar lebih efisien digunakan, sehingga

nantinya cluster server dapat beroperasi secara otomatis tanpa campur

tangan admin.

Page 9: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

10

4. Hasil Dan Pembahasan

Setelah tahapan perancangan sistem, maka selanjutnya adalah

implementasi sistem yang dibangun. Pada perancangan sistem ini meliputi

beberapa tahap antara lain instalisasi linux Ubuntu server beserta

konfigurasinya, pembuatan clusterserver, pengujian clusterserver, pembuatan

shell script untuk cluster switching, dan pengujian kinerja cluster server

dengan menggunakan cluster switching.

Tahap awal dengan menginstal linux Ubuntu server dan

mengkonfigurasinya. Pembuatan cluster server ini menggunakan sistem

operasi Ubuntu server 12.04 (32 bit). Sistem operasi ini di-install pada ketiga

komputer yang akan dijadikan server. Pembuatan server ini tidak hanya

meliputi instalasi server akan tetapi juga meliputi konfigurasi jaringan dari

ketiga server sehingga dapat diakses dengan komputer client melalui Local

Area Network sesuai dengan topologi jaringan. Pembuatan jaringan ini

meliputi konfigurasi IP address dari tiap – tiap server, netmask, dan

pemberian hostname (DNS) di setiap server.[6]

Tahap pembuatan cluster server ditujukan kepada 3 buah server /

node. Instalasi cluster dilakukan melalui console linux Ubuntu dari tiap – tiap

node. Pada node 1 dan node 2 difungsikan sebagai server high avaibility,

sedangkan untuk node 3 difungsikan sebagai server load balance. Hubungan

antara node 1 dan node 2 adalah master dan slave, yang dikarenakan

menggunakan tehnik cluster failover yang nantinya dapat saling berinteraksi

antara node 1 dan node 2 untuk dapat saling mem-backup kinerja dari sistem

server. Dan untuk node 3 berfungsi sebagai penyeimbang beban pada saat

terjadi kepadatan pada jaringan.

Pembuatan cluster high avaibility dimulai dengan menginstal aplikasi

Heartbeat pada node 1 dan node 2. Tahap berikut dengan mengkonfigurasi

tiga file berupa ha.cf, haresources dan authkeys yang terdapat pada direktori

/etc/ha.d/ di kedua node. Kemudian melakukan pendeklarasian DNS hosts di

node 1 dan 2 agar tiap-tiap node yang terhubung mampu mengenali hostname

di setiap node. File ini berisi keterangan tentang beberapa node yang akan

dipakai oleh service Heartbeat.[7]

Pembuatan cluster load balance dimulai dengan menginstal aplikasi

Haproxy pada node 3. Setelah itu, dilakukan pengkonfigurasian pada file

/etc/haproxy/haproxy.cfg. dan file /etc/default/haproxy. Tahap terakhir dengan

membuat virtual ip public pada tiap-tiap node agar kedua server high

avaibility dan load balance dapat diakses oleh user dan tidak bentrok saat

memberikan servis secara bergantian dengan menghidupkan dan mematikan

virtual ip yang dijadikan sebagai alamat public.[8]

Pengujian cluster high avaibility dilakukan dengan cara simulasi

kegagalan yang terjadi pada server utama dengan cara mematikan servis

Heartbeat pada server master agar server slave mampu melakukan backup

resources. Kemudian menghidupkan kembali servis pada server master untuk

melihat apakah server utama dapat mengambil resources kembali.

Page 10: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

11

Gambar 5 pengujian Heartbeat pada client dengan perintah curl

Pengujian cluster load balance dapat dilakukan melalui browser dari

client dengan mengakses halaman statistik Haproxy pada http:

://192.168.2.5/haproxy?stats. Pengujian dapat juga dilakukan dengan

mengakses alamat IP dari node 3, secara otomatis client akan diarahkan pada

salah satu alamat dari node 1 ataupun 2.

Gambar 6 pengujian Haproxy pada client dengan perintah curl

Penggunaan dari shell scripting adalah mengotomasi perintah2 yang

sudah biasa digunakan sehingga tidak perlu menuliskan setiap kali dengan

cara yang berulang dan lengkap, tapi cukup dengan fungsi yang telah

dibuat.[9] Pembuatan shell script high avaibility dibuat pada node 1 dengan

nama brushup.sh dan ditujukan untuk menukar fungsi cluster server dari high

avaibility ke load balance ataupun sebaliknya pada saat server yang

menangani public IP telah mengalami kepadatan jaringan.

Page 11: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

12

Source Code 1 Program shell script pada high avaibility pada node 1

Alur kerja dari Source Code 1 ini bermula dari sebuah kondisi dimana

setiap 3 detik server akan mengecek total dari jumlah bandwith dengan

menampilkan ke dalam console agar admin dapat melihat secara langsung

total bandwith yang masuk kedalam server. Perintah yang digunakan untuk

mengecek total bandwith menggunakan “ bash /var/www/getbytes.sh” yang

dimasukkan kedalam variabel bernama “bb”. [10] Perintah tersebut digunakan

untuk memanggil script lain yang memang difungsikan untuk mengambil data

bandwith jaringan dengan menggunakan satuan byte. Total byte yang

dihasilkan akan dijadikan patokan pada setiap kondisi dimana saat

menghidupkan atau mematikan servis.

Proses script dilanjutkan pada penggunaan if untuk membuat suatu

kondisi, bila total dari bandwith yang diterima server tidak lebih dari 1Mb

maka server akan memulai memasuki mode high avaibility dengan

menghidupkan virtual IP yang dijadikan sebagai IP public tempat client

mengkases fungsi dari Heartbeat, dan mengaktifkan servis Heartbeat dan

Apache2. Dalam kondisi seperti ini, cluster yang dipakai dalam keadaan mode

high avaibility cluster.

#!/bin/bash

while true

bb=`bash /var/www/getbytes.sh`

if [ “$bb” –gt 15000000 ] && [ “$lb”

== 1 ]

then

echo “Load Balance Cluster”

echo “Total Active Connection : $bb”

else

if [ “$bb” –gt 15000000 ]

then

echo “Active Connection : $bb”

echo “Load Balancing Cluster Active”

ifconfig eth5:1 down

service apache2 start

lb=1

ha=0

exit 1

else

if [ “$bb” –le 1000000 ] && [ “$ha”

== 1 ]

then

echo “High Avaibility Cluster”

echo “Active Connection : $bb”

else

if [ “$bb” –le 1000000 ]

then

echo “High Avaibility Active”

/etc/init.d/networking restart

service apache2 start

service heartbeat start

ha=1

lb=0

else

echo “Active Connection : $bb”

fi

fi

fi

fi

do

sleep 2

done

Page 12: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

13

Kemudian bila jumlah dari total bandwith melebihi batas, dalam script

telah diset 15Mb dan diasumsikan kondisi ini server mengalami kepadatan

jaringan, maka script akan menyuruh server untuk mematikan virtual IP yang

berada di node 1. Jika virtual IP dalam kondisi mati , maka secara otomatis

koneksi yang tersambung dari client akan mengalami timeout karena kedua

cluster servis tidak sedang merespon. Namun, justru ini yang menjadi tujuan

utama dari mematikan virtual IP, dikarenakan agar pada saat virtual IP di

node 3 dihidupkan, dapat mengambil alih peran dari node 1 dengan status

menjadi load balance.

Source Code 2 Program shell script pada high avaibility pada node 2

Alur kerja dari source code 2 sama dengan source code 1, namun

perbedaan dari script ini terletak pada penambahan script untuk melakukan

pengecekan keaktifan terhadap node 1. apakah node 1 yang menangani alamat

public tersebut sedang dalam status hidup atau mati. Jika mati, maka node 2

akan menggantikan peran dari node 1 sehingga proses switching tetap bisa

dilakukan dan servis dari kedua cluster tidak mengalami overlapping.

Pembuatan shell script load balance dibuat pada node 3 dengan nama

carl.sh dan secara alur kerja program hampir sama dengan shell script high

avaibility. Shell script load balance ini juga menggunakan total bandwith

sebagai patokan di dalam setiap kondisi dimana saat menghidupkan atau

#!/bin/bash

while true

a=`curl http://192.168.2.2`

bb=`bash /var/www/getbytes.sh`

if [ “$bb” –gt 15000000 ] && [ “$lb”

== 1 ]

then

echo “Load Balance Cluster”

echo “Total Active Connection : $bb”

else

if [ “$bb” –gt 15000000 ] && [-z “$a”]

then

echo “Active Connection : $bb”

echo “Load Balancing Cluster Active”

ifconfig eth5:1 down

service apache2 start

lb=1

ha=0

exit 1

else

if [ “$bb” –le 1000000 ] && [ “$ha”

== 1 ]

then

echo “High Avaibility Cluster”

echo “Active Connection : $bb”

else

if [ “$bb” –le 1000000 ] && [-z “$a”]

then

echo “High Avaibility Active”

/etc/init.d/networking restart

service apache2 start

service heartbeat start

ha=1

lb=0

else

echo “Active Connection : $bb”

fi

fi

fi

fi

do

sleep 2

done

Page 13: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

14

mematikan servis load balance nantinya. Namun pada shell script ini

ditambahkan perintah “curl”. “Curl” sendiri biasanya digunakan untuk

mengecek isi dari halaman HTML dari alamat yang dituju. Akan tetapi

perintah “curl http://192.168.2.6” dalam shell script ini difungsikan untuk

mengetahui status dari alamat public yang telah dideklarasikan, apakah server

yang menangani alamat public tersebut sedang dalam status hidup atau mati.

Source Code 3 Program shell script pada load balance server

Source Code 3 merupakan program dari Shell script load balance.

Program ini akan mengecek kondisi status dari server yang sedang membawa

IP public mengalami error atau timeout, maka secara otomatis server load

balance akan segera menggantikan peran untuk menangani IP public dengan

menghidupkan servis Haproxy dan virtual IP yang menjadi dasar dari fungsi

dari load balance agar dapat diakses oleh client. Kondisi yang sama dengan

shell script high avaibility terjadi pada saat script load balance mendeteksi

bahwa total bandwith kurang dari 1 Mb, maka servis Haproxy dan virtual IP

akan dimatikan. Dengan ini server dalam kondisi mode high avaibility.

Kemudian dilakukan pengujian fungsi cluster switching saat menerima

jumlah request secara berkala pada semua node yang aktif. Pengujian ini

bertujuan untuk melihat proses switching yang terjadi dari kedua cluster

server. Pengujian ini juga dilakukan untuk mengukur tingkat performa tiap-

tiap server dalam menangani jumlah request dalam jaringan. Diuji coba

menggunakan aplikasi Nload telah didapat data sebagai berikut.

#!/bin/bash

while true

ss=` bash /var/www/getbytes.sh`

a=`curl http://192.168.2.6`

clear

if [-z “$a”]

then

echo “Load Balance Cluster Active”

/etc/init.d/networking restart

Service haproxy start

ha=0

lb=1

exit 1

else

if [ “$ss” –le 10000000 ] && [ “$ha”

== 1 ]

then

echo “High Avaibility Cluster”

echo “Active Connection : $ss”

else

if [ “$ss” –le 1000000 ]

then

service haproxy stop

ifconfig eth3:1 down

ha=1

lb=0

echo “High Avaibility Active”

else

echo “Active Connection : $ss”

fi

fi

fi

do

sleep 14

done

Page 14: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

15

Tabel 1 Pengujian cluster switching pada ketiga node.

Gambar 7 Perbandingan kinerja cluster switching pada node 1, node 2 dan node 3

Dari Tabel 1 maupun gambar 7 menjelaskan tentang bagaimana cluster

switching menukar fungsi antara high avaibility dan load balance saat

menerima request dari client. Tabel di atas juga membandingan performa

antara income dan outgoing pada semua node. Diketahui jumlah data tiap

request adalah 36154 byte yang didapat dari ukuran data dari web yang

diakses.

Pengujian pertama dibebankan sebanyak 510 request atau sekitar

17,43 MB yaitu total data yang dikeluarkan dari client. Pada kondisi tersebut,

server berfungsi sebagai cluster high avaibility. Node 1 bersifat aktif untuk

menangani semua request yang masuk dikarenakan fungsi high avaibility

yang menjadikan node 1 menjadi master. Didapat rata-rata income dari node 1

sekitar 18.91 Mbit/s dan rata-rata outgoing 17.60 Mbit/s. Income dari node 2

berkisar 11.35 Kbit/s dan outgoing berkisar 9.52 Kbit/s. Dan income untuk

node 3 berkisar 10.29 Kbit/s dan outgoing berkisar 6.07 Kbit/s.

Pengujian kedua dibebankan sebanyak 1530 request atau sekitar 52,29

MB. Pada kondisi tersebut, cluster switching masih menjadikan fungsi cluster

server sebagai high avaibility. Semua request yang masuk masih ditangani

oleh node 1 yang bersifat aktif. Didapat rata-rata income dari node 1 sekitar

21.20 Mbit/s dan rata-rata outgoing 22.53 Mbit/s. Income dari node 2 berkisar

Jumlah

Request

Data Node 1 Node 2 Node 3 Fungsi Server

Cluster

510

Income

Outgoing

18.91 Mbit/s

17.60 Mbit/s

11.35 Kbit/s

9.52 Kbit/s

10.29 Kbit/s

6.07 Kbit/s

High Avaibility

1530

Income

Outgoing

21.20 Mbit/s

22.53 Mbit/s

10.21 Kbit/s

9.88 Kbit/s

7.29 Kbit/s

10.34 Kbit

High Avaibility

2550 Income

Outgoing

16.54 Mbit/s

27.75 Mbit/s

13.77 Mbit/s

26.08 Mbit/s

28.04 Mbit/s

47.93 Mbit/s

Load Balance

5100 Income

Outgoing

24.43 Mbit/s

28.25 Mbit/s

27.12 Mbit/s

28.31 Mbit/s

34.67 Mbit/s

52.89 Mbit/s

Load Balance

0

5000

10000

15000

20000

25000

30000

35000

request 510 request 1530 request 2550 request 5100

node 1

node 2

node 3

Page 15: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

16

10.21 Kbit/s dan outgoing berkisar 9.88 Kbit/s. Dan income untuk node 3

berkisar 7.29 Kbit/s dan outgoing berkisar 10.34 Kbit/s.

Pengujian ketiga dibebankan sebanyak 2550 request atau sekitar 87,15

MB. Pada kondisi tersebut, cluster switching menjadikan fungsi cluster server

sebagai load balance. Semua request yang masuk masih ditangani oleh node 3

dan didistribusikan ke semua node yang aktif. Cluster load balance tersebut

menjadikan node 1, node 2, dan node 3 bersifat aktif dalam membantu

mengatasi request dari client. Node 1 dan node 2 memiliki rata-rata income

dan outgoing yang hampir sama, didapat dari pembagian beban node 3. Sifat

load balance terlihat jelas sekali dari pembagian beban secara merata kepada

semua server. Didapat rata-rata income dari node 1 sekitar 16.54 Mbit/s dan

rata-rata outgoing 27.75 Mbit/s. Income dari node 2 berkisar 13.77 Mbit/s dan

outgoing berkisar 26.08 Mbit/s. Dan income untuk node 3 berkisar 28.04

Kbit/s dan outgoing berkisar 47.93 Mbit/s.

Pengujian keempat dibebankan sebanyak 5100 request atau sekitar

174,12 MB. Pada kondisi tersebut, cluster switching menjadikan fungsi

cluster server sebagai load balance. Semua request yang masuk ditangani

oleh ketiga node yang bersifat aktif. Didapat rata-rata income dari node 1

sekitar 24.43 Mbit/s dan rata-rata outgoing 28.25 Mbit/s. Income dari node 2

berkisar 27.12 Mbit/s dan outgoing berkisar 28.31 Mbit/s. Dan income untuk

node 3 berkisar 34.67 Mbit/s dan outgoing berkisar 52.89 Mbit/s.

Kemudian dilakukan pegujian dengan membandingkan kinerja single

server dengan load balance dalam menangani bandwith jaringan. Pengujian

ini dilakukan untuk mengetahui performa dari cluster load balance melalui

client dengan menggunakan aplikasi Siege sebagai benchmark untuk melihat

perbandingan respon time dan juga throughtput antara kedua cluster server

tersebut.[11]

Tabel 2 Perbandingan kinerja antara single server dengan load balance

Gambar 8 Grafik kinerja antara single server dengan load balance

Beban Perbandingan Single Server Load Balance

1000

Request

Respon Time 0.32 sec 0.25 sec

Throughput 1.61 Mb/sec 2,11 Mb/sec

Respon Time Throughtput

0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

Respon Time

Single Server

Load balance

0

0,5

1

1,5

2

2,5

Throughput

Single Server

Load Balance

Page 16: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

17

Dari hasil tabel 2 maupun gambar 8 dapat dilihat bahwa jumlah respon

time atau waktu yang digunakan server untuk merespon request dari client

yang dihasilkan pada single server 0,32 sec lebih lama dibandingkan server

dengan menggunakan load balance 0,25 sec.. Dilihat dari jumlah throughtput

atau kemampuan server untuk melayani client, load balance menghasilkan

jumlah 1,61Mb /sec dan single user menghasilkan 2,11Mb/sec

Hal ini disebabkan kerja server load balance menggunakan dua

komputer sekaligus saat menangani request dari client. Jadi waktu respon

yang dihasilkan lebih cepat karena beban diseimbangkan oleh 2 server

dibandingkan dengan single server yang hanya bekerja secara sendiri.

5. Kesimpulan

Kesimpulan dari hasil skripsi yang membahas tentang perancangan

metode cluster switching menggunakan shell script ini, dengan menggunakan

cluster switching dapat menukar dua fungsi cluster pada saat digunakan dalam

penanganan kondisi tertentu. Penggunaan Cluster load balance mampu

menyeimbangkan beban dari server dan penggunaan failover pada server

mampu menjaga kestabilan server. Dengan menggunakan Shell Script yang

diterapkan pada cluster switching, penukaran dua fungsi cluster dapat

dilakukan secara otomatis tanpa harus mengetikkan perintah-perintah secara

manual.

Kinerja server yang fleksibel dengan menggunakan fungsi 2 cluster

sekaligus telah dibuktikan dengan pengujian kinerja cluster switching yang

mampu menukar cluster high avaibility dan load balance yang dapat

berfungsi secara bergantian dalam menangani jaringan. Serta pengujian

kinerja load balance yang mampu mengatasi beban jaringan yang berlebihan

pada satu server dengan membagi beban ke banyak server sehingga kerja dari

server lebih ringan, hal ini dibuktikan dengan perbandingan kinerja single

server dengan load balance. Diharapkan nantinya penelitian ini dapat

diterapkan pada perusahaan atau instansi dengan pengguna jaringan komputer

yang padat.

Daftar Pustaka

[1] Alexa Internet, 2014, How popular indowebster.com,

http://www.alexa.com/siteinfo/indowebster.com, diakses tanggal 25 April

2014.

[2] Iwan Rijayana, 2010, Teknologi Load Balance untuk mengatasi beban

pada server. Jurusan Teknik Informatika, Universitas Widyatama Bandung

[3] Danang Haryo Sulaksono, 2012, High Avaibility MMORPG dalam

lingkungan Cloud Computing. Pasca Sarjana Institute Teknologi Sepuluh

November Surabaya.

[4] Ngesti Andik Rimbawanto, 2008, Perancangan dan Implementasi High-

Availability Clustering Server Menggunakan Open Source Software

Sebagai Back-End Database, Fakultas Teknologi Informasi, UKSW.

[5] Deris Stiawan, Fundamental Internetworking Development& Design Life

Cycle. Dosen Jurusan Sistem Komputer FASILKOM UNSRI.

Page 17: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software

18

[6] Paul Cobbaut, 2013, Linux Fundamentals, GNU Free Documentation.

[7] Craig R Webster, 2012, High Avaibility Apache on Ubuntu 8.04. GNU Free

Documentation.

[8] Craig R Webster, 2012, Load Balanced highly available MySQL on Ubuntu

8.04. GNU Free Documentation.

[9] Machtelt Garrels, 2010, Bash Guide for Beginner, Fultus Corporation,

GNU Free Documentation.

[10] Larsnooden, 2013, Beginner Bash Scripting, https://help.ubuntu.com

diakses tanggal 25 Februari 2014.

[11] Budi Arsyanto, 2011, Perancangan dan pembuatan load balancing . Pasca

Sarjana Institute Teknologi Sepuluh November Surabaya

Page 18: Perencanaan Strategis Sistem Informasi Berbasis …repository.uksw.edu/bitstream/123456789/8613/3/T1_672008102_Full...Dalam perancangan sebuah jaringan, dibutuhkan sebuah software