• Masim “Vavai” Sugianto

    Founder PT. Excellent Infotama Kreasindo– perusahaan email services provider (ESP) dan menjadi konsultan pada berbagai instansi pemerintah, korporasi besar, lembaga perbankan dan institusi pendidikan di Indonesia.

    Lebih detail tentang Vavai.




  • Publishing

  • Recent Posts

    • Keluar Rumah Setelah Isolasi
    • Saling Menghargai
    • Takut Swab PCR/Rapidtest Antigen?
    • Pisang Mulus Pisang Bintik-Bintik
    • Terpapar Covid
  • Recent Comments

    • Instalasi Server Jakarta on Persuasif
    • Instalasi Server Enterprise on Tips Wirausaha : Cara Pandang Persaingan Bisnis
    • fitriindriani on Aktiva Mail Campaign & Transactional Email
    • Vavai on Backup Data Virtual Machine pada Proxmox Virtual Environment (Proxmox VE)
    • ady on Backup Data Virtual Machine pada Proxmox Virtual Environment (Proxmox VE)
  • Archives

    • January 2021
    • December 2020
    • August 2020
    • July 2020
    • April 2020
    • March 2020
    • August 2019
    • July 2019
    • June 2019
    • March 2019
    • February 2019
    • January 2019
    • November 2018
    • October 2018
    • August 2018
    • May 2018
    • April 2018
    • January 2018
    • December 2017
    • July 2017
    • December 2016
    • November 2016
    • April 2016
    • March 2016
    • November 2015
    • July 2015
    • April 2015
    • November 2014
    • October 2014
    • February 2014
    • January 2014
    • December 2013
    • November 2013
    • October 2013
    • September 2013
    • August 2013
    • June 2013
    • May 2013
    • March 2013
    • February 2013
    • January 2013
    • December 2012
    • November 2012
    • October 2012
    • September 2012
    • August 2012
    • July 2012
    • June 2012
    • May 2012
    • April 2012
    • March 2012
    • February 2012
    • January 2012
    • December 2011
    • November 2011
    • October 2011
    • September 2011
    • August 2011
    • July 2011
    • June 2011
    • May 2011
    • April 2011
    • March 2011
    • February 2011
    • January 2011
    • December 2010
    • November 2010
    • October 2010
    • September 2010
    • August 2010
    • July 2010
    • June 2010
    • May 2010
    • April 2010
    • March 2010
    • February 2010
    • January 2010
    • October 2008
    • September 2008
    • August 2008
    • July 2008
    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • February 2008
    • January 2008
    • December 2007
    • November 2007
    • October 2007
    • September 2007
    • August 2007
    • July 2007
    • June 2007
    • May 2007
    • April 2007
    • March 2007
  • Home
  • Bisnis & Marketing
  • Computer & IT Related
  • Lifestyle
  • Publishing
  • Free Stuff
  • About
  • Kontak

High Availability Linux LAMP (Ubuntu Server 12.04)-Bagian 2

October 9, 2012
2 Node Cluster

High Availability – 2 Node Cluster

Bagian ini merupakan lanjutan dari tulisan sebelumnya mengenai high availability LAMPServer. Pada bagian ini, kita akan menginstall paket dan persiapan yang diperlukan sehingga kita bisa membangun sistem dengan tingkat availability maksimal.

Pada tulisan ini kita akan mempelajari bagaimana me-konfigurasi sebuah server High availability dengan Linux, Apache, MySQL, and PHP (LAMP). Sehingga ketika ada server yang menjadi tidak aktif, service AMP akan diberikan oleh cluster yang kita miliki sehingga service AMP akan tetap tersedia. Sebelum memulai, ada baiknya membaca bagaimana konfigurasi/instalasi sebuah LAMP Server pada beberapa link berikut:

http://www.howtoforge.com/ubuntu_lamp_for_newbies
https://help.ubuntu.com/community/ApacheMySQLPHP

Langkah lajutan yang harus kita lakukan adalah pastikan isi dari file /etc/hosts identik (alamat IP dari kedua server/node). Berikut adalah isi dari file /etc/hosts yang harus kita buat untuk konfigurasi kita:

