Install High Availability Web Server Ubuntu 12.04 LTS #1

August 29, 2014

High Availability Web Server
High Availability Web Server

Langsung aja yah sob, gak usah pake lama karena banyak yang harus dijelaskan di postingan ini.

 Kali ini saya akan membuat Cluster Web Server dalam sistem operasi ubuntu server 12.04 LTS. Dan kita akan mengguanakan beberapa software yaitu : HAProxy(HAP), HeartBeat, WatchDog, dan NginX.

HARDWARE

Kita membutuhkan paling sedikit 4 komputer dengan rincian sebagai berikut :
  1. HAProxy master. HAProxy merupakan node yang bertugas membagi data flow request dari client menuju web server. HAProxy ini juga harus dicluster dengan metode failover, untuk itu diperlukan 1 komputer untuk HAProxy master yang akan menerima dan membagi request dari user ke web server. jangan lupa butuh 2 LAN Card.
  2. HAProxy slave. Sebagai backup dari HAProxy master, HAProxy slave akan terus up dan mengantisipasi jika HAProxy master down. Di sini peran HeartBeat dibutuhkan untuk memastikan HAP master terus up dan mengalihkan ke HAP slave jika master down. ini juga butuh 2 LAN Card.
  3. Webserver. Dibutuhkan minimal 2 PC, atau jika kamu punya lebih banyak bisa ditambahkan di sini. Saya memasang 3 PC.
HA Web Server Network Topology
HA Web Server Network Topology

INSTALASI
  1.  install semua komputer dengan ubuntu 12.04 LTS, atau yang terbaru 14.04.
  2. install pada HAProxy : HAProxy,HeartBeat,WatchDog
  3. install pada Webserver : NginX.

KONFIGURASI
Layoutnya adalah seperti gambar di bawah ini :
Nah saya perjelas aja :
  1. HAP1, Virtual IP / eth0:1 = 172.25.87.180/24, eth0 = 172.25.87.190/24, eth1 = 10.100.100.1/24.
  2. HAP2, Virtual IP/ eth0:1 = 172.25.87.180/24, eth0 = 172.25.87.191/24, eth1 = 10.100.100.2/24.
  3. Web1, eth0 = 172.25.87.192/24.
  4. Web2, eth0 = 172.254.87.193/24.
  5. Web3, eth0 = 172.25.87.194/24.
Yuk konfigurasinya, jangan sampai ada yang salah yah. . . . .

Pertama kita edit file /etc/hosts pada masing-masing komputer seperti di bawah ini.

172.25.87.180  yoursite.com #yoursite.com boleh diganti sesukamu
172.25.87.190  haproxy1
172.25.87.191  haproxy2
172.25.87.192  web1
172.25.87.193  web2
172.25.87.194  web3
10.100.100.1  haproxy1
10.100.100.2  haproxy2

Nah sekarang kita akan bahas tentang cara kerja heartbeat dulu. HeartBeat menjadi penghubung antara HAP1 dan HAP2, heartbeat pada master mengirimkan sinyal kepada slave yang memberitahukan bahwa dia menyala. dan ketika HAP2 tidak menerima sinyal, maka diartikan bahwa HAP1 down dan dia akan merubah posisi menjadi master. Perhatikan IP dengan network 10.100.100.0/24, network itu digunakan oleh heartbeat untuk berkomunikasi dan mengirimkan sinyal.
Heartbeat work scheme
Skema Kerja Heartbeat


Selanjutnya konfigurasi IP addres di /etc/network/interfaces diubah seperti di bawah ini :

HAProxy Master Load Balancer

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
 

# The primary network interface
auto eth0
iface eth0 inet static
address 172.25.87.190
netmask 255.255.255.0
gateway 172.25.87.1
dns-nameservers 8.8.8.8 8.8.4.4
 

auto eth0:1
iface eth0:1 inet static
address 172.25.87.180
netmask 255.255.255.0
 

auto eth1
iface eth1 inet static
address 10.100.100.1
netmask 255.255.255.0


HAProxy Slave Load Balancer

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
 

# The primary network interface
auto eth0
iface eth0 inet static
address 172.25.87.191
netmask 255.255.255.0
gateway 172.25.87.1
dns-nameservers 8.8.8.8 8.8.4.4
 

auto eth0:1
iface eth0:1 inet static
address 172.25.87.180
netmask 255.255.255.0
 

auto eth1
iface eth1 inet static
address 10.100.100.2
netmask 255.255.255.0


Bisa kamu lihat di atas, kita mengkonfigurasi virtual IP yaitu eth0:1, IP inilah yang nanti akan digunakan oleh user memanggil website yang kita buat. Perhatikan IPnya sama pada kedua web server dan mungkin kalian berfikir "apakah tidak konflik?". Jangan hawatir kita akan melakukan konfigurasi, masukan perintah ini di kedua komputer

echo "net.ipv4.ip_nonlocal_bind=1" >> /etc/sysctl.conf

kemudian restart webservernya dengan perintah

service networking restart

Nah setelah OK semua berarti konfigurasi IP address untuk HAP1 dan 2 selesai. Konfigurasi selanjutnya silahkan dibaca di Install High Availability Web Server Ubuntu 12.04 LTS #2.

Source from this site.

You Might Also Like

2 comments

  1. salam senusantara, boleh mas terangkan secara umumnya HAProxy itu berfungsi sebagai apa? Karena saya dalam proses merencana data recovery centre. Jadi pada masa yang sama masih memikirkan fungsi proxy ini gimana? Sekiranya mas sudi mungkin kali yang lain, buat postingan mengenainya secara ringkas

    ReplyDelete
  2. Salam juga mas ham kamarul, maaf banget nih baru ngecek blog ini lagi. ya nanti lain waktu saya tulis tentang konsepna HAProxy.

    ReplyDelete