Makalah Jaringan Komunikasi Hardware Redudancy

:

Load Balancing / Clustering
Kelompok IV Alvin Bagus Setyawan (111070174) Kahfi Kurnia (111070189) Tengku Indira Giovany (111070177) Tito Galit Permana (111070184) Yosephine Talenta Hutauruk (111070179)

Fakultas Elektro dan Komunikasi Institut Teknologi Telkom Bandung 2010
1

KATA PENGANTAR

Segala puji bagi Tuhan yang telah menolong hamba-Nya menyelesaikan makalah ini dengan penuh kemudahan. Tanpa pertolongan Dia mungkin penyusun tidak akan sanggup menyelesaikan dengan baik. Makalah ini disusun agar pembaca dapat memperluas ilmu tentang Load Balancing and Clustering, yang kami sajikan berdasarkan pengamatan dari berbagai sumber. Makalah ini di susun oleh penyusun dengan berbagai rintangan. Baik itu yang datang dari diri penyusun maupun yang datang dari luar. Namun dengan penuh kesabaran dan terutama pertolongan dari Tuhan akhirnya makalah ini dapat terselesaikan. Makalah ini memuat tentang Load Balancing and Clustering yang sangat penting dalam perancangan maupun maintenance jaringan. Walaupun makalah ini mungkin kurang sempurna tapi juga memiliki detail yang cukup jelas bagi pembaca. Penyusun juga mengucapkan terima kasih kepada dosen Jaringan Komunikasi sang Penyusun yaitu Bapak Iqbal yang telah memberikan kuliah yang menjadi dasar pengetahuan penyusun dalam menulis makalah ini. Semoga makalah ini dapat memberikan wawasan yang lebih luas kepada pembaca. Walaupun makalah ini memiliki kelebihan dan kekurangan. Penyusun mohon untuk saran dan kritiknya. Terima kasih.

Bandung , Juni 2010

Penyusun
2

DAFTAR ISI

LembarJudul Daftar Isi.....................................................................................................................i Kata Pengantar.........................................................................................................iii BAB I PENDAHULUAN 1.1 Latar Belakang Masalah………………..……………………………....5 1.2 Tujuan dan Manfaat………… ………………………………………...6 1.2.1 Tujuan………………………………………………………...6 1.2.2 Manfaat………………………………………………………...7 1.3 Ruang Lingkup Perumusan Masalah……………………………………7 1.3.1 Ruang Lingkup…….………………………….………………...……..7 1.3.2 Perumusan Masalah………………..…………..……..……………….7 BAB II PEMBAHASAN 2.1 Definisi Redudansi hardware……………...………………………….....8 2.2 Definisi Load Balancing………………..……………………………….8 2.3 Sistem Load Balancing….……………..………………………….……12 2.3.1 DNS Round Robin……………………………………………12 2.3.2 Integrated Load Balancing……………………………………15 2.3.3 Network Load Balancing (NLB)……………………………..16 2.3.4 Component Load Balancing (CLB)…………………………..17 2.4 Server Cluster………………………………………………………......17 2.5 Dedicated Load Balancing………………………………………….....20 2.6 Design Solusi Center…………………………………………………..25 2.7 Menggabungkan Teknologi Clustering………………………………...31 2.8 Membuat Cluster Load Balancing……………………………………...32

3

BAB III KESIMPULAN DAN SARAN 3.1 Kesimpulan…………………………………………………………….39 3.2 Saran……………………………………………………………………39 DAFTAR PUSTAKA …………………………………………….………………40

4

BAB I PENDAHULUAN

1.1.

Latar Belakang Masalah Istilah TI (Teknologi Informasi) yang populer saat ini adalah bagian

dari mata rantai panjang dari perkembangan istilah dalam dunia SI (Sistem Informasi).Istilah TI memang lebih merujuk pada teknologi yang digunakan dalam menyampaikan maupun mengolah informasi, namun pada dasarnya masih merupakan bagian dari sebuah sistem informasi itu sendiri.TI memang lebih mudah dipahami secara umum sebagai pengolahan informasi yang berbasis pada teknologi komputer yang sedang berkembang pesat. Sebuah Sistem TI atau selanjutnya akan disebut STI, pada dasarnya dibangun di atas lima tingkatan dalam sebuah piramida STI. Berurutan dari dasar adalah : konsep dasar, teknologi, aplikasi, pengembangan dan pengelolaan. Meluasnya penggunaan jaringan komputer merupakan motor bagi perkembangan internet yakni cara untuk merangkaikan beberapa komputer sehingga setiap komputer yang ada di dalamnya dapat saling berhubungan dan berbagai sumberdaya seperti printer dan perangkat penyimpanan data. Dewasa ini, jaringan komputer hadir dalam berbagai bentuk dan ukurannya. Jaringan memungkinkan para pemakai menggunakan perangkat yang bernilai sangat mahal secara bersamaan.Misalnya bila masing- masing komputer dikantor memiliki printer laser sendiri, maka biaya yang harus dikeluarkan menjadi sangat mahal.Akan jauh lebih murah bila satu printer laser digunakan secara bersama-sama dalam satu jaringan.Ini berarti setiap komputer dalam jaringan tersebut tersambung ke printer yang digunakan secara bersama-sama melalui kabel.

5

Beberapa tipe jaringanjuga memungkinkan pemakainya untuk menggunakan program secara bersamaan dan saling berkirim pesan menggunakan komputer yang disebut surat elektronik (e-mail). Setiap orang pada suatu komputer dapat mengirim pesan ke suatu atau lebih pengguna komputer lain dalam kantor yang sama. Pengguna tersebut dapat juga menggunakan jaringan untuk memindahkan file dari suatu komputer lainnya. Model jaringan semacam ini disebut sebagai jaringan lokal (Local Area Network) karena jaringan tersebut berada dalam suatu lokasi fisik yang sama. Banyak perusahaan besar memiliki kantor di beberapa kota. Masingmasing kantor biasanya juga memiliki jaringan lokal. Untuk menghubungkan jaringan-jaringan lokal tersebut, digunakan jaringan telepon berkecepatan tinggi, sehingga terbentuklah jaringan yang lebih luas (Wide Area Network). Pengetahuan tentang Load Balancing pada dasarnya adalah untuk mengetahui bagaimana memanfaatkan server secara efektif, sehingga jaringan-jaringan tersebut dapat bekerja dengan baik. Penulis dalam hal ini akan membahas tentang Redudancing Hardware: Load Balancing dan Clustering, dan membahas bagaimana apabila menggunakan dua server aktifaktif dan aktif-standby.