127.0.0.1Ā Ā Ā Ā  localhost
10.10.1.101Ā Ā  node1.excellent.co.idĀ Ā Ā  node1
10.10.1.102Ā Ā  node2.excellent.co.idĀ Ā Ā  node2
126.10.1.1Ā Ā Ā  node1-private
126.10.1.2Ā Ā Ā  node2-private

Langkah ini berguna agar kedua server bisa dengan mudah berkomunikasi tanpa perlu bertanya ke DNS Server, yang mana ada potensi kesalahan dalam resolve hostname.

Install NTP untuk memastikan kedua server memiliki waktu yang sama.

apt-get -y install ntp

Untuk memverifikasi apakah kedua server sudah menggunakan waktu yang sama, gunakan perintah date.

Install DRBD dan heartbeat.

Install paket DRBD dan heartbeat yang akan mengatur failover system.

apt-get -y install drbd8-utils heartbeat

Karena kita akan menggunakan heartbeat dan DRBD, kita perlu merubah kepemilikan (ownership) dan hak akses pada beberapa file terkait dengan DRBD pada kedua server.

chgrp haclient /sbin/drbdsetup
chmod o-x /sbin/drbdsetup
chmod u+s /sbin/drbdsetup
chgrp haclient /sbin/drbdmeta
chmod o-x /sbin/drbdmeta
chmod u+s /sbin/drbdmeta

File yang mengatur DRBD yaitu drbd.conf terletak di direktori /etc/. Secara default isi file tersebut hanya memuat pengaturan umum saja. Kita akan membuat konfigurasi yang sesuai dengan kebutuhan kita, yaitu resource tunggal. Maksudnya hanya terdapat satu partisi / harddisk yang akan kita buat sebagai DRBD.

Konfigurasi DRBD

Buka dan edit file drbd.conf dengan teks editor, (bisa vi, vim, pico, atau nano). Saat ini kita akan menggunakan nano. Jalankan denganĀ  perintah:

nano /etc/drbd.conf

Jika terbiasa dengan vi/vim silakan ubah nano dengan vi/vim.

Contoh konfigurasi /etc/drbd.conf yang akan kita gunakan:

resource r0 {
 protocol C;

 handlers {
  pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
  pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
  local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
  outdate-peer "/usr/lib/heartbeat/drbd-peer-outdater -t 5";      
 }

 startup {
  degr-wfc-timeout 120;
 }

 disk {
  on-io-error detach;
 }

 net {
  cram-hmac-alg sha1;
  shared-secret "password";
  after-sb-0pri disconnect;
  after-sb-1pri disconnect;
  after-sb-2pri disconnect;
  rr-conflict disconnect;
 }

 syncer {
  rate 100M;
  verify-alg sha1;
  al-extents 257;
 }

 on node1 {
  device  /dev/drbd0;
  disk    /dev/vdb1;
  address 10.10.10.51:7788;
  meta-disk internal;
 }

 on node2 {
  device  /dev/drbd0;
  disk    /dev/vdb1;
  address 10.10.10.52:7788;
  meta-disk internal;
 }
}

Catatan:
– ubah bagian password dari baris shared-secret.
– sesuaikan dengan hostname saat pertama install, nilai didapat dengan menggunakan perintah uname -n

Duplikat file konfigurasi DRBD ke server kedua dengan perintah:

scp /etc/drbd.conf root@10.10.1.101:/etc/

Lakukan inisialisasi meta-data harddisk pada kedua server

[node1] drbdadm create-md r0
[node2] drbdadm create-md r0

Jalankan service DRBD pada kedua server.

[node1] /etc/init.d/drbd start
[node2] /etc/init.d/drbd start

Tentukan server mana yang akan bertindak sebagai server primer untuk perangkat yang akan memuat file konfigurasi paket LAMP dan kita perlu melakukan sinkronisasi penuh untuk pertama kali antara kedua server. Jalankan perintah berikut pada node1 (server primer):

[node1] drbdadm -- --overwrite-data-of-peer primary r0

Lalu lihat status dari proses sinkronisasi dengan menjalankan perintah:

cat /proc/drbd

Contoh hasil perintah diatas:

