Friday, August 16, 2013

Clustering Failover untuk web server (ubuntu 12.04 LTS)

Alhammdulilah beres nya pas dengan hari kemerdekaan Republik Indonesia :D, kali ini saya akan menjelaskan bagaimana melakukan clustering failover untuk web server di ubuntu 12.04 LTS. Sebelum mulai konfigurasi ada hal yg harus anda ketahui terlebih dahulu, diantaranya :

  1. ip gateway = 192.168.50.1
  2. ip server 1 = 192.168.50.2/24
  3. ip server 2 = 192.168.50.3/24
  4. ip virtual yang akan digunakan client untuk mengakses web server = 192.168.50.4/24
  5. ip client = 192.168.50.5/24
  6. domain web server : www.rizal.sch.id
Sekarang kita mulai membuat konfigurasi clustering failover untuk web server :
  • install 2 buah web server : apt-get install lamp-server^
  • install ucarp pada kedua web server : apt-get install ucarp
  • nano /etc/network/interfaces (server 1)

  • nano /etc/network/interfaces (server 2)
  • setlelah network di restart tes konfigurasi ip nya, jika sukses maka akan tampil seperti dibawah ini (server 1)
  • lakukan hal yg sama di server 2, ini hasil konfigurasi jika server 1 masih menyala
  • ini konfigurasi jika server 1 mati, otomatis server 2 akan menggantinya, inilah yang disebut failover
  • setelah itu upload file html nya ke server 1 (ftp server)
  • install dns server di kedua server, untuk kedua server konfigurasinya sama


  • selanjutnya kita akan melakukan mirror dari server 1 ke server 2, sehingga ini dari halaman webnya sama
  • install ssh server (server 1) : apt-get install openssh-server (ssh server port defaultnya adalah 22)
  • kemudian install rsync di kedua server : apt-get install rsync
  • buatlah user baru di server 1, contoh nya indonesia dan jgn lupa berikan password
  • selanjutnya kita tes rsync nya di server 2
  • selanjutnya buat private key di server 2
  • selanjutnya copy kan private key yang si server 2 ke server 1 menggunakan ssh
  • selanjutnya kita login sebagai indonesia di server 1
  • tambahkan content dari mirror-rsync-key.pub ke /home/indonesia/.ssh/authorized.keys

  • edit file authorized.keys menjadi seperti command=”/home/indonesia/rsync/checkrsync”,from=”192.168.50.3”,no-port-forwarding,no-X11-forwarding,no-pty ssh-dss (di bagian atas)
  • selanjutnya kita akan mereject semua command kecuali rsync
  • mkdir ~/rsync
  • nano /home/indonesia/rsync/checkrsync (edit seperti dibawah ini)
  • save, kemudian ketik : chmod 700 ~/rsync/checkrsync
  • sekarang kita akan tes mirroring (server 2)
  • selanjutnya kita akan membuat mirroring ini berjalan otomatis (server 2)

  • selanjutnya saya akan set setiap menit untuk melakukan mirroring dengan menabhakan perintah seperti ini : * * * * * /usr/bin/rsync -azq –delete –exclude=**/stats –exclude=**/error –exclude=**/files/pictures -e “ssh -i /root/rsync/mirror-rsync-key” indonesia@192.168.50.2:/var/www/ /var/www/

  • sekarang kita tes mirroring otomatis nya
  • server 1

  • matikan server 1, dan kita cek di server 2

  • selesai, nah ketika server 1 mati pun si client tidak akan tau karena sudah digantikan oleh server 2 hehehe, tidak ada bedanya karena isi kedua web server tersebut memang sama.
mohon maap apabila ada kesalah, mohon koreksi nya juga dari teman" :D

referensi : www.google.co.id, 


15 comments:

  1. untuk rsync itu yang di backup hanya ada di folder www, tapi apakah untuk database mysqlnya ikut terbackup juga om ? kalo bisa mohon pm ane ya om. thanks

    ReplyDelete
    Replies
    1. maaf baru bales, iya itu hanya di folder www, untuk database nya tidak ke backup ..., belum saya oprek lagi gan ... thx for visited my blog .. ^^v

      Delete
    2. database bisa punya metode nya sendiri kok kalau mau mirroring...

      Delete
    3. Bener banget gan, database punya metode sendiri untuk mirroring. tergantung database apa yang digunakan. ini salah satu contoh nya (yang paling simple dari mysql) hhe

      http://rizalubuntu.blogspot.co.id/2016/08/database-replication-master-to-slave.html

      Delete
  2. Thanks for the post. It's great protocol. First time I setting it up under Ubuntu (http://sysadm.pp.ua/linux/carp-ubuntu.html) - cluster with three node still working. Could you please point me to right direction for building geo-distributed redundant IP solution??

    ReplyDelete
    Replies
    1. sorry, i don't know what is the geo-distributed , could you explain to me what is it?

      Delete
    2. When servers are located in different countries(datacenters)

      Delete
    3. hmm, sorry sir i never try that. but i think the different is , the ip what you use for server ... , i think when you laying your server on data center you will be get ip public.

      Delete
  3. kalau 1 server dibuat pada zeroshell dan 1 server dibuat diubuntu apakah akan bisa?

    ReplyDelete
    Replies
    1. maksudnya akan bisa menggunakan failover ini?

      Delete
    2. blm pernah pake zerozhell gan. tapi kalo ucarp nya ada di zeroshell kemungkinan bisa.
      ini postingan udah agak lama, mungkin bisa dicoba untuk cara yang lebih baru misal pake heartbeat
      https://www.digitalocean.com/community/tutorials/how-to-create-a-high-availability-setup-with-heartbeat-and-floating-ips-on-ubuntu-14-04

      Delete
  4. kira2 ada gak bukunya mas tentang ini
    atau bisa tolong buatkan tutorialnya utk web dan database-nya ?
    ini udah gak work di ubuntu server 16.04.3 saat pembuatan private key.
    mohon di jawab mas, rencana utk tugas TA saya :D
    terimakasih.

    ReplyDelete
    Replies
    1. halo mas Taufik. saya kurang tau ada bukunya atau engga, tpi untuk tutorial" server seperti ini saya biasanya menemukan di digital ocean atau howtoforge

      mohon maaf, untuk membuat tutorial versi ubuntu 16.04 saya belum ada rencana Mas, dikarenakan belum sempat mempelajari nya juga ..

      tapi saya rasa tutorial yang mas tanyakan sepertinya sudah banyak tersebar di internet, apalagi dalam bahasa inggris :)

      Delete
  5. Terima kasih banyak bang, blog ini sangat membantu saya mengerjakan TA saya bang :)

    ReplyDelete
  6. siang pak, untuk konfigurasi install dns nya masih bingung hehe, ada yang bisa dihubungi untuk menanyakan lebih lanjut? terimakasih

    ReplyDelete

dilarang berkomentar menggunakan kata-kata yang tidak pantas... !!!