1.2.

Tujuan dan Manfaat

1.2.1. Tujuan Berdasarkan latar belakang yang penulis uraikan diatas, adapun tujuan dari pembuatan makalah ini adalah : 1. Memahami tentang Redudancing Hardware. 2. Memahami tentang Load Balancing dan Clustering sehingga dapat mengaplikasikannya dalam efisiensi jaringan.

6

3. Menganalisa

bagaimana

penggunaan

Load

Balancing

apabila

menggunakan dua server yang aktif-aktif dan aktif-standby.

1.2.2. Manfaat Adapun manfaat yang di dapat dari makalah ini antara lain : 1. Dapat memberikan pengetahuan tentang ilmu Load Balancing dan Clustering. 2. Memahani bagaimana penggunaan Load Balancing dan Clustering yang efektif. 3. Memahami penggunaan Load Balancing dengan dua server yang aktifaktif dan aktif-standby.

1.3.

Ruang Lingkup dan Perumusan masalahan

1.3.1. Ruang Lingkup Di dalam tulisan ini dibahas tentang teknik konfigurasi load balancing padadua server yang aktif-aktif dan aktif-standby, dan pengertian Load Balancing itu sendiri sehingga jaringan dapat bekerja secara optimal. 1.3.2. Perumusan Masalah Berdasarkan latar belakang masalah yang dijelaskan sebelumnya, maka perumusannya adalah bagaimana sistem load balancing bekerja dua server yang aktif-aktif dan aktif-standby,dan bagaimana topologi dan teknologi yang di pakai, sehingga layanan ini dapat bekerja secara optimal.

7

BAB II PEMBAHASAN

2.1 .

Definisi Redudansi Hardware Pada umunnya, redudansi hanyalah penambahan informasi sumber

daya atau waktu melampaui apa yang diperlukan untuk operasi system normal. Sementara redudansi hardware adalah penambahan hardware, biasanya untuk tujuan mendeteksi atau toleransi kesalahan

2.2.

Definisi Load Balancing Proses load balancing sebenarnya merupakan proses fleksibel yang

dapat diciptakan dengan berbagai cara dan metode. Proses ini tidak dapat dilakukan oleh sebuah perangkat tertentu atau sebuah software khusus saja. Cukup banyak cara dan pilihan untuk mendapatkan jaringan yang dilengkapi dengan sistem load balancing. Cara kerja dan prosesnya pun berbeda-beda satu dengan yang lainnya. Namun, cara yang paling umum dan banyak digunakan adalah dengan mengandalkan konsep Virtual server atau Virtual IP. Istilah Virtual server atau Virtual IP sebenarnya merupakan istilah bebas, karena mungkin saja sistem lain menggunakan konsep yang sama namun dengan istilah yang berbeda. Secara umum, konsep dari Virtual server atau Virtual IP ini adalah sebuah alamat IP, sebuah nama, atau bisa juga dikatakan sekelompok alamat IP yang bertugas sebagai jembatan penghubung antara pengakses dari luar dengan sekelompok server atau perangkat jaringan yang berada dibelakangnya.

8

Tujuan dibuatnya sistem perwakilan tersebut adalah agar ketika nama atau alamat IP tersebut diakses dari luar, yang dapat melayani permintaan tersebut tidak terbatas hanya satu perangkat server saja. Sekelompok server atau perangkat jaringan yang diwakilinya memiliki kemampuan untuk menjawab permintaan-permintaan tersebut. Sebagai hasilnya, permintaan-permintaan tersebut terdistribusi ke beberapa server sehingga beban proses kerja server-server tersebut tidak terlalu berat. Hal ini membuat servis dan layanan yang diberikan server tersebut ke si pengguna dapat berjalan lebih baik dan berkualitas. Sistem load balancing yang sederhana memang hanya mampu membuat sebuah perwakilan nama atau alamat IP untuk mewakili beberapa IP dari server-server dibelakangnya, namun perangkat yang memang

dikhususkan menangani sistem load balancing kompleks dapat melakukan perwakilan hanya terhadap servis-servis yang dibuka oleh server

dibelakangnya. Dalam sistem load balancing, proses pembagian bebannya memiliki teknik dan algoritma tersendiri. Pada perangkat load balancing yang kompleks biasanya disediakan bermacam-macam algoritma pembagian beban ini. Tujuannya adalah untuk menyesuaikan pembagian beban dengan karakteristik dari server-server yang ada di belakangnya. Solusi Load balancing di jaringan komputer digunakan untuk membagi antara bandwidth yang ada dibackbone utama (primary) dengan bandwidth backup. Jadi disini dibutuhkan backbone backup yang berbeda dengan primary baik dari sisi routing, lastmile bahkan penyedia jasanya. Load balancing Network, suatu teknik yang digunakan untuk memisahkan antara dua atau banyak network link. Dengan mempunyai banyak link maka optimalisasi utilisasi sumber daya, throughput, atau respone
9

time akan semakin baik karena mempunyai lebih dari satu link yang bisa saling membackup pada saat network down dan menjadi cepat pada saat network normal jika memerlukan realibilitas tinggi yang memerlukan 100 % koneksi uptime dan yang menginginkan koneksi upstream yang berbeda dan dibuat saling membackup Untuk dapat mengimplementasikan system ini diperlukan suatu perangkat tambahan baik berupa router Cisco atau menggunakan solusi router dari Mikrotik yang lebih ekonomis namun powerfull.

