PERANCANGAN DAN PEMBUATAN LOAD BALANCING
PADA CLUSTERING WEB SERVER MENGGUNAKAN LVS
(STUDI KASUS : WEB SERVER LEMIGAS)
Oleh :
BUDI ASYANTO 106091002917
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
ii
PERANCANGAN DAN PEMBUATAN LOAD BALANCING
PADA CLUSTERING WEB SERVER MENGGUNAKAN LVS
(STUDI KASUS : WEB SERVER LEMIGAS)
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh :
BUDI ASYANTO 106091002917
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
iii
PERANCANGAN DAN PEMBUATAN LOAD BALANCING
PADA CLUSTERING WEB SERVER MENGGUNAKAN LVS
(STUDI KASUS : WEB SERVER LEMIGAS)
SkripsiSebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
BUDI ASYANTO
106091002917
Menyetujui,
Pembimbing I Pembimbing II
Herlino Nanang, M.T. Wahyudi, M.T. NIP. 197312092005011002 NIP. 197609042009101001
Mengetahui,
Ketua Program Studi Teknik Informatika,
iv
PENGESAHAN UJIAN
Skripsi yang berjudul “Perancangan dan Pembuatan Load Balancing Pada
v
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
JAKARTA, MEI 2011
vi ABSTRAK
BUDI ASYANTO, Perancangan dan Pembuatan Load Balancing Pada Clustering Web Server Menggunakan LVS (Studi Kasus : Web Server LEMIGAS),dibawah bimbingan HERLINO NANANG, M.T. dan WAHYUDI, M.T.
Dengan bertambahnya jumlah pengguna yang melakukan akses terhadap website Lemigas membuat beban kerja server menjadi meningkat. Dalam penelitian ini bermaksud untuk melakukan perancangan dan pembuatan load balancing pada clustering web server Lemigas. Sistem ini diharapkan mampu meratakan beban kerja pada web server serta memberikan ketersediaan serta meminimalkan waktu tanggap terhadap web server Lemigas. Dalam melakukan penelitian ini, Penulis menggunakan PPDIOO Network Life Cycle sebagai metode pengembangan sistemnya. Berdasarkan pengujian menggunakan parameter throughput dan waktu respon didapatkan bahwa penggunaan server LVS lebih baik dibandingkan dengan server tunggal. Perancangan dan pembuatan sistem ini pada akhirnya diharapkan sebagai salah satu alternatif cara yang dilakukan dalam peningkatan pelayanan akses terhadap website Lemigas.
Kata Kunci: Load Balancing, Clustering, Web Server, LVS, PPDIOO Network Life Cycle.
Jumlah Halaman : V Bab + xvii Halaman + 85 Halaman + 24 Gambar + 6 Tabel + Daftar Pustaka + 8 Lampiran
vii
KATA PENGANTAR
Bismillaahirrahmaanirrahiim………
Segala puji dan syukur penulis panjatkan kehadirat Allah SWT atas segala
karunia, rahmat dan kekuatan, juga segala petunjuk dan kemudahan sehingga penulis
dapat menyelesaikan penulisan skripsi ini dengan sebaik-baiknya. Shalawat serta
salam selalu kita haturkan kepada junjungan kita Nabi besar Muhammad SAW,
beserta keluarganya, para sahabatnya, dan para pengikutnya.
Skripsi ini berjudul “Perancangan dan Pembuatan Load Balancing Pada Clustering Web Server Menggunakan LVS (Studi Kasus : Web Server Lemigas)”,
yang disusun untuk memenuhi salah satu syarat dalam menyelesaikan program S1
pada Program Studi Teknik Informatika di Universitas Islam Negeri Syarif
Hidayatullah Jakarta.
Pada kesempatan yang berbahagia ini, penulis mengucapkan terima kasih
kepada pihak-pihak yang telah membantu dalam menyelesaikan skripsi ini. Mereka
yang berdedikasi tinggi diantaranya:
1. Bapak DR. Syopiansyah Jaya Putra, M.Sis., selaku Dekan Fakultas Sains
dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.
2. Bapak Yusuf Durrachman, M.Sc., M.I.T., selaku Ketua Program Studi
Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam
viii
3. Bapak Herlino Nanang, M.T., Bapak Wahyudi, M.T., selaku dosen
pembimbing yang senantiasa sabar dan selalu meluangkan waktunya di
tengah-tengah berbagai kesibukannya untuk membimbing penulis dalam
proses penyusunan skripsi ini.
4. Ibu Arini, M.T., Bapak Andrew Fiade, M.Kom., selaku dosen penguji
yang telah memberikan masukkan serta bimbingan penulis dalam
penyusunan skripsi ini.
5. Seluruh Dosen Program Studi Teknik Informatika yang tidak mungkin
penulis sebutkan satu persatu.
6. Staff karyawan Fakultas Sains dan Teknologi dan Prodi.
Akhirnya, penulis berharap semoga skripsi ini dapat bermanfaat. Saran dan
kritik untuk kesempurnaan skripsi ini sangat penulis harapkan.
Jakarta, Mei 2011
Penulis
ix
Teruntuk
Skripsi ini terkhusus penulis persembahkan kepada mereka yang telah
mendukung, baik moril maupun materiil, baik melalui doa ataupun sua dalam
menyelesaikan skripsi ini.
1. Teruntuk Ibu tercinta, Ibu Admi dan Bapak tercinta, Bapak Rasikin.
Semoga Allah SWT selalu melimpahkan rahmat, rahim dan
ampunan-Nya kepada mereka. Amin.
2. Teruntuk Adikku, Rusli Riyanto. Ayo kuliah untuk hidup yang lebih
baik.
3. Teruntuk kekasih tersayang, Rizki Mauliya Ulfah yang senantiasa
memberikan semangat dan perhatian yang tak henti kepada penulis.
4. Teruntuk teman-teman satu perjuangan, Andy Fibrianto dan Anjar
Prayogo. Terima kasih atas segala bantuan dan semangatnya.
5. Teruntuk teman-teman seperjuangan TI UIN 2006 khususnya TI B
Networking 2006. Terima kasih untuk waktu, ilmu, dan semua
kenangan terindahnya.
6. Dan seluruh pihak yang telah membantu penulis, baik langsung
x DAFTAR ISI
Halaman
Halaman Judul ... ... ii
Lembar Persetujuan Pembimbing ... iii
Lembar Pengesahan ... iv
Lembar Pernyataan ... v
Abstrak ... vi
Kata Pengantar ... vii
Teruntuk ... ... ix
Daftar Isi ... x
Daftar Gambar. ... xiv
Daftar Tabel ... xvi
Daftar Lampiran ... xvii
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Perumusan Masalah ... 2
1.3. Batasan Masalah ... 2
1.4. Tujuan Dan Manfaat Penelitian ... 3
1.4.1. Tujuan Penelitian ... 3
xi
1.5. Metodologi Penelitian ... 4
1.5.1. Metodologi Pengumpulan Data ... 4
1.5.2. Metodologi Pengembangan Sistem ... 4
1.6. Sistematika Penulisan ... 6
BAB II LANDASAN TEORI ... 8
2.1. Pengertian Perancangan ... 8
2.2. Web Server ... 8
2.3. Apache ... 9
2.4. Jaringan Komputer ... 10
2.4.1. Pengertian Jaringan Komputer ... 10
2.4.2. Macam Jaringan Komputer ... 10
2.5. Protokol ... 11
2.5.1. Model Protokol Jaringan ... 11
2.6. Protokol HTTP ………… ... 19
2.7. Konsep Clustering ... 19
2.7.1. Cluster Service ... 21
2.8. Load Balancing ... 22
2.9. Sistem Operasi Ubuntu 10.04 ... 25
2.9.1. Mekanisme Eksekusi Perintah Di Linux ... 26
2.10.Shell Dan Kernel Linux ... 27
2.11.Linux Virtual Server ... 28
xii
2.11.2. Algoritma Penjadwalan Pada LVS ... 34
2.12.Ipvsadm ... 36
3.1. Metode Pengumpulan Data ... 47
3.2. Metode Pengembangan Sistem ... 48
BAB IV HASIL DAN PEMBAHASAN ... 53
4.1. Sejarah Singkat Berdirinya PPPTMGB “LEMIGAS” ... 53
4.2. Struktur Organisasi PPPTMGB “LEMIGAS” ... 55
4.3. Visi Dan Misi PPPTMGB “LEMIGAS” ... 56
4.4. Sekilas Tentang Teknologi Pada PPPTMGB “LEMIGAS” ... 57
4.5. Topologi Jaringan Di PPPTMGB “LEMIGAS” ... 62
4.6. Peta Wilayah PPPTMGB “LEMIGAS” ... 63
4.7. Tahap Prepare ... 63
4.8. Tahap Plan ... 64
xiii
4.8.2. Komponen Pendukung ... 65
4.9. Tahap Design ... 66
4.10.Tahap Implement ... 66
4.11.Tahap Operate ... 68
4.12.Tahap Opimize ... 80
BAB V KESIMPULAN DAN SARAN ... 81
5.1. Kesimpulan ... 81
5.2. Saran ... 82
xiv
DAFTAR GAMBAR
Halaman
Gambar 2.1 Perbandingan antara model OSI dengan Model TCP/IP ... 18
Gambar 2.2 Konsep Load Balancing ... 24
Gambar 2.3 Skema LVS-Direct Routing ... 30
Gambar 2.4 Skema LVS-Tunneling ... 31
Gambar 2.5 Skema LVS-NAT ... 33
Gambar 2.6 Skema replikasi ... 38
Gambar 2.7 Skema replikasi master-master ... 39
Gambar 2.8 Diagram Paket pada IPTables ... 41
Gambar 3.1 Metodologi Penelitian PPDIOO Network Life Cycle ... 49
Gambar 3.2 Kerangka Berpikir Dalam Penelitian ... 52
Gambar 4.1 Struktur Organisasi LEMIGAS Menurut Permen 030 ... 55
Gambar 4.2 Struktur Organisasi Fungsional Menurut SK Balitbang ... 56
Gambar 4.3 Layout LAN LEMIGAS ... 62
Gambar 4.4 Topologi Jaringan Server LEMIGAS ... 62
Gambar 4.5 Denah Komplek Perkantoran LEMIGAS ... 63
Gambar 4.6 Topologi Load Balancing ... 66
Gambar 4.7 Hasil Pembagian Beban Dari Tabel Virtual Service ... 69
Gambar 4.8 Hasil Capture Melalui Tcpdump ... 69
Gambar 4.8 Keterangan Pada Master Pada Server 1 ... 70
xv
Gambar 4.10 Status Slave Pada Server 1 ... 71
Gambar 4.11 Status Slave Pada Server 2 ... 71
Gambar 4.12 Hasil Tes Replikasi Pada Server 1 ... 72
Gambar 4.13 Hasil Tes Replikasi Pada Server 2 ... 72
Gambar 4.14 Hasil Perbandingan Throughput Pada Server Tunggal Dan Server LVS ... 74
Gambar 4.15 Hasil Perbandingan Waktu Respon Server Tunggal Terhadap Server LVS ... 76
Gambar 4.16 Perbandingan Throughput Pada Server Tunggal Dan Server LVS ... ... 78
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan dunia informasi hingga saat ini semakin berkembang
dengan cepat. Perkembangan pesat teknologi internet dapat dicerminkan oleh
meningkatnya jumlah pengguna internet yang menjadikan sebagai media
penyampaian informasi.
Di dalam jaringan komputer, server mempunyai peran penting dalam
mengatur para client agar dapat mendapatkan informasi yang dibutuhkan.
Dengan makin bertambahnya jumlah client yang mengakses, server akan
semakin bertambah bebannya.
Website yang dimiliki Lemigas digunakan sebagai media penyampaian
informasi kepada pegawai. Saat ini Lemigas hanya memiliki satu server yang
menyediakan servis http. Dengan semakin meningkatnya penggunaan website
di lingkungan Lemigas, server tunggal yang digunakan semakin meningkat
bebannya. Pada saat yang sama pengguna mengharapkan peningkatan
ketersediaan dan meminimalkan waktu tanggap dari web server. Salah satu
cara untuk menyelesaikan permasalahan tersebut adalah dengan menerapkan
load balancing pada web server yang melayani permintaan dari pengguna
sehingga memanfaatkan server secara efektif dengan meratakan beban kepada
2
membuat penelitian dengan judul “Perancangan dan Pembuatan Load Balancing pada Clustering Web Server Menggunakan LVS (Studi Kasus : Web Server LEMIGAS)”.
1.2 Rumusan Masalah
Berdasarkan latar belakang tersebut maka dalam penelitian ini
merumuskan masalah sebagai berikut :
1. Bagaimana membuat sebuah sistem yang dapat memberikan ketersediaan
pada sebuah web server.
2. Bagaimana hasil analisa dari penggunaan web server LVS dengan web
server tunggal menggunakan parameter pengujian throughput dan waktu
respon.
1.3Batasan Masalah
Adapun yang menjadi batasan masalah dalam penelitian ini adalah
sebagai berikut :
1. Load Balancing hanya pada web server dan berada di luar konteks
computing seperti perhitungan menggunakan perangkat lunak Matlab.
2. Load Balancing memakai metode NAT (Network Address Translation).
3. Protokol yang digunakan dalam penelitian adalah protokol HTTP.
4. Dalam penelitian ini masih menggunakan IPV4.
3
1.4 Tujuan Dan Manfaat Penelitian 1.4.1 Tujuan Penelitian
Tujuan dari penelitian ini adalah :
1. Memahami tentang Load Balancing dan Clustering web server
dalam memberikan reabilitas, skalabilitas dan ketersediaan.
2. Menganalisa kinerja web server dengan diterapkannya sistem load
balancing dalam memberikan layanan.
1.4.2 Manfaat Penelitian
1. Bagi penulis
a. Menerapkan ilmu yang diperoleh di bangku kuliah.
b. Bertambahnya wawasan dan pengalaman penulis tentang ilmu
jaringan dan hal lainnya yang berkaitan dengan metodologi
penulisan tugas akhir ini.
2. Bagi perusahaan
Sebagai salah satu alternatif cara yang dilakukan dalam
peningkatan pelayanan akses terhadap sebuah website.
3. Bagi masyarakat umum
Dapat memberikan kontribusi pemikiran tentang teknologi
informasi yang bermanfaat bagi masyarakat pada umumnya dan
civitas akademika kampus UIN Syarif Hidayatullah Jakarta pada
4
1.5 Metodologi Penelitian
Metode yang digunakan penulis dalam penulisan bagian metodologi
penelitian dibagi menjadi dua, yaitu metode pengumpulan data dan metode
pengembangan sistem.
1.5.1 Metode Pengumpulan Data
Merupakan metode yang digunakan penulis dalam melakukan
penelitian dan menjadikannya informasi yang akan digunakan untuk
mengetahui permasalahan yang dihadapi.
1. Studi Pustaka
Merupakan pengumpulan bahan-bahan yang berkaitan dengan
judul skripsi melalui membaca buku-buku dari perpustakaan dan mencari
referensi artikel serta ebook dari internet.
2. Studi Lapangan a. Observasi
Pengamatan langsung ke lapangan (observasi) yang dilakukan
oleh penulis, tempat dan waktu pelaksanaannya yaitu pada PPPTMGB
LEMIGAS, Urusan Telematika Sub Bidang Afiliasi, jalan Cileduk
Raya Kav. 109, Cipulir Kebayoran Lama-Jakarta Selatan. Mulai dari
bulan Juli hingga bulan September 2010.
b. Wawancara
Dalam memperoleh data, penulis melakukan proses tanya jawab
5
3. Studi Literatur
Dalam melakukan penelitian penulis juga menggunakan
literature sejenis yang digunakan baik berasal dari jurnal-jurnal
maupun skripsi yang mempunyai topik yang mendekati dengan topik
yang dibahas penulis.
1.5.2 Metode Pengembangan Sistem
Penelitian menggunakan PPDIOO Network Lifecycle sebagai acuan
dalam membuat Tugas Akhir ini (Teare, 2008).
Berikut adalah penjelasan dari masing-masing tahap dalam PPDIOO :
a. Prepare : Melakukan analisa terhadap masalah yang ada yaitu bagaimana membuat sebuah load balancing pada web server model cluster yang dapat
meratakan beban diantara server dengan menggunakan metode NAT.
b. Plan : Merencanakan kebutuhan sistem yang akan dibuat dan diharapkan dapat memberikan gambaran seutuhnya terhadap kebutuhan yang ada.
c. Design : Bentuk desainnya adalah berdasarkan rancangan penelitian dimana terdapat user, linux director sebagai load balancer, dan dua web
server yang menyediakan servis http.
d. Implement : Pada tahap ini menerapakan semua yang telah direcanakan dan di desain. Dalam tahap ini melinkupi instalasi serta konfigurasi terhadap
6
e. Operate : Dalam tahap ini perlunya pemantauan terhadap web server agar berjalan sesuai dengan analisa awal dan pemantauan terhadap infrastruktur
hardware untuk di uji apakah berhasil atau tidak load balancing bekerja
pada web server yang dibuat secara cluster.
f. Optimize : Tahap ini memerlukan perhatian khusus terhadap kebijakan yang perlu dibuat untuk mengatur dan membuat sistem agar dapat berjalan
dengan baik.
1.6 Sistematika Penulisan
Dalam skripsi ini, penulis menjabarkan penelitian dalam ini dalam 5
(lima) Bab, yaitu :
BAB I PENDAHULUAN
Bab ini berisi pengantar berupa latar belakang dilakukannya
penelitian, perumusan masalah, pembatasan masalah, tujuan,
manfaat, metode penelitian, dan sistematika penulisan yang
merupakan gambaran menyeluruh dari penulisan skripsi ini.
BAB II LANDASAN TEORI
Bab ini berisi pembahasan teori-teori yang digunakan sebagai
panduan dasar dalam penelitian ini.
BAB III METODE PENELITIAN
Bab ini berisi metodologi penelitian yang digunakan serta
langkah-langkah yang digunakan terkait dengan penelitian yang
7
BAB IV HASIL DAN PEMBAHASAN
Bab ini akan membahas tentang perancangan serta pengujian
terhadap web server yang dibuat menggunakan parameter yang
telah ditentukan.
BAB V PENUTUP
Bab ini berisi tentang kesimpulan dari hasil uji coba serta analisa
yang dilakukan serta saran-saran yang dibutuhkan untuk
8
BAB II
LANDASAN TEORI
2.1 Pengertian Perancangan
Perancangan merupakan penghubung antara spesifikasi kebutuhan dan
implementasi. Perancangan merupakan rekayasa representasi yang berarti
terhadap sesuatu yang ingin dibangun. Hasil perancangan harus dapat ditelusuri
sampai ke spesifikasi kebutuhan dan dapat diukur kualitasnya berdasarkan
kriteria-kriteria rancangan yang bagus. Perancangan menekankan pada solusi
logik mengenai cara sistem memenuhi kebutuhan (Hariyanto, 2004)
2.2 Web Server
Web server adalah server yang mampu menangani web atau permintaan
HTTP (Ario, 2004). Web server menunggu permintaan dari client yang
menggunakan browser seperti Netscape Navigator, Internet Explorer, Mozilla,
dan program browser lainnya. Jika ada permintaan dari browser, maka web
server akan memproses permintaan itu kemudian memberikan hasil prosesnya
9 2.3 Apache
Apache merupakan web server yang paling banyak dipergunakan di
Internet. Program ini pertama kali didesain untuk sistem operasi lingkungan
UNIX. Namun demikian, pada beberapa versi berikutnya Apache
mengeluarkan programnya yang dapat dijalankan di Windows NT. Saat ini
Apache dipergunakan secara luas, dikarenakan programnya yang bersifat
gratis, dengan kinerja yang relative stabil. Setiap orang dapat memberikan
kontribusi dalam mengembangkan programnya yang dikomunikasikan lewat
mailing list.
Apache mempunyai program pendukung yang memberikan layanan
yang cukup lengkap bagi para penggunanya, antara lain :
1. Kontrol Akses, control ini dapat dijalankan berdasarkan nama host atau
nomor IP.
2. CGI (Common Gateway Interface), yang paling terkenal untuk digunakan
adalah perl (Practical Extractionn and Report Langguage), didukung oleh
Apache dengan menempatkannya sebagai modul (mod_perl).
3. PHP (Personal Home Page/PHP Hypertext processor), program dengan
metode semacam CGI, yang memproses teks dan bekerja di server. Pache
mendukung PHP dengan menempatkannya juga sebagai salah satu
modulnya (mod_php) yang membuat kinerja PHP menjadi lebih baik.
10 2.4 Jaringan Komputer
2.4.1 Pengertian Jaringan Komputer
Jaringan komputer adalah sekumpulan komputer yang terhubung
satu dengan lainnya menggunakan protokol komunikasi melalui media
komunikasi sehingga dapat menggunakan sumber daya bersama seperti
harddisk, printer, dan sumber informasi lainnya (Iwan Rijayana : 2005).
2.4.2 Macam Jaringan Komputer
Berdasarkan luasnya jangkauan, jaringan komunikasi data dapat
dibedakan menjadi beberapa kelompok, yaitu :
1. Workgroup, yaitu jaringan yang menghubungkan beberapa computer
dalam jumlah sedikit dalam sebuah ruangan.
2. Local Area Network/LAN, yaitu seatu jaringan komunikasi data yang luas
jangkauannya meliputi area lokal tertentu. Misal jaringan komunikasi data
di suatu gedung.
3. Metropolitan Area Network/MAN, suatu jaringan komunikasi data yang
luas jangkauannya meliputi area dalam suatu kota. Misalnya jaringan
komunikasi data di kota Jakarta.
4. Wide Area Network/WAN, yaitu suatu jaringan komunikasi data yang luas
jangkauannya meliputi antar kota atau antar Negara. Missal jaringan
11 2.5 Protokol
Protokol adalah sebuah aturan yang mendefinisikan beberapa fungsi
yang ada dalam sebuah jaringan komputer, misalnya mengirim pesan, data,
informasi dan fungsi lainnya yang harus dipenuhi oleh pengirim (transmitter)
dan penerima (receiver) agar komunikasi dapat berjalan degan benar. Selain
itu, protokol juga berfungsi agar computer yang berada dalam jaringan
berkomunikasi dengan bahasa yang sama. Hal-hal yang harus diperhatikan
dalam protokol adalah :
1. Syntax, merupakan format data dan cara pengkodean yang digunakan dalam pengkodean sinyal.
2. Semantic, digunakan untuk mengetahui maksud informasi yang dikirim dan membetulkan kesalahan yagn terjadi dari informasi tersebut.
3. Timing, digunakan untuk mengetahui kecepatan transmisi data. (Sukmaaji, 2008)
2.5.1 Model Protokol Jaringan
Menurut Sukmaaji dalam bukunya Jaringan Komputer (2008)
12 1. Protokol Jaringan Model OSI
OSI dalah singkatan dari Open System Interconnection. OSI
dikembangkan oleh ISO (International Organization for Standardization).
Protokol ini di bagi menjadi bebrapa lapis atau layer. Setiap lapis protokol
akan diikuti oleh lapis protokol yang lebih rendah berikutnya untuk
melaksanakan fungsi yang lebih sederhana. Setiap lapis protokol yang
lebih rendah memberikan layanan bagi lapis diatasnya. Perubahan yang
terjadi pada lapis tidak mempengaruhi lapis lainnya.
Setiap layer dalam OSImemberikan layanan sebagai berikut :
a. Application layer
Layer ini bertanggung jawab memberikan layanan aplikasi bagi
para pemakai akhir atau end users, misalnya aplikasi FTP, HTTP atau
SMTP.
b. Presentation layer
Berfungsi untuk mentranslasikan data yang ditransmisikan oleh
aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan.
Protokol yang berada pada level ini dalah perangkat lunak redirector
seperti, Workstations, Remote Desktop Protokol dan Network Shell
(Virtual Network Computing atau VNC). Lapisan ini juga melakukan
koding dan konversi data misalnya format data untuk image dan sound
(JPG, MPEG, TIF, WAV dan lainnya), konversi EBCDIC-ASCII,
13 c. Session layer
Layer ini membuka, merawat, mengendalikan, dan mlakukan
terminasi hubungan antar simpul. Lapisan application dan presentation
melakukan request dan menunggu respon yang dikoordinasikan oleh
lapisan di atasnya missal :
1. RPC (Remote Procedure Call)
2. Protokol yang mengeksekusi program pada computer remote dan
memberikan nilai balik kepada computer local sebagai hasil
eksekusi tersebut.
3. Netbios API, merupakan interface pemrograman dari layer
application.
4. NFS (Network File System)
5. SQL (Structured Query Langguage)
d. Transport layer
Layer ini bertanggung jawab terhadap pengiriman
source-to-destination (end-to-end) yang dapat dijelaskan sebagai berikut :
1. Service-point addressing
Layer ini tidak hanya menangani pengiriman
source-to-destination dari computer satu ke computer lainnya, namun lebih
spesifik pada pengiriman jenis message untuk aplikasi yang
berlainan. Dengan demikian setiap message yang berlainan aplikasi
14 atau yang lebih umum disebut dengan port address (port 80 =
WWW, port 25 = SMTP).
2. Segmentation dan reassembly
Sebuah message dibagi dalam segmen-segmen yang terkirim.
Setiap segmen memiliki sequence number yang berguna bagi
lapisan transport untuk merakit (reassembly) segmen-segmen yang
terpecah menjadi message yang utuh.
3. Connection control
Pada layer ini mengatur dua kondisi yaitu connectionless dan
connection-oriented.
4. Flow control
Sama halnya dengan lapisan data link, lapisan ini bertugas
untuk melakukan control aliran. Bedanya dengan data link adalah
dilakukan untuk end-to-end.
5. Error control
Tugasnya sama dengan tugas error control pada lapisan data
link, namun berorientasi end-to-end.
e. Network layer
Pada layer ini terjadi proses pendefinisian alamat logis (logical
addressing), kemudian mengkombinasikan multiple data link menjadi
15 1. Logical addressing
Pengalamatan secara logis yang di-tambahkan pada header
lapisan network. Pada jaringan TCP/IP pengalamatan logis ini
popular denga sebutan IP Address.
2. Routing
Hubungan antar jaringan yang membentuk internetwork
membutuhkan metode jalur alamat agar paket dapat ditransfer dari
satu device yang berasal dari jaringan satu menuju device lain pada
jaringan yang lain. Protokol routing misalnya Border Gateway
Protokol (BGP), Open Shortest Path First (OSPF) dan Routing
Informa-tion Protokol (RIP).
f. Data link layer
Layer ini bertanggung jawab terhadap pengiriman paket-paket
(pada lapis yang lebih rendah). Tugas utama layer ini adalah :
1. Flamming
Membagi bit stream yang diterima dari lapisan network
menjadi unit-unit data yang disebut frame.
2. Physical addressing
Mendefinisikan identitas pengirim dan/atau penerima yang
ditambahkan dalam header.
3. Flow control
Melakukan tindakan untuk membuat stabil laju bit jika rate
16 4. Error control
Penambahan mekanisme deteksi dan retransmisi frame-frame
yang gagal.
5. Communication control
Menentukan device yang harus dikendalikan pada saat
tertentu jika ada dua koneksi yang sama.
g. Physical layer
Pada layer ini melakukan fungsi pengiriman dan penerimaan bit
stream dalam medium fisik. Dalam lapisan ini kita akan mengetahui
spesifikasi mekanikal dan elektrikal dari media transmisi serta
antamukanya.
Lapisan fisik pada LAN antalain :
a. Ethernet/IEEE 802.3.
b. 100-Mbps Ethernet.
c. 1000-Mbps Ethernet.
d. Fiber Distributed Digital Interface (FDDI) 100 Mbps.
e. Token Ring/IEEE 802.5.
Sedangkan pada WAN adalah :
a. Serial Interface (asyn dan sync)
b. High Speed Serial Interface (HSSI)
17 2. Protokol Jaringan Model TCP/IP
Struktur protokol model TCP/IP dikembangkan oleh DARPA (US
Defense Advance Research Project) hampir sama dengan OSI layer,
TCP/IP Layer juga dibagi-bagi menjadi beberapa lapis kumpulan protokol
yang bertingkat. Lapisan TCP/IP dari bawah ke atas adalah sebagai
berikut:
1. Network Interface Layer/Physical Layer
Bertanggung jawab mengirim dan menerima data kedan dari
media fisik. Media fisiknya dapat berupa Ethernet, token ring, kabel,
serat optic, frame relay atau gelombang radio. Protokol pada layer ini
harus mampu menerjemahkan sinyal listrik menjadidata digital yang
dimnegerti computer, yang berasal dari peralatan lain yang sejenis.
2. Internet Layer/Network Layer
Protokol yang berada pada layer ini bertanggung jawab dalam
proses pengiriman paket ke alamat yang tepat. Pada layer ini terdapat
tiga macam protokol, yaitu, IP, ARP, dan ICMP.
3. Transport Layer
Berisi protokol yang gertanggung jawab untuk mengadakan
komunikasi antara dua computer, kedua protokol tersebt adalahTCP
(Transmission Control Protokol) dan UDP (User Datagram Protokol).
Protokol ini bertugas mengaturkomunikasi antara host dan pengecekan
kesalahan. Data dibagi kedalam beberapa paket yang dikirimkan ke
18 tujuan atau sumber dan checksum. Pada penerima checksum akan
diperiksa apakah paket tersebut ada yang hilang di perjalanan.
4. Application Layer
Pada layer ini terletak semua aplikasi yang menggunakan
TCP/IP ini. Lapisan ini melayani permintaan pemakai untuk mengirim
dan mnerima data. Data ini kemudian disampaikan ke lapisan
transport unutk diproses lebih lanjut.
Layer 6
Gambar 2.1 Perbandingan antara model OSI dengan Model TCP/IP.
(Sumber :
http://4.bp.blogspot.com/_zr2J-ioXNyY/SfK6d6tsCII/AAAAAAAAABs/uYo0mOLZuDU/s320/untitled3.
19 2.6 Protokol HTTP
HTTP adalah tipe protokol meminta/menjawab, dimana client akan
membuka koneksi ke suatu server dan kemudian mengirimkan permintaan
menggunakan format spesifi. Server akan member tanggapan kemudian akan
menutup koneksi. HTTP memiliki kemampuan untuk mentransfer halaman
Web, gambar dan media lainnya yang dipergunakan oleh aplikasi Web. (Ario,
2004).
2.7 Konsep Clustering
Sebuah cluster terdiri dari dua atau lebih komputer (disebut node atau
anggota) yang bekerja sama untuk melakukan sebuah tugas.
Ada 4 (empat) jenis kelompok utama yaitu:
1. Storage Cluster
Storage cluster menyediakan sistem berkas gambar yang konsisten
di server dalam sebuah cluster, yang memungkinkan server untuk secara
bersamaan membaca dan menulis ke sistem file tunggal bersama. Sebuah
storage cluster menyederhanakan administrasi penyimpanan dengan
membatasi instalasi dan patch aplikasi untuk satu sistem file. Juga,
dengan sistem file cluster, sebuah storage cluster menghilangkan
kebutuhan untuk salinan data yang berlebihan aplikasi dan
20 2. High Availability Cluster
High availability cluster menyediakan ketersediaan pelayanan
yang berkelanjutan dengan menghilangkan single points of failure
(SPOF) dan memberikan layanan dari satu nodecluster ke node yang lain
dalam kasus ketika sebuah node tidak berjalan. Biasanya, layanan dalam
high availability cluster membaca dan menulis. Oleh karena itu, high
availability cluster harus menjaga integritas data sebagai salah satu node
cluster mengambil alih kontrol suatu layanan dari cluster node lain.
Kegagalan node dalam high availability cluster tidak terlihat dari klien di
luar cluster. High availability cluster juga kadang-kadang disebut sebagai
failover cluster.
3. Load Balancing Cluster
Load balancing cluster mengirimkan permintaan layanan jaringan
ke beberapa node cluster untuk menyeimbangkan beban permintaan di
antara node cluster. Load balancing menyediakan skalabilitas biaya yang
efektif karena jumlah node yang bisa diatur jumlahnya. Jika node dalam
sebuah cluster load balancing tidak bekerja, software load-balancing
mendeteksi kegagalan dan meneruskan permintaan untuk node cluster
yang lain. Node yang tidak atif dalam sebuah cluster load balancing
21 4. High Performance Cluster
High performace cluster menggunakan node cluster untuk
melakukan perhitungan secara bersamaan. Sebuah high performace
cluster memungkinkan aplikasi untuk bekerja secara paralel, sehingga
meningkatkan kinerja aplikasi. High performace cluster juga disebut
sebagai sebuah klaster komputasi atau komputasi grid. (Anonim : 2007)
2.7.1 Cluster Service
Cluster Service tidak bisa dilepaskan dari layanan load balancing,
dan mempunyai tujuan untuk pencegahan kegagalan layanan bagi pengguna
jaringan komputer bila salah satu sistem atau aplikasi yang ada dalam
jaringan komputer mengalami kegagalan. Biasanya setelah layanan load
balancing ini diimplementasikan maka cluster service juga diaplikasikan
untuk membuat cadangan sistem atau aplikasi yang berjalan dalam
jaringan komputer. Sebuah server farm dengan mengimplementasikan
layanan cluster akan meningkatkan faktor ketersediaan, reliablitas dan juga
kecepatan akses (Rijayana : 2005).
Web Server Cluster adalah sekelompok server independen yang
dikelola sebagai sistem tunggal untuk ketersediaan yang tinggi, pengelolaan
22 2.8 Load Balancing
Load Balancing adalah proses pendistribusian beban terhadap sebuah
servis yang ada pada sekumpulan server atau perangkat jaringan ketika ada
permintaan dari pemakai (Rijayana : 2005).
Secara umum, jika ada pengguna mengirimkan permintaan HTTP
untuk sebuah alamat web, permintaan diarahkan ke web server yang
ditentukan oleh Domain Name System (DNS). Semua permintaan akan
ditangani oleh mesin ini. Dalam load balancing, layanan dapat didistribusikan
dengan mengirim permintaan berikutnya ke server yang berbeda. Sehingga
dengan load balancing, permintaan untuk layanan pada sebuah server dapat
tersebar di hampir semua jumlah server yang disediakan (Bookman : 2003).
Load balancing pada web server berada di layer 4 yaitu untuk
mendistribusikan permintaan ke server pada lapisan transport, seperti TCP dan
UDP.
Dalam membuat sebuah load balancing dapat menggunakan beberapa
metode yaitu :
1. Balance, solusi yang simple dalam membuat sebuah load balancing
namun tidak dapat menjaga session pengguna.
2. Eddie Mission, merupakan penyempurnaan dari balance dengan dapat
menjaga session dari pengguna.
3. Enhanced DNS Server, pada metode ini harus memasang eddie mission
23 4. LVS (Linux Virtual Server), perangkat lunak yang dapat menangani load
balancing dengan beberapa metode.(Bookman : 2003)
Salah satu cara untuk membangun load balancing adalah menggunakan
Linux Virtual Server (LVS) yang menyediakan beberapa algoritma yang dapat
digunakan.
Load balancing berfungsi sebagai berikut :
1. Menerima trafik dari sebuah network misalnya trafik sebuah web dan
mengarahkannya ke server tertentu.
2. Melakukan pembagian trafik menjadi individual request dan menentukan
server mana yang akan menerima individual request tersebut.
3. Memantau server dengan menyakinkan bahwa server tersebut bertanggung
jawab terhadap trafik.
4. Memberikan redudansi dengan mengaktifkan server lebih dari satu unit
melalui mekanisme fail-over.
5. Menawarkan distribusi content seperti pembacaan URL, interconnecting
cookies, dan XML parsing (Bourke : 2001).
Load balancing bekerja dengan trafik yang diarahkan pada situs.
Dengan 1 (satu) URL, 1 (satu) alamat IP, dan load balancing digunakan untuk
mendistribusikannya dengan baik. Adapun manfaat dari load balancing adalah
sebagai berikut :
1. Menjamin Reliabilitias layanan berarti kepercayaan terhadap sebuah
24 Jaminan realibilitas memungkinkan pengguna dapat melakukan
pekerjaan sebaik-baiknya dengan lancar melalui layanan tersebut.
2. Skalabilitas dan ketersediaan. Jika dalam sebuah jaringan komputer jika
hanya terdapat satu buah server mempunyai pengertian terdapat satu
titik masalah. Seandainya tiba-tiba server itu mati maka layanan
terhadap pengguna akan terganggu. Dengan melakukan penambahan
server dan membentuk server farm maka skalabilitas akan meningkat
dan selain itu faktor ketersediaan juga akan meningkat (Rijayana : 2005).
Gambar 2.2 Konsep Load Balancing.
(Sumber : http://cloudleverage.com/img/load-balancing-traditional.jpg)
Alasan penggunaan load balancing dalam melakukan penelitian
dengan studi kasus pada web server di PPPTMGB “LEMIGAS” adalah :
1. Request yang diberikan ke server dapat diatur perkoneksi.
2. Ketika salah satu server down maka server yang lain dapat mengambil
alih koneksi yang lain.
3. Manajemen server lebih mudah tanpa harus mengganggu user dalam
25 2.9 Sistem Operasi Ubuntu 10.04
Linux adalah sebuah program open source yang gratis di bawah lisensi
GNU, sistem operasi 32-64 bit, yang merupakan turunan dari Unix dan dapat
dijalankan pada berbagai macam platform perangkat keras mulai dari Intel
(x86), hingga prosessor RISC. Dengan adanya lisensi GNU (Gnu Not Unix)
kita dapat memperoleh program, lengkap dengan kode sumbernya (source
code). Tidak hanya itu, pendistribusiannya dapat dikopi sebanyak mungkin
atau bahkan mengubah kode sumbernya. Dan itu semua legal dibawah lisensi
(Ahmad Sofyan : 2000).
Sekarang telah berkembang banyak sekali distribusi linux atau lebih
dikenal dengan Distro. Distro Linux antara lain Slackware, Debian, RedHat
(Fedora), S.u.S.e, Caldera dan sebagainya. Distribusi tersebut menggunakan
kernel yang disetujui Linus Torvald sehingga menjamin kompabilitasnya.
Perbedaan diantara distribusi tersebut antara lain pada hal :
1. Paket-paket perangkat lunak yang disertakan di distribusi.
2. Struktur direktori.
3. Metode pemaketan perangkat lunak.
4. Inisialisasi sistem.
Ubuntu adalah suatu sistem operasi bebas dan open source yang
menggunakan Debian sebagai fondasinya dan dirilis secara berkala (setiap
enam bulan), fokus utama sistem operasi Ubuntu adalah para pengguna dan
26 Ubuntu akan memberikan perbaikan keamanan selama 18 bulan. Ubuntu
menyertakan lingkungan desktop Gnome / KDE / XFCE terbaru di setiap rilis
dan juga menyertakan beragam pilihan perangkat lunak untuk server dan
desktop yang semuanya dikemas ke dalam satu CD.
Ubuntu sendiri merupakan system operasi berbasis Debian Linux yang
dibuat dengan tujuan:
Selalu gratis atau tidak akan terdapat biaya lisensi.
Siap dipergunakan dalam kondisi stabil dengan siklus peluncuran yang
tetap, yaitu setiap 6 bulan.
Berprinsip pada pengembangan perangkat luak berkode terbuka (open
source).
2.9.1 Mekanisme Eksekusi Perintah di Linux
Sistem operasi ubuntu melibatkan banyak bagian untuk menyediakan
layanan. Contohnya adalah ls, yaitu perintah untuk mnampilkan isi direktori, sama dengan dir pada MS-DOS. Contohnya adalah $ ls, $ adalah prompt dari login shell yang sama dengan C:\> pada MS-DOS. Ketika pemakai
mengetikan ls meyebabkan keyboard driver menerima karakter yang
selanjutnya keyboard driver melewatkan ke shell. Shell mencari image
dieksekusi (executable image) yang bernama ls. Jika ditemukan image /bin/ls,
maka layanan kernel dipanggil untuk memuatkan image ls ke memori dan
mengeksekusinya. Image ls membuat panggilan ke sistem file di kernel untuk
27 Sistem file dapat melakukan langkah berikut untuk mendapatkan
informasi mengenai isi direktori (daftar file), yaitu :
1. Menggunakan informasi cache sistem file.
2. Menggunakan disk device driver untuk membaca informasi dari disk.
3. Menyebabkan network device driver berukar informasi dengan remote
machine untuk menemukan rincian remote file yang diakses sistem (Linux
dapat mempunyai sistem file remote, di-mount secara remote melalui
NFS).
Saat informasi telah tersedia, ls menuliskan dan video driver
menampilkan di layar. Pada perintah yang sederhana sekalipun, sistem operasi
melibatkan kerja sama banyak fungsi untuk member layanan (Bambang :
2009).
2.10 Shell dan Kernel Linux
Shell merupakan aplikasi yang memungkinkan pemakai dapat
berkomunikasi dengan komputer. Tugas shell adalah membaca perintah yang
diberikan pemakai dan menterjemahkan perintah (Command intrepreter)
tersebut sebagai suatu permintaan dan meneruskan ke kernel. Pada prompt
shell pemakai member perintah dan kemudian shell langsung memberi respon.
Setelah itu shell akan menanti perintah lain dari pemakai. Penggunaan shell
seperti ini disebut penggunaan shell secara interaktif. Selain itu, shell juga
dapat member kemungkinan pemakai untuk membuat suatu prosedur atau
28 merupakan aplikasi inti dari sistem Linux. Tugas yang dipegang oleh kernel
adalah :
1. Mengendalikan akses terhadap komputer.
2. Mengatur memori komputer.
3. Memelihara sistem file.
4. Mengalokasikan sumber daya computer di antara pemakai. (Wilfridus :
2008)
Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat
oleh komunitas Linux. Kernel Linux yang pertama dipublikasikan adalah versi
0.01 oleh Linus pada tanggal 14 Maret 1991. Sistem berkas yang didukung
hanya sistem berkas Minix tetapi, kernel tersebut sudah mengimplementasikan
proses UNIX secara tepat. Kernel Linux terus dikembangakan hingga pada
bulan Juni 1996, Linux 2.0 dirilis dengan memiliki dua kemampuan baru yang
penting, yaitu: dukungan terhadap multiple architecture dan multiprocessor
architectures.
2.11 Linux Virtual Server.
Linux Virtual Server adalah sebuah perangkat lunak yang
mengarahkan koneksi jaringan ke beberapa server yang memiliki beban kerja,
yang dapat digunakan untuk membangun layanan sangat scalable dan sangat
tersedia (Wensong : 1999). LVS menyalurkan session TCP dan UDP untuk
menyeimbangkan beban melalui beberapa real server. LVS sendiri berjalan
29 system operasi apapun kepada real server selama menggunakan koneksi
HTTP ataupun UDP. Dalam LVS terdapat istilah yang digunakan antara lain :
1. Linux Director yaitu sebuah host dengan Linux dan LVS terinstal yang
menerima paket dari end user dan mengirimkannya ke real server.
2. End User yaitu host yang memulai koneksi untuk mendapatkan informasi
(client).
3. Real Sever yaitu server yang menerima koneksi dari linux director.
4. Virtual IP Address atau VIP yaitu alamat IP yang ditangani oleh Linux
director untuk menjalankan sebuah servis.
5. Real IP Address atau RIP merupakan alamat IP yang sebenarnya dari Real
Server (Mack : 2006).
Alasan mengapa menggunakan LVS dalam membuat peneltian ini
adalah:
1. LVS merupakan perangkat lunak bebas. (http://linuxvirtualserver.org)
2. Mempunyai beberapa metode yang dapat digunakan untuk implementasi.
3. Server yang dapat dibuat dapat menggunakan LAN maupun WAN (Zhang
: 1999)
4. Dapat menggunakan beberapa sistem operasi yang berbeda. (Zhang :
30 2.11.1 Arsitektur LVS
1. LVS-Direct Routing
Teknik pengiriman permintaan Direct Routing ini menggunakan
alamat virtual IP yang sama dari real server dan director. Paket dari user
akan diteruskan langsung ke server yang sebenarnya. IP paket tidak
dimodifikasi, sehingga real server harus dikonfigurasi untuk menerima lalu
lintas untuk alamat IP virtual server. Hal ini dapat dilakukan dengan
menggunakan paket filtering untuk mengarahkan lalu lintas yang dialamatkan
dari alamat IP virtual server ke port lokal. Sehingga real server dapat
mengirimkan balasan langsung kembali ke pengguna akhir. (Horman : 2004)
31 (sumber: http://www.linuxvirtualserver.org/VS-DRouting.gif)
2. LVS-Tunneling
Pada LVS-Tunneling memungkinkan alamat paket ke alamat IP yang akan
diarahkan ke alamat lain, mungkin juga ke jaringan yang berbeda. Dalam
konteks layer 4 swithing, tunneling sangat mirip dengan direct routing,
kecuali ketika sebuah paket diteruskan akan dienkapsulasi ke dalam
sebuah paket alamat IP, tidak hanya memanipulasi frame Ethernet.
Keuntungan dari metode ini adalah real server bisa berada di jaringan
yang berbeda.
Gambar 2.4 Skema LVS-Tunneling
32 3. LVS-NAT
NAT atau Network Address Translation yaitu sebuah metode yang
memanipulasi alamat ip dan nomor port baik berasal dari sumber maupun
tujuannya. Alamat ip publik disamarkan untuk digunakan oleh alamat ip privat
agar bisa berhubungan dengan internet. Linux Director dan real server
dihubungkan oleh switch. Real server biasanya menjalankan layanan yang
sama dan mempunyai layanan yang isinya sama (Maman : 2007).
Cara kerja LVS-NAT seperti yang ada di gambar 2.6 adalah sebagai
berikut :
1. Ketika user mengakses layanan yang disediakan oleh server. Maka paket
yang dikirmkan akan sampai ke director.
2. Director lalu akan memilih server berdasarkan penjadwalan dan menulis
ulang alamat tujuan paket ke alamat IP real server lelu meneruskannya ke
real server.
3. Ketika korespondensi server terhadap proses permintaan dan balasan
sesuai dengan permintaan, maka dikirimkan ke director.
4. Director menulis ulang alamat dari paket balasan ke alamat IP dari real
33 Gambar 2.5 Skema LVS-NAT
(sumber : http://www.linuxvirtualserver.org/VS-NAT.gif)
Alasan penggunaan NAT dalam penelitian ini adalah sebagai berikut :
1. Real server dapat berjalan pada beberapa sistem operasi yang mendukung
protokol TCP/IP.
2. Real server dapat menggunakan alamat IP private.
34 2.11.2 Algoritma Penjadwalan Pada LVS
Linux director perlu menerapkan algoritma jadwal tertentu pada LVS.
Beberapa algoritma penjadwalan (sceduling algorithm) dalam LVS, antara
lain sebagai berikut :
1. Round-Robin adalah algoritma yang berfungsi untuk mengarahkan koneksi
jaringan pada sebuah model Round-Robin. Penjadwalan ini
memberlakukan semua real server sama menurut jumlah koneksi dan
waktu respon. Kelemahannya adalah membutuhkan peramalan beban
(load) yang akurat untuk setiap request agar algoritma ini bisa berjalan
dengan efektif.
2. Weighted Round-Robin adalah algoritma yang didasari dari Round-Robin
scheduling. Algoritma ini memperlakukan real server dengan kapasitas
proses yang berbeda berdasarkan bobot masing-masing server.
3. Least Connection adalah algoritma untuk mengarahkan koneksi baru ke
real server dengan koneksi aktif yang paling sedikit. Penjadwalan ini
merupakan penjadwalan yang dinamik, karena memerlukan perhitungan
koneksi aktif untuk masing-masing real server secara dinamik.
4. Weighted Least Connection adalah kumpulan algoritma penjadwalan least
connection, dimana dapat ditentukan bobot kinerja pada masing-masing
real server. Server yang memiliki nilai bobot yang lebih tinggi akan
menerima persentase yang lebih besar dari koneksi-koneksi aktif pada satu
35 5. Source Hashing adalah algoritma yang berfungsi untuk mengarahkan
client ke real server yang sama, mengembangkan inisialisasi yang
digunakan oleh Squid. Keuntungan algoritma ini adalah dapat memastikan
bahwa client menggunakan real server.
6. Destination Hashing adalah algoritma yang hampir sama dengan Source
Hashing scheduling, namun menggunakan table hash pada alamat tujuan
sebagai ganti dari alamat asal yang sama.
7. Locality-Based Least-Connection merupakan penjadwalan yang
mengarahkan beban ke serveryang mempunyai beban sedikit.
8. Locality-Based Least-Connection with replication merupakan penjadwalan
yang bertujuan peyeimbang beban IP, biasanya untuk cache server.
9. Shortest Expected Delay merupakan penjadwalan yang mengatur beban ke
delay yang terpendek dari sebuah server.
10. Never Queue merupakan penjadwalan yang mengatur ketika
ada idle server yang tersedia, pekerjaan akan dikirim ke server idle. Ketika
tidak ada server idle akan menggunakan penjadwalan Shortest Expected
Delay.
Dalam melakukan penelitian ini, penulis menggunakan algoritma penjadwalan
weighted round robin, dengan alasan :
1. Pada penjadwalan ini memberikan nilai bobot yang digunakan dalam
menangani request yang datang ke server.
2. Algoritma ini mudah untuk menambah koneksi ke server-server sehingga
36 2.12 Ipvsadm
Ipvsadm digunakan untuk mengatur, memelihara atau memeriksa tabel
server virtual pada kernel Linux. Linux Virtual Server dapat digunakan untuk
membangun layanan jaringan terukur berdasarkan cluster dari dua atau lebih
node. Fitur yang didukung termasuk dua protokol (TCP dan UDP), tiga
metode packet-forwarding (NAT, tunneling, dan direct routing), dan delapan
algoritma load balancing (round robin, weighted round robin,
least-connection, weighted least-least-connection, locality-based least-least-connection,
locality-based least-connection with replication, destination-hashing, and
source-hashing).(http://linux.die.net/man/8/ipvsadm).
Instalasi Ipvsadm dilakukan pada Linux director. Pada linux director
tidak terdapat web server. Linux director seakan-akan hanya sebagai pembagi
beban (load balance) untuk service http yang diberikan oleh web server yang
37 2.13 Drupal
Drupal adalah sebuah perangkat lunak sistem manajemen konten yang
bebas dan terbuka yang didistribusikan dibawah lisensi GPL. Pengembangan
dan perawatannya dilakukan oleh ribuan komunitas pengguna dan
pengembang di seluruh dunia. Drupal dapat diunduh secara bebas dan dapat
digunakan secara bebas juga, sehingga memungkinkan setiap orang baik
secara individu maupun komunitas untuk mempublikasi, mengatur dan
mengorganisir berbagai jenis dari isi atau konten yang berada pada website.
(http://id.wikipedia.org/wiki/Drupal).
Beberapa keunggulan Drupal adalah sebagai berikut :
1. Memiliki fasilitas update otomatis. Fasilitas ini bisa diatur agar
memberitahu administrator jika ada update untuk modul-modul yang
digunakan.
2. Drupal memiliki memiliki ukuran yang jauh lebih ringan dibanding
dengan cms lainnya. Sehingga dengan ukurannya yang kecil sangat cocok
bagi yang memiliki ukuran hosting yang kecil.
3. Drupal memiliki modul yang handal. Modul pada drupal dapat membuat
modifikasi website drupal tanpa koding.
4. Perkembangan development yang cepat. Para developer Drupal selalu
menambahkan banyak fitur baru disetiap rilis versinya (Widijanuarto :
38 2.14 Replikasi
Replikasi adalah suatu teknik untuk melakukan copy semua perubahan
yang dibuat pada server (disebut master) ke server lain (disebut slave) untuk
menghindari kehilangan data jika master mengalami crash dan memiliki
salinan dari server utama. (Charless Bell, 2010)
Gambar 2.6 Skema replikasi
(Sumber :
http://www.clusterdb.com/wp-content/uploads/2010/10/master_slave.jpg )
Replikasi antara server di MySQL didasarkan pada mekanisme log
biner (binary log). Jika salah satu beroperasi sebagai master menulis
pembaruan data dan pembaruan tersebut tercatat ke log biner. Informasi yang
ada di log biner disimpan dalam format log yang berbeda sesuai dengan
database perubahan yang dicatat. Kemudian slave dikonfigurasi untuk
membaca log biner dari master dan melakukan perubahan log biner yang ada
39 Gambar 2.7 Skema replikasi master-master
(sumber : http://www.lefred.be/blog/images/mysql_replication.png)
Replikasi master-master merupakan replikasi mysql dimana terdapat 2
(dua) server, dimana server pertama bertindak sebagai master dan juga slave
begitu juga dengan server kedua sehingga terdapat dua master dan dua slave.
Dua server tersebut akan melakukan sinkronisasi log biner dalam melakukan
replikasi.
Keuntungan replikasi tergantung dari jenis replikasi tetapi pada
umumnya replikasi mendukung ketersediaan data setiap waktu dan dimanapun
diperlukan.
Adapun keuntungan lainnya adalah :
1. Memungkinkan beberapa lokasi menyimpan data yang sama. Hal ini
40 sama atau memerlukan server yang terpisah dalam pembuatan aplikasi
laporan.
2. Aplikasi transaksi online terpisah dari aplikasi pembacaan seperti proses
analisis database secara online, data smarts atau data warehouse.
3. Memungkinkan otonomi yang besar. Pengguna dapat bekerja dengan
meng-copy data pada saat tidak terkoneksi kemudian melakukan
perubahan untuk dibuat database baru pada saat terkoneksi.
4. Data dapat ditampilkan seperti layaknya melihat data tersebut dengan
menggunakan aplikasi berbasis Web .
5. Meningkatkan kinerja pembacaan.
6. Membawa data mendekati lokasi individu atau kelompok pengguna. Hal
ini akan membantu mengurangi masalah karena modifikasi data dan
pemrosesan query yang dilakukan oleh banyak pengguna karena data dapat
didistribusikan melalui jaringan dan data dapat dibagi berdasarkan
kebutuhan masing-masing unit atau pengguna.
7. Penggunaan replikasi sebagai bagian dari strategi standby server. (Anonim
: 2007)
2.15 Iptables
IPTABLES merupakan salah satu tools firewall default pada system
operasi linux. IPTABLES ini bekerja baik di kernel 2.4.x-2.6.x sedangkan
41 untuk mengelola, memaintain, menginspeksi rule-rule IP paket filter dalam
kernel linux. (Onno W. Purbo, 2008)
Gambar 2.8 Diagram Paket pada IPTables
(Sumber :
http://translate.googleusercontent.com/Quick_HOW-TO_%20_Ch14_%20_Linux_Firewalls_Using_iptables_files/Iptab
42 2.16 IP Public dan IP Private
IP Public adalah istilah IP address yang digunakan untuk
mengidentifikasi host di internet global. IP private merupakan IP address
yang digunakan untuk internet lokal dan tidak dapat digunakan
berkomunikasi dengan host di internet global.
Pengalokasian IP untuk jaringan Internet Private didefinisikan di RFC
1918 (Addresse Allocation for Private Internet). Internet Assigned Numbers
Authority (IANA) menetapkn ada tiga blok IP address yang bisa digunakan
untuk jaringan internet local sebagai berikut.
Tabel 2.1 Alokasi alamat IP private
Alamat Ip Private
10.0.0.0 Hingga 10.255.255.255
172.16.0.0 Hingga 172.16.255.255
192.168.0.0 Hingga 192.168.255.255
Jadi, saat menggunakan kelas A, range-nya adalah 10.xxx.xxx.xxx.
Range kelas B adalah 172.16.xxx.xxx dan kelas C adalah 192.168.xxx.xxx
(Catatan: xxx adalah angka-angka yang bisa anda gunakan). Blok-blok IP
tersebut dapat digunakan bebas oleh siapa saya untuk membuka jaringan
local. IP Private juga termasuk dalam kelompok loopback device dari
127.0.0.0 sampai 127.255.255.255 (untuk keperluan internal operating
43 2.17 Perangkat Lunak Siege
Siege merupakan penguji beban http dan utilitas benchmarking.
Perangkat lunak ini telah dirancang untuk digunakan para pengembang web
untuk mengukur kinerja web yang dibuatnya. Hal ini memungkinkan para
pengguna melakukan akses terhadap sebuah server yang dikonfigurasi berapa
banyak pengguna dalam sebuah simulasi yang bersamaan.
Siege ditulis untuk GNU/Linux dan telah berhasil di AIX, BSD, HP-UX
dan Solaris. Ini harus dikompile pada kebanyakan varian sistem UNIX. Siege
tidak dirancang untuk windows namun dapat menguji sebuah server http
windows (http://www.joedog.org/index/siege-home).
2.18 Studi Literatur
Berdasarkan pengamatan penulis, pada penelitian sebelumnya terdapat
beberapa penelitian yang hampir serupa dengan penelitian yang dilakukan
oleh penulis, diantaranya adalah:
1. Analisis Load Balancing Dengan Menggunakan Aplikasi Web Sebagai
Pengontrol Konfigurasi. (Dede Danuria, 2010)
Pada Penuliasn Tugas Akhir ini dilakukan analisis terhadap Load
Balancing pada web server SUDIN KOMINMAS Jakarta Selatan
menggunakan web interaktif, dimana dalam melakukan penelitian
menggunakan pemrograman PHP dalam membuat web dan untuk
44 digunakan oleh administrator. Sehingga memudahkan dalam melakukan
konfigurasi pada director.
Kekurangan yang dapat dilihat oleh penulis dalam penulisan tugas
akhir ini adalah sebagai berikut:
a. Belum adanya pengujian terhadap server LVS maupun server
Tunggal dengan menggunakan beberapa parameter.
b. Penggunaan load balancing hanya pada jaringan LAN.
Adapun kelebihan yang dapat dilihat oleh penulis dalam penulisan
tugas akhir ini adalah penggunaan web interaktif dalam mengatur
konfigurasi virtual server membantu administrator dalam melakukan
konfigurasi.
2. Komparasi Algoritma Penjadwalan Pada Layanan Terdistribusi Load
Balancing LVS Via NAT. (Abdul Haris Nasution, 2011)
Pada skripsi ini dilakukan penelitian perbandingan beberapa
algoritma penjadwalan pada linux virtual server terdapat yang dapat
mempengaruhi kinerja sistem LVS, performansi tiap algoritma tersebut
dapat diamati dengan membandingakan antar algoritma terhadap
parameter meliputi throughput, request loss, CPU utilization, dan
waktu respon sehingga didapatkan algoritma penjadwalan terbaik pada
implementasi load balancing LVS via NAT.
Kekurangan yang dapat dilihat oleh penulis dalam penulisan tugas
45 a. Dalam melakukan penelitian masih menggunakan perangkat lunak
Virtual Box untuk director maupun real server.
b. Penggunaan load balancing hanya pada jaringan LAN.
Adapun kelebihan yang dapat dilihat oleh penulis dalam penulisan
tugas akhir ini adalah hasil analisa disimpulkan bahwa panjadwalan
weighted round robin merupakan penjadwalan yang terbaik. Sehingga
hasil kesimpulan ini menjadi acuan penulis dalam menggunakan
algoritma penjadwalan weigthed round robin sebagai penjadwalan yang
digunakan pada penelitian ini.
3. Penerapan Pengolahan Paralel Model Cluster Sebagai Web Server.
(Maman Somantri dan Ari Darmariyadi, Teknologi Elektro Vol. 6 No. 1
Januari – Juni 2007).
Pengolahan paralel merupakan suatu cara yang dilakukan
untuk meningkatkan kecepatan pengolahan data dengan melakukan
lebih dari satu pengolahan data tersebut secara bersamaan. Salah satu
bentuk pengolahan paralel adalah model cluster. Pengolahan paralel
model cluster ini akan digunakan untuk mengolah data Web, dengan
membangun server Web yang di-cluster. Cluster server Web ini
menggunakan teknologi Linux Virtual Server (LVS) yang dapat
dilakukan dengan NAT, IP tunneling, dan direct routing yang memiliki
empat algoritma penjadwalan. Pada penelitian ini akan digunakan
teknologi LVS untuk membuat cluster Web Server dengan
46 dan Network Block Device yang digunakan sebagai media
penyimpanan dalam jaringan.. Dalam pengujian sistem cluster ini,
pertama dilakukan pengujian jaringan yang digunakan untuk
mengetahui kinerja sistem, dan pengujian sistem cluster dalam mengolah
data Web dengan perangkat lunak WebBench dan script benchmark.
4. Uji Coba Linux Virtual Serverr Dalam Aplikasi Web – WALRUS
Experiment – (Dwi Handoko, Tri Sampurno, Andi Tepe. Proceedings,
Komputer dan Sistem Intelejen (KOMMIT2004) 24-25 Agustus 2004).
Dalam penelitian ini, penggunaan LVS diharapkan dapat meningkatkan
performansi dari server. LVS diimplementasikan pada kernel Linux.
Dalam penelitian inii dilaporkan uji coba atas aplikasi LVS dengan
menggunakan metode NAT dalam aplikasi web (WALRUS - Web
Apllication on Linux Virtual Server). Dari hasil uji coba terlihat
LVS-NAT dapat meningkatkan performasi untuk aplikasi web khususnya yang
47
BAB III
METODE PENELITIAN
3.1 Metode Pengumpulan Data
Dalam melakukan penelitian ini, penulis menggunakan beberapa
metode dalam melakukan pengumpulan data, diantaranya :
1. Studi Pustaka
Penulis mengumpulkan dan mempelajari buku-buku atau ebook
yang berhubungan dengan penelitian yang dilakukan. Untuk melihat
referensi selengkapnya terdapat pada halaman daftar pustaka.
2. Studi Lapangan
a. Observasi
Pengamatan langsung ke lapangan (observasi) yang dilakukan oleh
penulis, tempat dan waktu pelaksanaannya yaitu pada PPPTMGB
LEMIGAS, Urusan Telematika Sub Bidang Afiliasi, jalan Cileduk Raya
Kav. 109, Cipulir Kebayoran Lama-Jakarta Selatan. Mulai dari tanggal 1
48 b. Wawancara
Dalam melakukan pengumpulan data, penulis juga melakukan
wawancara secara langsung kepada pihak yang terlibat. Wawancara
dilakukan kepada Ibu Indah Musi Indria Dewi, selaku kepala Urusan
Telematika LEMIGAS.
3. Studi Literatur
Dalam melakukan penelitian penulis juga menggunakan literature
sejenis yang digunakan baik berasal dari jurnal-jurnal maupun skripsi yang
mempunyai topik yang mendekati dengan topik yang dibahas penulis.
Studi literatur dapat di lihat pada bab 2 (dua) subbab 2.18.
3.2 Metodologi Pengembangan Sistem
Dalam malakukan penelitian, penulis menggunakan PPDIOO Network
49 Gambar 3.1 Metodologi penelitian PPDIOO Network Life Cycle.
(Sumber : Teare, 2008)
1. Prepare
Dalam model pengembangan sistem PPDIOO fase pertama dimulai
dari fase prepare. Pada fase ini dilakukan proses perumusan masalah,
mengidentifikasi konsep dari sistem yang akan diimplementasikan, jenis
dan tipe penerapannya, serta komponen pendukung sehingga spesifikasi