Jika Anda befikir untuk meningkatkan performa dari web server Anda guna mengantisipasi peningkatan akses atau koneksi ke web server Anda maka solusi yang efektif salah satunya adalah menerapkan load balancer. Ada beberapa teknik load balancer web server yang dapat Anda gunakan diantaranya adalah
menggunakan teknik dns round robin, apache mod proxy balancer, LVS (
Linux Virtual Server) dan lain­-lain. Pada artikel kali ini penulis akan menjelaskan salah satu teknik load balancer web server menggunakan LVS dan NAT (
http://www.linuxvirtualserver.org/VS­NAT.html) . Dalam artikel ini penulis melakukan percobaan load balancer pada komputer linux dengan distribusi CentOS 5.2, diasumsikan Anda telah menginstal tool administrasi linux virtual server yaitu “ipvsadm”.

Skenario pembahasan
Untuk memudahkan dalam penjelasan penulis membuat skenario sebagai berikut:
●Terdapat sebuah komputer linux yang berfungsi sebagai load balancer web server dengan metode
LVS­NAT.
●Komputer linux yang berfungsi sebagai load balancer memiliki dua interface network yaitu eth0
(202.202.202.154/29) dan eth1 (192.168.1.1/24)
●Terdapat 3 buah backend web server (real server) yang masing­masing juga berjalan diatas sistem
operasi linux CentOS 5.2, dengan aplikasi web server nya adalah apache http server (lihat gambar­1). Ketiga web server ini memiliki dokumen­dokumen web yang sama (diduplikasi dan disinkronisasi dengan teknik
rsync)
●Masing­masing backend web server (real server) memiliki nomor IP 192.168.1.2/24, 192.168.1.3/24 dan 192.168.1.4/24
●Default kebijakan firewall pada komputer load balancer menerima semua koneksi dari manapun
(LAN dan Internet) ke komputer load balancer.
●Koneksi menuju web server dari Internet selalu mengarah ke komputer load balancer yang kemudian secara transparan didistribusikan ke real server dengan menggunakan algoritma
job scheduling yang diterapkan adalah Weighted Round­Robin Scheduling (wrr)
dengan faktor pembagi beban untuk komputer real server 192.168.1.2 adalah 4, dan komputer 192.168.1.3 adalah 3 serta komputer 192.168.1.4 adalah 2


Konfigurasi load balancer dengan metode LVS­NAT

II.1. Memeriksa dukungan kernel terhadap LVS
LVS atau IP virtual server merupakan fitur cluster load balancing yang telah disediakan oleh linux kernel
dalam bentuk modul ataupun terintegrasi dalam kernel. Untuk memastikan apakah kernel linux anda
telah mendukung IPVS maka jalankan perintah berikut ini:
[root@similikiti ~]# grep -i ip_vs /boot/config-2.6.18-8.el5
CONFIG_IP_VS=m
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
CONFIG_IP_VS_FTP=m

Jika muncul output seperti diatas maka kernel telah mendukung LVS atau IPVS. Untuk mengelola Linux
Virtual Server maka kita memerlukan tool, tool tersebut adalah ipvsadm. Jika belum terinstall maka
sebaiknya Anda instal terlebih dahulu , jika pada CD/DVD distro yang Anda gunakan tidak tersedia maka
Anda dapat mendownloadnya di http://www.linuxvirtualserver.org/software/kernel­2.6/

II.2. Mengaktifkan IP Forward dan IP Masquerade pada load balancer
Langkah konfigurasi pertama adalah mengkonfigurasi komputer bakal load balancer agar dapat
meneruskan traffic dari LAN ke internet, yaitu sebagai berikut:
●Enable IP Forwarding
[root@similikiti ~]# echo 1 > /proc/sys/net/ipv4/ip_forward atau edit file /etc/sysctl.conf, dan set parameter “net.ipv4.ip_forward=1”
●Enable IP Masquerade
Diasumsikan default policy firewall adalah ACCEPT, dan tidak ada rule spesifik apapun pada konfigurasi firewall di komputer load balancer sebelumnya (pada kondisi production atau yang sebenarnya kondisi ini tidak direkomendasikan), untuk itu pastikan dengan menjalankan perintah sebagai berikut:
[root@similikiti ~]#
service iptables stop
[root@similikiti ~]#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j
MASQUERADE
[root@similikiti ~]#service iptables save
[root@similikiti ~]#chkconfig iptables on

II.3. Konfigurasi LVS­NAT
Konfigurasi LVS­NAT hanya dilakukan disisi komputer load balancer, tidak perlu ada service httpd yang
berjalan pada komputer load balancer. Agar sesuai dengan skenario yang telah dijelaskan sebelumnya
maka lakukan langkah­langkah berikut ini untuk mensetup tabel virtual server menggunakan ipvsadm.
●Membuat atau mendefinisikan virtual service, sebagai berikut:
[root@similikiti ~]#ipvsadm -A -t 202.202.202.154:80 -s wrr

●Membuat atau mendefinisikan real server, sebagai berikut :
[root@similikiti ~]#ipvsadm -a -t 202.202.202.154:80 -r 192.168.1.2:80 -m -w 4
[root@similikiti ~]#ipvsadm -a -t 202.202.202.154:80 -r 192.168.1.3:80 -m -w 3
[root@similikiti ~]#ipvsadm -a -t 202.202.202.154:80 -r 192.168.1.4:80 -m -w 2

Faktor beban atau weight yang didefiniskan dalam skenario adalah 4,3,2. Misal server 192.168.1.2 adalah A memiliki beban faktor 4, 192.168.1.3 adalah B dengan beban faktor 3, dan 192.168.1.4 adalah C
dengan beban faktor 2) ini berarti algoritma scheduling nya secara berurutan untuk 9 koneksi pertama
adalah AABABCABC.

Untuk melihat tabel virtual service pada kernel linux lakukan perintah sebagai berikut:
[root@similikiti ~]# ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 202.202.202.154:80 wrr
-> 192.168.1.2:80 Masq 4 0 0
-> 192.168.1.3:80 Masq 3 0 0
-> 192.168.1.4:80 Masq 2 0 0

Agar setiap kali komputer load balancer booting virtual service secara otomatis aktif maka Anda harus
melakukan langkah berikut ini:
[root@similikiti ~]# ipvsadm -Sn
-A -t 202.202.202.154:80 -s wrr
-a -t 202.202.202.154:80 -r 192.168.1.2:80 -m -w 4
-a -t 202.202.202.154:80 -r 192.168.1.3:80 -m -w 3
-a -t 202.202.202.154:80 -r 192.168.1.4:80 -m -w 2
[root@similikiti ~]# ipvsadm -Sn > /etc/ipvsadm.rules
[root@similikiti ~]# chkconfig ipvsadm on

Atau Anda dapat menuliskan ulang seluruh perintah pembuatan atau pendefinisian virtual service dan
real server yang telah Anda lakukan sebelumnya kedalam file /etc/rc.local Jika Anda ingin menghapus virtual service beserta real server, gunakan perintah “ipvsadm ­C”.

Selanjutnya Anda dapat menguji load balancer tentunya dari jaringan internet. Dan untuk mengamati
data statistik virtual service secara real time pada load balancer, Anda dapat mengamatinya melalui
penggunaan perintah berikut ini:
[root@similikiti ~]# watch -n1 ipvsadm -ln

Henry Saptono, Pengajar Tetap STT Terpadu Nurul Fikri [henry@nurulfikri.ac.id] PDF Version

Share