Gambar 1. Solusi load balancing dengan dua backbone provider Secara umum, algoritma-algoritma pembagian beban yang banyak digunakan saat ini adalah:

Round Robin Algoritma Round Robin merupakan algoritma yang paling sederhana dan banyak digunakan oleh perangkat load balancing. Algoritma ini membagi
10

beban secara bergiliran dan berurutan dari satu server ke server lain sehingga membentuk putaran.

Gambar 2. Round Robin.

Ratio Ratio (rasio) sebenarnya merupakan sebuah parameter yang diberikan untuk masing-masing server yang akan dimasukkan kedalam sistem load balancing. Dari parameter Ratio ini, akan dilakukan pembagian beban terhadap server-server yang diberi rasio. Server dengan rasio terbesar diberi beban besar, begitu juga dengan server dengan rasio kecil akan lebih sedikit diberi beban.

Fastest Algoritma yang satu ini melakukan pembagian beban dengan

mengutamakan server-server yang memiliki respon yang paling cepat. Server di dalam jaringan yang memiliki respon paling cepat merupakan server yang akan mengambil beban pada saat permintaan masuk.
11

Least Connection Algoritma Least connection akan melakukan pembagian beban berdasarkan banyaknya koneksi yang sedang dilayani oleh sebuah server. Server dengan pelayanan koneksi yang paling sedikit akan diberikan beban yang berikutnya akan masuk.

2.3.

Sistem Load Balancing Seperti telah dijelaskan di atas, sistem load balancing sebenarnya

dapat dibuat dengan banyak cara. Pembuatannya tidak terikat oleh sebuah operating system saja, atau hanya dapat dibuat oleh sebuah perangkat saja. Namun secara garis besar cara pembuatan sistem load balancing terbagi menjadi tiga kategori besar, yaitu load balancing dengan menggunakan DNS round robin, Integrated load balancing, dan Dedicated load balancing. Ketiga jenis ini memiliki cara kerja yang unik dan berbeda satu sama lain, tetapi tetap menuju suatu hasil akhir yang sama, yaitu menciptakan sebuah sistem yang lebih menjamin kelangsungan hidup jaringan di belakangnya dan

membuatnya lebih skalabel. 2.3.1. DNS round robin Metode yang paling sederhana untuk menciptakan sistem load balancing adalah dengan menggunakan metode DNS Round robin. Metode ini sebenarnya merupakan sebuah fitur dari aplikasi bernama BIND (Berkeley Internet Name Domain). Ini merupakan aplikasi open source khusus untuk membangun server DNS yang tampaknya sudah menjadi semacam standar yang digunakan di mana-mana. Sistem DNS round robin banyak

12

mengandalkan teknik input penamaan yang teratur rapi dan dipadukan dengan sistem perputaran round robin.

Gambar 3. Konfigurasi DNS Round Robin Seperti yang telah ketahui, DNS merupakan sebuah sistem penamaan terhadap perangkat-perangkat komputer. Penamaan ini dibuat berdasarkan alamat IP dari perangkat tersebut. Sebuah perangkat yang memiliki alamat IP dapat diberi nama dan dapat diakses menggunakan namanya saja jika Anda memiliki DNS server. Sistem penamaan tersebut banyak sekali manfaatnya, misalnya hanya untuk sekadar lebih mudah diakses atau untuk diproses lebih lanjut. Dari sistem penamaan ini dapat dibuat sebuah sistem load balancing sederhana dan murah yang memanfaatkan sifat alami dari program BIND ini, yaitu sistem perputaran round robin. Pada sebuah record DNS yang berisikan informasi penamaan, Anda dapat memasukkan beberapa nama lain untuk diwakili oleh sebuah nama utama. Beberapa nama lain itu memiliki masingmasing record sendiri yang juga mewakili alamat-alamat IP dari perangkat
13

jaringan. Jadi setelah proses input penamaan selesai, Anda akan mendapatkan sebuah nama utama yang mewakili beberapa nama-nama lain yang mewakili beberapa perangkat jaringan seperti server. Di sinilah kuncinya, ketika ada yang mengakses nama utama tersebut, DNS server akan dihubungi oleh si pencari. Setelah menerima permintaan, DNS server akan mencari record dari nama utama tersebut. Ternyata di dalam record tersebut terdapat beberapa nama lain yang berhubungan dengan nama utama. Pada kondisi inilah, DNS server akan menjalankan sistem perputaran round robin untuk menggilir informasi namanama lain mana saja yang diberikan ke para pemintanya. Di sini, sistem load balancing sebenarnya sudah terjadi. Alamat IP dari server-server yang diwakili oleh nama lain tersebut akan diberikan kepada para peminta secara bergiliran sesuai dengan algoritma round robin. Ini menjadikan beban terbagi-bagi secara bergilir ke server-server lain dengan sendirinya.  Contoh Kasus : Misalkan, suatu perusahaan memiliki dua buah server yang ingin digunakan untuk kepentingan situs perusahaan. Perusahaan tersebut harus mempunyai domain utama. Dua buah server ini ingin dimasukkan ke dalam sistem load balancing, sehingga pendistribusian bebannya tidak

tersentralisasi. Dengan menggunakan sistem DNS round robin, yang perlu dilakukan adalah melakukan input penamaan kedua server tersebut di DNS server secara teratur. Konfigurasi ini akan menjadikan setiap kali pengguna mengakses nama utama yang dibuat, maka DNS server akan memberikan informasi IP ke pengguna. Sistem load balancing ini terbilang mudah dan sederhana untuk diimplementasikan, namun ada juga beberapa kelemahan yang cukup
14

