Website baru: Linux3@Arinet.Org

ImageSetelah melayani selama beberapa tahun, akhirnya website http://linux2.arinet.org di migrasi ke CMS Joomla yang lebih baru di http://linux3.arinet.org

Data user dan content berhasil di migrasi dengan baik. Semoga website yang baru bisa lebih melayani kebutuhan Ilmu Pengetahuan khususnya Linux bagi kita semua.

Merdeka!

 
Our Sponsor

Google
 
 
 
   
 
Membuat Cluster Load Balancing Dengan Cepat dan Mudah Print E-mail
Written by ari   
Sunday, 17 February 2008
ImageSelama 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.
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.

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
Done! :)

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.

Image

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:
  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        debugging on
  -f        stay in foregound
  -i        interactive control
  -H        failover even if Hash Type is used
  -M        use MMAP instead of SHM for IPC
  -p        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


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 %

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.

Penutup
Program balance ini menyediakan sebuah solusi praktis dan mudah untuk membuat sebuah cluster load balancer. Performance yang dihasilkan cukup bagus. Namun bila kita ingin menggunakan solusi yang lebih handal, kita dapat menggunakan LVS (linux virtual server) dengan kombinasi linux-ha. Namun tentu saja settingannya akan jauh lebih rumit. Kita akan membahasnya di lain kesempatan. Selamat mencoba :)

Tutorial ini dapat di download dari menu Download sebelah. Jangan lupa register dulu yah untuk mendownload.
Download > Artikel > Linux Admin > Sort berdasarkan Submit Date > adm_cluster_loadbalancing_mudah.

ImageFajar Priyanto
Bukit Sentul, 17 February 2008
Merdeka!
Ilmu Pengetahuan adalah Milik Bersama

Penulis adalah Microsoft Certified Professional yang jatuh cinta kepada Linux. Ia kini RedHat Certified Engineer (RHCE) with Clustering.

Last Updated ( Sunday, 17 February 2008 )
 
< Prev   Next >
Comments

Mr Fajar, saya sudah coba seperti langkah2 diatas, dengan tiga buat PC, PC1 (192.168.1.254), PC2(192.168.1.1), PC3(192.168.1.2), saya mencoba membuka web nya dengan watch elink, jadi bagaimana caranya memastikan bahwa beban itu telah terbagi ke host PC2 dan PC3.......apakah ada log tertentu atau yang lain?

Posted by mustafa, on 02/25/2008 at 05:51

@mustafa,
Kita bisa mengecek apakah bebannya sudah terbagi ke 3 server dengan cara kita isi dahulu website di ketiga PC itu berbeda tampilannya, jadi ntar akan kelihatan ketika membuka web PC1 isinya 'Ini PC1', ntar PC2 'Ini PC2' dstnya.

Posted by ari, on 03/05/2008 at 02:32

Mr. Fajar kalau mau private dimana alamat belajarnya,mohon informasinya

Posted by Kembang CyberNet, on 04/09/2008 at 04:31

Kalau mau private kirim email aja dulu ke saya: fajarpri (at) arinet (dot) org

Posted by ari, on 05/27/2008 at 06:17

Selamat malam Mr.Fajar
Mas mau tanya ke masternya-ni, bisa ngak Redhat Linux Server 5 kita buat load balance kita pakai 2 line speedy tapi 1+1=2, kalau mas bisa tolong dong buatkan saya kalau perlu saya kirimkan Pc-nya terus berapa biayanya. Balas ya mas. Thanks You.

Posted by Kembang CyberNet, on 01/03/2009 at 22:33

MR Fajar,, saya boleh minta referensi tentang load balancing yg lengkap g???
solanya saya tertarik sama topik ini, jdnya saya mw buat sebagai judul TA saya,,,
Thank's before

Posted by mutya, on 04/15/2009 at 20:31

membuat cluster load balancing

Posted by sony purba, on 07/06/2009 at 12:21

 1 
Page 1 of 1 ( 7 Comments )
©2006 MosCom

You are not authorized to leave comments. Please login first.
         
 
Newsflash Pro
Selamat datang di Linux@Arinet.org
Disini akan bisa ditemui artikel-artikel mengenai Linux dalam Bahasa Indonesia, khususnya artikel untuk para Newbie seperti halnya saya. Terima kasih kepada para oom-oom di channel #Indolinux IRC DALNET/EFNET, terutama kepada kapal, boy-one, hari-huhui, encep, jamal, gembell, ame, kiak, chipset, mycroft, iyan, thole, dan masih banyak lagi yang tidak mungkin disebutkan satu-persatu. Juga terima kasih kepada oom IMW sebagai pakar linux Indonesia yang mana beliau telah memberikan inspirasi kepada saya dengan perkataannya, "Balaslah jasa para senior yang telah membantumu dengan jalan membantu para newbie sesudah kamu." Jangan lupa untuk daftar jadi anggota yah. Dengan mendaftar, kamu bisa mengirim artikel, mengikuti forum, dsbnya, dan ntar kalo ada pembagian hadiah bisa dihubungi :) Selamat belajar.  Details...

Download NFSP!

Ingin Kursus Linux Private?

Belajar Linux memang relatif sulit di awalnya. Tapi pelan-pelan kamu pasti akan menyukai si penguin yang lucu namun tangguh ini.

Bagi yang ingin dibimbing dan ingin kursus Linux private? Khusus untuk pemula/newbie, hubungi fajarpri@arinet.org

  Details...

Polls
Distro favorit kamu
 
Aplikasi apa yang paling sering kamu pakai di Linux?
 
Dari mana kamu tahu arinet?
 
ic-nature4.png
Most Read
 
Main Menu
Home
News
Linux Admin
Linux Umum
My Journey
English Translation
FAQ
Games!
Forum
Download
The Web Links
Recommend Us
OpenSourceMatters
Administrator
Lisensi Artikel
Who's Online
We have 12 guests online
Login Form





Lost Password?
Shout It!


You must be a registered user to shout!
Get your account here!
 
Digital Eye Free Template