The document describes how to set up high availability for a website using IP failover, Heartbeat, and Pacemaker on two Ubuntu servers. It provides instructions for configuring basic settings like static IP addresses, installing required packages, configuring Apache and Heartbeat, defining cluster resources, and monitoring the cluster. The goal is to keep the website available even if the primary node fails by failing over to the secondary node.
1 of 22
Downloaded 19 times
More Related Content
High Availability Server with DRBD in linux
1. With IP Failover, Heartbeat, Pacemaker on Ubuntu Server
Presented by Ali Rachman
Annual Meeting TS, 7-9 Maret 2012 1
2. High Availability
High Availability mengacu kepada suatu praktek untuk menjaga agar
resource yang ada tetap online atau tersedia karena disebabkan oleh
kegagalan suatu node atau sistem
Panduan kali ini, menunjukkan suatu metode untuk menggunakan dua
linode untuk menjaga suatu website tetap online. Bahkan ketika node
primary dimatikan.
Pada prakteknya, akan menggunakan metode IP Failover, Heartbeat,
Pacemaker dan Apache
Annual Meeting TS, 7-9 Maret 2012 2
3. Catatan :
1. Metode yang digunakan mungkin tidak sesuai dengan beberapa kasus
High Availability yang ada.
2. Diharapkan metode yang digunakan dalam praktek ini bisa memberikan
gambaran yang jelas tentang HA guna pengembangan di kasus-kasus
yang lain.
3. Konfigurasi yang ada dalam metode ini hanya bekerja untuk situs yang
statis
Annual Meeting TS, 7-9 Maret 2012 3
5. Konfigurasi yang digunakan
:
1. HA1 Primary Linode
2. HA2 Secondary Linode
3. 12.34.56.78 Static IP untuk Primary Linode
4. 98.76.54.32 Static IP untuk Secondary Linode
5. 44.44.44.44 floating IP
6. 4321 password untuk authentifikasi
7. Tes.ams.id contoh website yang akan di bangun
Annual Meeting TS, 7-9 Maret 2012 5
6. Basic System Configuration
:
Login dengan ssh ke primary linode
Edit /etc/hosts dan isi sesuai di bawah :
127.0.0.1 localhost.localdomain localhost
12.34.56.78 ha1.ams.id ha1
98.76.54.32 ha2.ams.id ha2
Annual Meeting TS, 7-9 Maret 2012 6
7. Basic System Configuration
:
Ssh host key syncronization
Ssh host key syncronization ini digunakan untuk mensinkronisasikan login
antar dua linode yang berbeda
Lakukan hal berikut dari primary linode :
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub root@ha2:/root/ha1_key.pub
ssh root@ha2 "ssh-keygen -t rsa"
ssh root@ha2 "echo `cat ~/ha1_key.pub` >> ~/.ssh/authorized_keys2"
ssh root@ha2 "rm ~/ha1_key.pub"
scp root@ha2:/root/.ssh/id_rsa.pub /root
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys2
rm ~/id_rsa.pub
scp /etc/ssh/ssh_host* root@ha2:/etc/ssh/
rm ~/.ssh/known_hosts
ssh root@ha2 "/etc/init.d/ssh restart"
scp /etc/hosts root@ha2:/etc/hosts
echo "ha1" > /etc/hostname
hostname -F /etc/hostname
ssh root@ha2 "echo "ha2" > /etc/hostname"
ssh root@ha2 "hostname -F /etc/hostname"
Annual Meeting TS, 7-9 Maret 2012 7
8. Assign Static IP Address :
Primary Linode :
Edit /etc/network/interfaces :
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 12.34.56.78
netmask 255.255.255.0
gateway 12.34.56.1
Secondary Linode :
/etc/init.d/networking restart
Edit /etc/network/interfaces :
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 98.76.54.32
netmask 255.255.255.0
gateway 09.76.54.1
/etc/init.d/networking restart
Annual Meeting TS, 7-9 Maret 2012 8
10. Configure Apache2 :
Primary Linode :
Edit /etc/apache2/ports.conf :
NameVirtualHost 44.44.44.44:80
Listen 80
Buat file untuk website tes.ams.id yang akan dibuat HA :
Edit /etc/apache2/sites-available/tes.ams.id :
<VirtualHost 44.44.44.44:80>
ServerAdmin support@ams.id
ServerName tes.ams.id
DocumentRoot /srv/www/ams.id/tes/public_html/
ErrorLog /srv/www/ams.id/tes/logs/error.log
CustomLog /srv/www/ams.id/tes/logs/access.log combined
</VirtualHost>
Annual Meeting TS, 7-9 Maret 2012 10
11. Configure Apache2 :
Primary Linode :
Lakukan perintah berikut :
<VirtualHost 44.44.44.44:80>
ServerAdmin support@ams.id
ServerName tes.ams.id
DocumentRoot /srv/www/ams.id/tes/public_html/
ErrorLog /srv/www/ams.id/tes/logs/error.log
CustomLog /srv/www/ams.id/tes/logs/access.log combined
</VirtualHost>
Buat tes page di primary :
Buat file di /srv/www/ams.id/tes/public_html/index.html :
<html>
<head>
<title>Test page served from ha1</title>
</head>
<body>
<h1>Test page served from ha1</h1>
</body>
</html>
Annual Meeting TS, 7-9 Maret 2012 11
12. Configure Apache2 :
Secondary Linode :
Buat tes page di secondary :
Buat file di /srv/www/ams.id/tes/public_html/index.html :
<html>
<head>
<title>Test page served from ha2</title>
</head>
<body>
<h1>Test page served from ha2</h1>
</body>
</html>
Primary Linode :
Lakukan hal berikut untuk meng-enable site :
a2ensite tes.ams.id
ssh root@ha2 "a2ensite tes.ams.id"
Annual Meeting TS, 7-9 Maret 2012 12