signifikan. Problem yang sering terjadi adalah ketika ada sebuah DNS server lain (misalkan DNS A) di Internet yang masih meng-cache hasil pencariannya yang pertama. Jadi jika kali pertama server DNS A tersebut mendapatkan informasi IP dari domain utama perusahaan tersebut adalah IP 1.1.1.2, maka DNS A tidak mengetahui alamat IP yang lain dari domain utama tersebut. Ini membuat para pengguna yang menggunakan server DNS ini juga tidak dapat mengetahui sistem load balancing yang ada, sehingga load balancing tidak bekerja. Kelemahan lainnya adalah ketika sebuah server di dalam sistem load balancing ini tidak dapat bekerja, maka sistem DNS tidak dapat mendeteksinya. Hal ini menyebabkan server yang tidak dapat bekerja tersebut malahan mendapatkan banyak request dari luar, meskipun tidak dapat bekerja. 2.3.2. Integrated load balancing Integrated load balancing biasanya merupakan solusi load balancing tambahan dari sebuah aplikasi atau operating system. Biasanya aplikasi atau operating system yang memiliki fitur ini adalah yang memiliki kemampuan beroperasi sebagai server. Sistem load balancing bukan merupakan fungsi utama. Oleh sebab itu, biasanya fitur, performa, dan kemampuannya cukup sederhana dan digunakan untuk sistem berskala kecil menengah. Fasilitasnya juga lebih banyak bersifat general saja, jarang yang spesifik. Meski demikian, fitur ini amat berguna jika digunakan pada jaringan yang tepat.

15

Gambar 4.4.3.2 integrated load balancing Salah satu Integrated load balancing ini dapat Anda temukan di Microsoft Windows 2000 Advance Server yang merupakan fitur tambahan. Pada operating system yang memiliki kemampuan jaringan yang hebat ini, Anda dapat mengonfigurasi sistem load balancing dengan cukup mudah. Selain itu, fitur-fitur yang diberikan untuk keperluan ini juga terbilang cukup lengkap. Fitur-fitur yang ada dalam teknologi load balancing pada Windows 2000 Advance Server dan juga Windows 2000 Datacenter Server adalah sebagai berikut: 2.3.3 . Network Load Balancing (NLB) Network load balancing merupakan fasilitas yang memungkinkan mesin Windows 2000 Advance Server melakukan load balancing terhadap aplikasi-aplikasi yang berjalan berdasarkan jaringan IP. Aplikasi yang berjalan diatas IP seperti HTTP/HTTPS, FTP, SMTP, dan banyak lagi dapat dengan mudah di-load balance dengan menggunakan fasilitas ini. Dengan menggunakan NLB, Anda dapat membuat satu grup cluster server yang dilengkapi dengan sistem load balancing terhadap semua servis-servis TCP, UDP, dan GRE (Generic Routing Encapsulation). Untuk semua proses tersebut, dikenal sebuah istilah Virtual Server yang bertindak sebagai satu titik pusat pengaksesan server-server di bawahnya. Dengan adanya fasilitas
16

ini, servis dan layanan yang dijalankan oleh server-server ini lebih terjamin kelancarannya. Sangat ideal digunakan untuk keperluan servis-servis front end, seperti web server agar masalah-masalah seperti bottleneck pada server dapat dikurangi.

2.3.4. Component Load Balancing (CLB) Teknologi load balancing ini menyediakan sistem load balance terhadap komponen-komponen yang mendukung jalannya sebuah software atau aplikasi. Aplikasi atau software yang dapat di-load balance adalah yang komponen-komponennya menggunakan COM+. Dengan melakukan load balancing terhadap komponen-komponen COM+ yang ada di beberapa server, maka jalannya sebuah aplikasi lebih terjamin dan lebih skalabel melayani para pengguna aplikasi.

2.4.

Server Cluster Suatu clustering adalah suatu kelompok dua atau lebih server yang

didedikasikan khusus untuk menjalankan suatu applikasi (atau beberapa applikasi) dan dikoneksikan sedemikian rupa agar memberikan suatu fault tolerance dan load balancing. Fault tolerance mungkin asing bagi kita, gampangnya jika salah satu mesin tidak bisa menunaikan fungsinya atau mati, maka akan di ambil alih / digantikan oleh mesin lainnya secara automatis. Dalam system server cluster, masing-2 server menjalankan applikasi kritis yang sama, sehingga apabila salah satu server gagal fungsi, maka server lainnya akan mendeteksi kegagalan fungsi ini dan mengambil alih fungsinya hanya dalam hitungan beberapa saat saja. Hal ini disebut sebagai
17

“failover”. Jika node yang gagal fungsi tadi kembali normal, maka node-2 yang lain akan mengetahui kondisi ini dan system cluster akan kembali menggunakan node yang gagal fungsi tadi kembali. Kondisi ini disebut “failback”. Dalam system windows 2003, kemampuan clustering ini di install secara automatis, akan tetapi pada system windows 2000 anda harus menginstall module terpisah Microsoft Clustring System. Server cluster di rancang untuk aplikasi yang long-running di memory state atau applikasi yang datanya besar dan sering berubah yang lazim disebut sebagai statefull applications dan berisi database server seperti Microsoft SQL, Exchange server, server file dan printers. Semua node dalam cluster ini terhubung dengan suatu data set share SCSI bus atau SAN – storage area network. semua node mempunyai akses ke data applikasi yang sama, dan masing-2 node bisa memproses request dari client kapan saja. Anda bisa configure setiap node dari cluster ini menjadi passive atau active. Node yang active bisa menerima dan memproses permintaan dari clients, sementara node yang passive bersifat idle dan berfungsi sebagai “fallback” jika node yang active gagal. Pada gambar berikut ini dimisalkan ada dua server yang membentuk suatu cluster dimana keduanya running windows server 2003 dan Microsoft SQL server dan masing-2 terhubung kepada piranti NAS yang sama yang berisi database. Kedua server juga mempunyai koneksi khusus yang dipakai mendeteksi detak jantung masing-2 kalau terjadi gagal fungsi.

18

Gambar 4. Solusi server Cluster - Konsep Server A berfungsi sebagai node active sementara server B berfungsi sebagai passive node. Server A ini sepanjang waktu berfungsi normal, menjalankan applikasi database, menerima requests dari clients database, dan mengakses file-2 database pada piranti NAS. Akan tetapi tiba-2 server A karena suatu alasan tertentu gagal berfungsi, maka server B sebagai node passive mendeteksi kegagalan fungsi server active A ini dan serta merta menjadi node Active menggantikan fungsi server A memproses permintaan clients menggunakan database yang sama pada NAS.