IT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by ivoks@ubuntu, 2009-01-17 07:49:56
 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r---
    ns:761980 nr:0 dw:0 dr:769856 al:0 bm:46 lo:10 pe:228 ua:256 ap:0 ep:1 wo:b oos:293604
        [=============>......] sync'ed: 72.3% (293604/1048292)K
        finish: 0:00:13 speed: 21,984 (19,860) K/sec
 1: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r---
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:10485692

Kita bisa juga memonitor secara real-time proses diatas dengan menggunakan perintah watch:

watch cat /proc/drbd

Perintah diatas akan menampilkan setiap perubahan yang terjadi secara real-time tiap 2 detik. Untuk keluar dari mode watch gunakan perintah ctrl+c

Tunggu sampai proses sinkronisasi selesai sebelum melanjutkan ke langkah berikutnya.

Proses ini akan memakan waktu tergantung dari spek dan kapasitas harddisk yang digunakan.

Jika proses sinkronisasi telah selesai, kita perlu memformat drive drbd dan mounting ke salah satu direktori. Lakukan hanya di server primer.

[node1] mkfs.ext4 /dev/drbd0
[node1] mount /dev/drbd0 /srv/

Untuk mengetes apakah konfigurasi sudah benar, kita akan buat sebuah file pada direktori dimana drbd kita pasang. Dalam hal ini berarti pada direktori /srv/.

[node1] dd if=/dev/zero of=/srv/test.zeros bs=1M count=100

Perintah diatas akan membuat satu file berukuran 100MB dengan nama file test.zeros. Masuk ke direktori /srv/ dan lihat apakah file yang tadi kita buat ada disana.

[node1] cd /srv/
[node1] ls

Selanjutnya kita akan coba pindah ke node2 apakah file yang tadi kita buat juga ikut pindah kesana. Tapi sebelumnya kita harus unmount DRBD di node1 dan jadikan sebagai secondary, lalu buat node dua sebagai primary dan mount ke salah satu direktori. Pada node1:

[node1]cd /
[node1]umount /srv
[node1]drbdadm secondary r0

Pada node2:

[node2]drbdadm primary r0
[node2]mount /dev/drbd0 /srv
[node2]ls –lh /srv/

Sekarang seharusnya kita bisa melihat file test.zeros berukuran 100MB pada node2. Langkah berikutnya kita akan lihat apakah konfigurasi DRBD sudah berjalan dengan baik dalam dua arah. Kita hapus file test.zeros tersebut dan kembalikan node 1 sebagai server primer. Hapus dan kembalikan mode primer ke server1. Pada node2:

[node2]rm /srv/test.zeros
[node2]umount /srv
[node2]drbdadm secondary r0

On node1:

[node1]drbdadm primary r0
[node1]mount /dev/drbd0 /srv

Lakukan perintah ls /srv/ pada node1 untuk melihat apakah file yang tadi kita hapus masih ada atau sudah hilang dan apakah sinkronisasi berjalan sukses pada kedua arah.

Dilanjutkan ke bagian ketiga.

ClusterFail OverHAHigh AvailabilityLinuxResourceUbuntu
Share

Resource  / Tips, Tricks & Tutorial

Mochamad Welly R.
Mochamad Welly Rosadi. Penganjur penggunaan sistem Linux dan aplikasi Open Source. Kontak: moch.welly [at] gmail.com

You might also like

Update Script untuk Ubuntu Initial Server Setup
April 20, 2020
Instalasi Dasar Ubuntu Server 18.04 64 bit
April 19, 2020
Initial Server Setup Script for Ubuntu 18.04
April 18, 2020
  • Artikel



  • Blogroll

    • DNS Propagation Checker
    • Instagram Photo/Video Downloader
    • PT. Excellent Infotama Kreasindo
  • Publishing

  • Recent Posts

    • Keluar Rumah Setelah Isolasi
    • Saling Menghargai
    • Takut Swab PCR/Rapidtest Antigen?
    • Pisang Mulus Pisang Bintik-Bintik
    • Terpapar Covid
    • Persuasif
    • Bekerja untuk Beli Ipad
    • Perkembangan Kios Pisang “Zeze Zahra”
    • Pengalaman Memulai Jualan Pisang
    • Mengenal Pak Amoy