Sama seperti NLB, server cluster juga mempunyai nama dan IP address terpisah dengan IP address masing-2 node. Makanya saat node active gagal, tidak ada perubahan fungsi yang dirasakan pada clients, karena system langsung di handle oleh passive node atau jika dalam X Node Clustering passive nodenya adalah survival node.

Server cluster hanya bisa jalan pada system windows server 2003 edisi Enterprise dan Datacenter saja, untuk edisi Windows 2003 standard hanya bisa jalan NLB. Masing-2 node tidak boleh menggunakan edisi windows 2003 yang berbeda, harus seragam, edisi Enterprise atau Datacenter saja.

Maksimum bisa sampai 8 nodes saja yang bisa berfungsi masing-2 failover dan failback. Failback tidak di configure by default, jadi harus di configure
19

secara manual atau automatis. Kebanyakan para praktisi melakukan konfigurasi manual untuk failback agar bisa mengevaluasi kegagalan fungsi dari node tersebut.

Memerlukan hardware disk drive khusus missal Fibre Channel, Shared SCSI, atau SAN. Fibre Channel adalah suatu technology jaringan serial kecepatan tinggi sampai 100 Mbytes per second menggunakan komunikasi full-duplex. Sementara SCSI menggunakan technology sinyal parallel.

Dipakai pada SQL server, MS Exchange, File dan Print server dll.

2.5.

Dedicated Load Balancing

Gambar 4.4.3.3 Dedicated Load Balancing

Metode load balancing yang satu ini diklaim sebagai sistem load balancing yang sesungguhnya karena kerja dan prosesnya secara total diperuntukan bagi proses load balancing terhadap server atau jaringan di bawahnya. Secara umum, metode ini masih dibagi lagi menjadi tiga jenis:

20

1. Load balancing dengan hardware atau switch Sistem load balancing jenis ini diciptakan dengan menggunakan bantuan sebuah chip yang dikhususkan untuk itu. Biasanya chip khusus tersebut sering disebut dengan istilah ASICS, yang biasanya berwujud sebuah microprocessor khusus yang hanya memproses algoritma dan perhitungan spesifik. Dengan adanya ASICS ini, performa load balancing tidak perlu diragukan lagi kehebatannya karena memang hanya perhitungan dan logika load balancing saja yang dioptimisasi di dalamnya. Load

balancing jenis ini umumnya berwujud sebuah switch. Dalam praktiknya, sering kali perangkat jenis ini membutuhkan keahlian khusus untuk digunakan karena interface-nya yang kurang user friendly. Selain itu, tingkat fleksibilitas perangkat ini juga rendah karena sebagian besar intelejensinya sudah tertanam di dalam hardware, sehingga penambahan fitur dan fasilitasfasilitas lain menjadi lebih sulit dilakukan.

2. Load balancing dengan software Keuntungan yang paling menonjol dari solusi load balancing menggunakan software adalah tingkat kemudahan pengoperasiannya yang sudah lebih user friendly dibandingkan jika mengonfigurasi switch load balancing. Keuntungan lainnya, jika ada fitur tambahan atau ada versi upgrade terbaru, Anda tidak perlu mengganti keseluruhan perangkat load balancing ini. Namun karena proses logikanya berada di dalam sebuah software, maka tentu untuk menggunakannya dibutuhkan sebuah platform sebagai tempat bekerjanya. Perangkat komputer dengan spesifikasi tertentu pasti dibutuhkan untuk ini. Performa dan kehebatannya melakukan proses load balancing juga akan dipengaruhi oleh perangkat komputer yang digunakan, tidak bisa
21

hanya mengandalkan kemapuan software yang hebat saja. Kartu jaringan yang digunakan, besarnya RAM pada perangkat, media penyimpanan yang besar dan cepat, dan pernak-pernik lainnya tentu juga dapat mempengaruhi kinerja dari software ini. Karena dari isu inilah, maka performa dari keseluruhan sistem load balancing ini lebih sulit diperkirakan.

3. Load balancing dengan perangkat perpaduan hardware dan software Solusi membuat sistem dedicated load balancing adalah dengan memadukan kedua jenis sistem load balancing di atas, yaitu memadukan software load balancing dengan perangkat yang dibuat khusus untuk melayaninya. Performa dari hardware yang khusus yang sengaja dioptimisasi untuk mendukung software load balancing yang user friendly dan fleksibel. Perangkat jenis ini sering disebut dengan istilah load balancing black box. Hardware yang dioptimisasi dan diisi dengan platform berbasis Linux atau BSD yang dioptimisasi adalah konfigurasi yang biasanya digunakan untuk menjalankan software utama load balancing. Dari konfigurasi ini, banyak sekali manfaat yang bisa didapatkan oleh pengguna maupun produsennya. Fleksibilitas yang luar biasa bisa didapatkan mulai dari menggunakan hardware yang selalu up-to-date sampai dengan operating system dengan patch terbaru. Dengan demikian, waktu guna dari perangkat ini dapat lebih panjang daripada sebuah switch khusus yang tidak fleksibel. Solusi ini tentunya jauh lebih murah dibandingkan dengan solusi hardware khusus, atau bahkan dari solusi software saja.

22

Ada beberapa keuntungan pada saat menggunakan system load balacing, diantaranya adalah ;

1. Asymetric Load rasio dapat dibuat dengan menentukan koneksi yang menjadi primary yang dianggap paling baik backbonenya dan terbaik dalam path routingnya, jadi kita dapat membuat mesin untuk mencari best path determination dan routing yang terpendek dan terbaik untuk sampai ketujuan.

2. Aktivitas berdasarkan Prioritas Disaat load jaringan lagi peek, server akan dapat membagi aktivitas berdasarkan prioritas dan ke link cadangan.

3. Proteksi dari serangan DDoS karena kita dapat membuat features seperti SYN Cookies dan

delayed-binding (suatu metode di back-end server pada saat terjadi proses TCP handshake) pada saat terjadi serangan SYN Flood

4. Kompresi HTTP Memungkinkan data untuk bisa mentransfer objek HTTP dengan dimungkinkannya penggunaan utilisasi kompresi gzip yang berada di semua web browser yang modern.

5. TCP Buffering dapat membuat respon buffer dari server dan berakibat dapat memungkinkan task akses lebih cepat

23

6. HTTP Caching dapat menyimpan content yang static, dengan demikian request dapat di handel tanpa harus melakukan kontak ke web server diluar jaringan yang berakibat akses terasa semakin cepat.

7. Content Filtering Beberapa load balancing dapat melakukan perubahan trafik pada saat dijalankan.

8. HTTP Security beberapa system load balancing dapat menyembunyikan HTTP error pages, menghapus identifikasi header server dari respon HTTP, dan melakukan enkripsi cookies agar user tidak dapat memanipulasinya.

9. Priority Queuing Berguna untuk memberikan perbedaan prioritas traffic paket.

10.Spam Filtering Spam istilah lainnya junk mail merupakan penyalahgunaan dalam pengiriman berita elektronik untuk menampilkan berita iklan dan keperluan lainnya yang mengakibatkan ketidaknyamanan bagi para pengguna web. Bentuk berita spam yang umum dikenal meliputi: spam surat elektronik, spam instant messaging, spam Usenet newsgroup, spam mesin pencari informasi web (web search engine spam), spam blog, spam berita pada telepon genggam, spam forum Internet, dan lain lain. Spam ini biasanya datang bertubi-tubi tanpa diminta dan sering kali tidak dikehendaki oleh penerimanya. Beberapa contoh lain dari spam ini bisa berupa surat elektronik berisi iklan, sms pada
24

telepon genggam, berita yang masuk dalam suatu forum newsgroup berisi promosi barang yang tidak terkait dengan aktifitas newsgroup tersebut, spamdexing yang mendominir suatu mesin pencari (search engine) untuk mencari popularitas bagi suatu URL tertentu, ataupun bisa berupa berita yang tak berguna dan masuk dalam suatu blog, buku tamu situs web, dan lain-lain.

2.6.

Design Solusi Cluster Satu hal yang perlu anda putuskan saat anda mempertimbangkan

solusi clustering untuk jaringan anda adalah apa yang anda harapkan dalam merealisasikan cluster – dengan kata lain seberapa availability, reliability, dan scalability yang anda perlukan. Beberapa organisasi menganggap suatu downtime sekecil apapun tidak bisa ditolerir, maka tingkat availability yang tinggi sangat diharapkan, dan clustering dapat memberikan suatu solusi yang melindungi terhadap tiga macam kemungkinan kegagalan: 1. Kegagalan software Kegagalan software dari aplikasi yang sangat kritis bisa

mengakibatkan terganggunya applikasi tersebut untuk berjalan dengan sempurna. Kegagalan software bisa merupakan akibat dari suatu upgrade software, konflik dengan software yang baru saja diinstall. Kalau saja si administrator tidak melakukan upgrade kepada semua node cluster secara bersamaan, maka seharusnya system cluster masih bisa diharapkan berjalan normal dengan kegagalan software pada salah satu node. 2. Kegagalan hardware Bisa saja merupakan kerusakan hard disk, power supply, atau komponen hardware apa saja mengingat barang electronic mempunyai batas waktu kerja dan ada saatnya gagal / rusak. Dan system cluster tidak
25

menyebabkan kegagalan applikasi secara keseluruhan. Administrator bisa memperbaiki kegagalan hardware ini tanpa harus membuat down applikasi vital. 3. Kegagalan site Pada kasus cluster yang tersebar secara geografis dimana organisasi terhubung antar site, server-2 berada di gedung atau kota yang berbeda. Suatu cluster multi-site dimana terjadi suatu disaster yang melulu lantakkan seluruh site, tidak akan menjadikan system applikasi ini ambruk.

4. Scalling Cluster Server cluster dan network load balancing keduanya merupakan solusi cluster yang bersifat scalable, yang artinya anda bisa meningkatkan performa dari system cluster tersebut seiring dengan meningkatnya / tumbuhnya organisasi anda. Ada dua macam metoda dasar untuk meningkatkan performa cluster, sperti berikut ini. 5. Scalling Up Scalling Up adalah metoda untuk meningkatkan performa individu server dengan cara memodifikasi konfigurasi hardware computer / node cluster, misal menambah memory RAM atau L2 cache memory, upgrade ke processor yang lebih cepat atau menambah processor. Memperbaiki performa dari komputer seperti ini tidak tergantung dari solusi cluster yang anda gunakan. Akan tetapi anda juga harus memprtimbangkan kemampuan performa individu dari masing-2 node didalam cluster. Misal jika anda mengupgrade active server dengan performa tinggi, sementara passive node nya tidak diupgrade dengan baik, takutnya pada saatnya passive node menjadi / mengambil alih fungsi, maka dia tidak akan mampu menjalankan fungsinya
26

dengan baik mengingat performa mesinnya tidak sebagus active node. Untuk itu ada baiknya melakukan scale up untuk setiap node server dalam cluster ke tingkat yang sama, sehingga memberikan performa optimum pada tingkat yang sama dalam kondisi apapun. 6. Scaling out Scalling out adalah metoda untuk menambah node kedalam system cluster yang ada sekarang. Jika anda mendistribusikan beban prosessing suatu applikasi ke beberapa server, menambahkan beberapa server akan mengurangi beban individu server dalam cluster tersebut. server cluster dan network load balancing keduanya bisa di scale out, akan tetapi lebih menambahkan server ke network load balancing. Dalam network load balancing, setiap server node mempunyai masing-2 data independent yang berisi applikasi dan data yang di pasok kepada clients. Scalling out cluster adalah semata-mata menghubungkan server baru kedalam jaringan cluster dan melakukan cloning applikasi dan data kepadanya. Segera setelah anda menambahkan server kepada network load balancing, NLB akan membagi beban yang sama kepada server baru tersebut. Lain halnya dengan scalling out server cluster yang lebih rumit dibanding NLB, karena server didalam cluster harus mempunyai akses kepada data storage yang sama. Tergantung dari konfigurasi hardware yang anda pakai, scalling out server cluster bisa jadi sangat mahal dan bahkan menjadi tidak mungkin. Jika dalam awalnya anda sudah mengantisipasi adanya scalling out server cluster dimasa mendatang, maka anda harus melakukan design konfigurasi hardware dengan memasukkan antisipasi scalling out tersebut kedalam design anda. Kita juga harus ingat bahwa scalabilitas dari cluster dibatasi oleh kemampuan operating system windows yang kita pakai, baik windows server
27

2003 ataupun windows server 2000. Saat kita melakukan scale out suatu cluster, jumlah maksimum dari node yang didukung oleh windows operating system sebagai berikut: Operati ng system Windo ws server 2003 standard edition Windo ws server 2003 enterprise edition Windo ws server 2003 datacenter edition Windo ws 2000 advance server Windo ws 2000 32 4 32 2 32 8 32 8 Networ k Load Balancing 32 Cluster Not supported Server

datacenter server Jika kita melakukan scaling up suatu cluster, operating system mempunyai batasan sebagai berikut: Operati ng system Jumlah maksimum processor Windo 2 4 GB
28

Maxim um RAM

ws server 2003 standard edition Windo ws server 2003 enterprise edition Windo ws server 2003 datacenter edition Windo ws 2000 advance server Windo ws 2000 32 64 GB 8 8 GB 32 64 GB 8 32 GB

datacenter server

Server-2 didalam suatu cluster dapat menjalankan beberapa aplikasi, jadi kita bisa mengkombinasikan beberapa applikasi didalam satu cluster tunggal, atau membuat satu cluster terpisah untuk masing-2 applikasi. Contoh berikut ini adalah cluster yang menjalankan dua applikasi di setiap masing-2 node. Kegagalan satu node mengakibatkan kedua applikasi gagal pada node tersebut dan node sisanya harus bisa menghandle dan memberikan performa yang memadai untuk kedua applikasi.

29

Gambar . Solusi Cluster Dua Aplikasi Tiap Node Model berikut menggunakan satu applikasi independent untuk setiap cluster, dan kegagalan satu server hanya mempengaruhi satu applikasi saja. Model ini sangat mahal karena harus menyediakan satu server passive untuk setiap cluster, walaupun model ini memberikan tingakat availability yang tinggi.

Gambar . Solusi Cluster Satu Aplikasi Tiap Node Adalah juga memungkinkan menggabungkan kedua model diatas menjadi seperti gambar dibawah ini dimana setiap applikasi berjalan di masing-2 node server dan satu node sebagai node passive untuk kedua applikasi. Jika salah satu node aktif gagal, maka akan fallback ke node passive.

30

Gambar . Solusi Cluster dua aplikasi satu passive 2.7 Menggabungkan technology clustering Dalam beberapa kasus, ada hal yang memutuskan kita untuk menggabungkan jenis cluster menjadi satu system cluster. Yang paling banyak diadopsikan adalah pada aplikasi e-commerce Web site yang membolehkan internet user membuat order produk. Jenis site ini memerlukan web server (yang merupakan stateless application) untuk menjalankan fungsi web kepada clients, sementara (stateful) database servers untuk menyimpan data customer, data produk, dan informasi data entry lainnya. Dalam pendekatan system cluster ini anda memakai NLB untuk web server sementara untuk database server menggunakan server cluster.

31

Gambar 4.5.1 Topologi Load Balancing

2.8

Membuat Cluster Load Balancing Selama ini orang selalu menganggap bahwa membuat cluster load

balancing adalah hal yang rumit dan memusingkan. Dan.. memang benar pendapat ini. Tapi sebenarnya ada satu cara mudah untuk mencapainya dengan menggunakan yang namanya balance.

Sebelumnya kita bahas dahulu sedikit mengenai konsep Clustering. Secara prinsip clustering mempunyai 2 buah pendekatan: 1. High Availability (Failover), adalah bila satu server gagal melayani service tertentu, maka tugas server tersebut otomatis akan dilempar ke server lainnya.
32

2. High throughput (Performance), disini yang diinginkan adalah performance yang tinggi yang dicapai dengan "membagi2" tugas yang ada ke sekumpulan server. Contohnya adalah: 2a. High-performance Computing (HPC), adalah sekumpulan server yang bekerja bersama-sama pada saat yang bersamaan untuk mengerjakan sesuatu tugas tertentu, biasanya dalam bentuk tugas perhitungan yang berat2, seperti simulasi bumi, me-render film animasi, dll. 2b. Load Balancing, adalah membagi2 beban kerja ke sekumpulan server diluar konteks computing, misalnya membagi beban kerja web server, mail server, dll.

Bagaimana mencapai hal ini? Ada beberapa software opensource yang dapat kita gunakan: 1. Linux High-Availability (http://www.linux-ha.org) 2. RedHat Cluster Suite dan Piranha (http://www.redhat.com) 3. Linux Virtual Server (http://www.linuxvirtualserver.org) 4. BeoWulf Cluster (http://www.beowulf.org) 5. Openmosix (http://openmosix.sourceforge.net)

Namun solusi2 di atas kadang kala terlalu "canggih" atau "overkill" untuk mencapai tujuan clustering kita. Disinilah 'balance' masuk. Apa yang dapat ia sediakan? 1. Merupakan user-space program. Tidak perlu compile kernel dll. Langsung jalan secara command line. 2. Load balancing secara tcp. Cukup menyebutkan protocol atau port tcp berapa yang ingin kita load balancing.

33

Cara setup: 1. Download paketnya dari http://www.inlab.de/balance.html wget http://www.inlab.de/balance-3.40.tar.gz 2. Extract, compile dan install: 2a. tar zxvf balance-3.40.tar.gz 2b. cd balance-3.40 2c. vi Makefile Ubah baris ini: MANDIR=${BINDIR}/../man/man1 Menjadi: Untuk Ubuntu: MANDIR=/usr/share/man/man1 Untuk RedHat: MANDIR=/usr/local/share/man/man1 2d. make 2e. make install

Cara pakai: Sebelumnya kita misalkan skenario seperti ini: Kita mempunyai sebuah website yang ingin kita bagi beban kerjanya ke 3 buah server web. Maka kita perlu mensetupnya seperti terlihat di gambar (Oya, gambarnya adalah foto PC zaman dulu, tapi itu hanya ilustrasi yah, nanti servernya jangan pakai PC zaman dulu juga. Hehe...). Tiga buah server web yaitu www1 (192.168.0.1), www2 (192.168.0.2), dan www3 (192.168.0.3). Di depan mereka kita install sebuah server (192.168.0.254) yang bertugas membagi2 bebas kerja para server www tersebut. Jadi IP yang akan diakses oleh user adalah IP 192.168.0.254, jangan ke masing2 server www.

34

Commandnya: (Jalankan command ini di 192.168.0.254) balance Bila diketik tanpa option dia akan muncul seperti ini: _ _

| |__ __ _| | __ _ _ __ ___ ___ | '_ \ / _` | |/ _` | '_ \ / __/ _ \ | |_) | (_| | | (_| | | | | (_| __/ |_.__/ \__,_|_|\__,_|_| |_|\___\___| this is balance 3.40 Copyright (c) 2000-2006,2007 by Inlab Software GmbH, Gruenwald, Germany. All rights reserved.

usage:
35

balance [-b addr] [-B addr] [-t sec] [-T sec] [-adfpHM] \ port [h1[:p1[:maxc1]] [!%] [ ... hN[:pN[:maxcN]]]] balance [-b addr] -i [-d] port balance [-b addr] -c cmd [-d] port

-a

enable channel autodisable option

-b host bind to specific address on listen -B host bind to specific address for outgoing connections -c cmd execute specified interactive command -d -f -i -H -M -p debugging on stay in foregound interactive control failover even if Hash Type is used use MMAP instead of SHM for IPC packetdump

-t sec specify connect timeout in seconds (default=5) -T sec timeout (seconds) for select (0 => never) (default=0) ! % separates channelgroups (declaring previous to be Round Robin) as !, but declaring previous group to be a Hash Type

examples: balance smtp mailhost1:smtp mailhost2:25 mailhost3 balance -i smtp balance -b 2001:DB8::1 80 10.1.1.1 10.1.1.2 balance -b 2001:DB8::1 80

36

Jadi cara pakainya adalah misalnya: balance -f http 192.168.0.1 192.168.0.2 192.168.0.3

Option -f itu artinya balance jalan di foreground, berguna untuk kita debug dan cancel. Kalau misalnya sudah ok, bisa kita jalankan tanpa option -f, maka balance akan jalan di background.

Untuk melihat cara bekerja balance adalah dengan membuka sebuah terminal dan meload website 192.168.0.254 secara berulang2. Untuk mudahnya dapat kita gunakan text browser seperti elinks: watch elinks --dump http://192.168.0.254 Untuk kebutuhan testing, dapat kita atur agar isi website di 192.168.0.1, 192.168.0.2, dan 192.168.0.3 berbeda, jadi command di atas akan menampilkan isi website yang berbeda, tanda bahwa balance sudah meload balancing traffik web ke tiga buah server tersebut.

Contoh lain adalah: balance -f http 192.168.0.1::100 ! 192.168.0.2::100 ! 192.168.0.3 Arti option di atas adalah: koneksi http akan diprioritaskan ke server 192.168.0.1 sampai sebanyak 100 koneksi, bila sudah penuh maka akan dilempar ke 192.168.0.2 sampai sebanyak 100 koneksi juga, sisanya akan ke 192.168.0.3

Bagaimana jika kita ingin menghandle koneksi yang memerlukan session seperti website dynamic pakai php? Hal ini bisa dicapai dengan option '%' yaitu mengaktifkan session seperti ini: balance -f http 192.168.0.1 192.168.0.2 192.168.0.3 %

37

Untuk option2 selengkapnya dapat kita lihat di 'man balance'.

Apakah hanya dapat digunakan untuk akses http? Tentu tidak, dengan sedikit eksplorasi kita dapat pula menggunakannya untuk keperluan lain seperti load balancing akses internet, email, proxy, dll.

38

BAB III KESIMPULAN DAN SARAN

3.1.

Kesimpulan 1. Dengan menggunakan teknologi Server Cluster, Anda dapat membuat aplikasi dan data yang ada pada beberapa server terpisah dapat bergabung menjadi satu dalam sebuah konfigurasi cluster. 2. Program balance ini menyediakan sebuah solusi praktis dan mudah untuk membuat sebuah cluster load balancer. Performance yang dihasilkan cukup bagus.

3.2.

Saran 1. Bila kita ingin menggunakan solusi program balance yang lebih handal, kita dapat menggunakan LVS (linux virtual server) dengan kombinasi linux-ha. Namun tentu saja settingannya akan jauh lebih rumit.

39

DAFTAR PUSTAKA
1. http://en.wikipedia.org/wiki/Load_balancing_(computing) 2. http://www.pc24.co.id/article/category40_1.htm 3. http://dennycharter.wordpress.com 4. http://bayuart.wordpress.com/2007/08/02/2-isp-1-lan/ 5. http://en.wikipedia.org/wiki/Cluster_(computing) 6. http://iweb.com/managed-hosting/webcluster?gclid=CMXO1oH4iKICFUxB6wodJnitVA 7. http://artikel.xcode.or.id/2010/03/15/konsep-dan-teknis-clustering-server-bag1/ 8. http://www.sysneta.com/solusi-cluster-server 9. http://www.sysneta.com/design-solusi-cluster 10. http://www.suko.web.id/blog/?p=222

40

Sign up to vote on this title
UsefulNot useful