Headlines News :

POPULAR POST

Hadoop dan Cara Instalasi-nya


Hadoop adalah salah satu implementasi dari konsep Map Reduce yang bersifat Open Sorce untuk memproses model atau data berskala besar secara terdistribusi. Hadoop diimplementasikan di JAVA dengan mengunakan class library, dengan menggunakan Hadoop data akan diolah secara simultan, melalui lebih dari satu mesin (terdistribusi). Map Reduce sendiri ialah sebuah teknik  untuk menangani masalah pengaturan pada data berskala besar, hasil yang diharapkan agar data dapat diolah menjadi data yang reliable dan relevan.

Hadoop dapat digunakan secara Open Source, yaitu dapat digunakan dan dikembangkan untuk kepentingan bersama. Hadoop dapat diunduh langsung dari situs resminya di :

Sebelum menjalankan Hadoop pastikan anda telah menginstall Java Jdk seperti diuraikan pada bab 3.1. Kemudian  tempatkan folder hadoop pada /opt/ dan lakukan beberapa konfigurasi seperti di bawah ini.
a)      Install openssh pada setiap komputer.
Secure Shell (ssh) adalah protocol untuk komunikasi client-server untuk mengakses shell secara remote.Semua pertukaran pesan (message exchange) akan di enkripsi menggunakan enkripsi 128bit. Algorithm yang paling sering digunakan adalah rsa, namun juga bisa menggunakan algorithm enkripsiasynchronouslainnya.
SSH client dan server yang paling populer dan akan digunakan dalam dokumentasi ini adalah OpenSSH, berikut ini adalah cara instalasi OpenSSH pada linux server distro Debian dan CentOS.
Debian:
su #
apt-get install openssh-server openssh-client
Kemudian ikuti langkah instalasi.
CentOS / Redhat / Fedora:
su #
yum install openssh-server
yum install openssh-client
b)      Konfigurasi key ssh untuk setiap computer
Konfigurasi ini berguna agar komunikasi Secure Shell (ssh) antar computer tidak memerlukan authentikasipassword lagi.Agar dapat berkomunikasi tanpa authentikasi, public keyssh clientharus didaftarkan kedalam file authorized_keys server.
Gunakan perintah berikut pada terminal pada setiap komputer yang akan dijadikan hadoop node.
·         ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 
·         cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
·         chmod -R 700 .ssh/
Untuk melakukan tes gunakan perintah =>ssh localhost pada terminal, bila konfigurasi di atas berhasil maka tidak ada lagi permintaan untuk memasukan password.
Cara ini hanya dapat digunakan untuk Virtual Machine (VM)yang dibuat dengan cara di clone. Hal ini disebabkan karena hardware yang dibuat dengan cara di clone memiliki hardware-hardware ID yang sama, yang perlu digunakan untuk authentikasi public key SSH.
c)       Konsep Hadoop
Hadoop memiliki beberapa terminologi yang akan digunakan didalam dokumentasi ini:
HDFS Hadoop File System adalah DistributedFile System untuk hadoop, bedanya dengan File System biasa adalah replikasi. HDFS memiliki jumlah replikasi, setiap file didalam HDFS akan di replikasi sesuai dengan jumlah replikasi pada setting.
Map Reduceadalah konsep pembagian job atau proses pada sistem distribusi hadoop.Proses pendistribusian proses terdapat dalam Map dan pada Reduce terdapat proses pengabungan output atau hasil.
Baik Map Reduce dan HDFS pada hadoop menggunakan konsep master slave.Master adalahkomputer yang mendistribusikan proses dan juga berfungsi sebagai gateway antara sistem distribusi hadoop dan aplikasi. Slave adalah komputer yang mengerjakan proses yang didistribusikan oleh master node.
d)      Setting Konfigurasi Hadoop (Mapred & HDFS Master digabung)
Sebagai contoh, kita akan melakukan instalasi Hadoop pada 4 buah mesin.Pada konfigurasi ini Map Reduce cluster dan HDFS cluster akan digabugkan, sehingga hanya terdapat 1 master node. Dengan konfigurasi ini,  1 Virtual Machine (VM) akan difungsikan sebagai master, dan 3 VM menjadi Slave dengan pengaturan  IP  sebagai berikut:
·         komputer 1 (sebagai master)        = 192.168.1.1
·         komputer 2 (sebagai slave)         = 192.168.1.2
·         komputer 3 (sebagai slave)         = 192.168.1.3
·         komputer 4 (sebagai slave)         = 192.168.1.4
Setelah langkah diatas selesai, maka lakukan konfigurasi Hadoop yang berada pada folder /opt/hadoop/conf. Di dalam folder conf tersebut ada beberapa berkas yang perlu kita setting ulang, yaitu pada berkas
1.       masters,
2.  slaves,
3.       core-site.xml(Setting hadoop HDFS Mster dan behavior HDFS)
4.       mapred-site.xml (Setting hadoop mapred master dan behavoiour mapred process).
Penjelasan perubahan Setting :
·         Pada komputer 1 atau master hadoop bukalah berkas master dengan perintah => vim /opt/hadoop/conf/masters dan masukkan ip address dari hadoop master yang sudah anda set sebelumnya. Perhatikan pada contoh dibawah.
           192.168.1.1
·         Pada komputer 1 atau master hadoop bukalah berkas slaves dengan perintah => vim /opt/hadoop/conf/slaves dan masukkan ip addressdari hadoop slave yang sudah anda set sebelumnya. Perhatikan pada contoh dibawah.
           192.168.1.1
           192.168.1.2
           192.168.1.3
           192.168.1.4
·         Pada komputer 1 atau master hadoop bukalah berkas core-site.xml dengan perintah => vim /opt/hadoop/conf/ core-site.xml dan editlah sesuai dengan text dibawah ini.
Sebagai perbandingan perhatikan lampiran berkas konfigurasi berikut ini, sesuaikan VM yang menjadi Master, dan VM yang menjadi Slaves.Kesalahan setting dapat menyebabkan Hadoop tidak dapat digunakan.
hadoop.tmp.dir
/data/hadoop/tmp
fs.default.name
hdfs://IP HADOOP MASTER:54310
io.compression.codecs
org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.BZip2Codec
io.compression.codec.lzo.class
com.hadoop.compression.lzo.LzoCodec
fs.inmemory.size.mb
200


Penjelasan:
·      hadoop.tmp.dirdirektori yang digunakan oleh hadoop node sebagai blok file system.
·      fs.default.nameIP address HDFS Master node.
·      io.compression.codecskompresi data yang digunakan untuk mengurangi besar packet.
·      fs.inmemory.size.mbbesar cache yang di alokasikan didalam memory
·         Pada komputer 1 atau master hadoop bukalah berkas mapred-site.xml dengan perintah => vim /opt/hadoop/conf/mapred-site.xml dan editlah sesuai dengan text dibawah ini.


mapred.job.tracker
IP address Hadoop Master:54311
mapred.tasktracker.map.tasks.maximum
4
mapred.tasktracker.reduce.tasks.maximum
4
mapred.reduce.child.java.opts
-Xmn600m -Xms768m -Xmx768m
mapred.map.child.java.opts
-Xmn600m -Xms768m -Xmx768m
mapreduce.map.output.compress
true
mapreduce.map.output.compress.codec
com.hadoop.compression.lzo.LzoCodec
io.sort.mb
200
io.sort.spill.percent
0.95


Penjelasan:
·      mapred.job.trackerIP adress dan port hadoop mapred master node.
·      mapred.tasktracker.map.tasks.maximumjumlah maksimum map task yang boleh dijalankan node
·      mapred.tasktracker.reduce.tasks.maximumkompresi data yang digunakan untuk mengurangi besar packet.
·      mapred.reduce.child.java.optskonfigurasi java runtime, khususnya memori untuk reduce task.
·      mapred.map.child.java.optskonfigurasi java runtime, khususnya memori untuk maptask.
·      mapredreduce.map.output.compress compress output map atau tidak.
·      io.sort.mbbuffer memory saat sorting data (dari map ke reduce process).
·      io.spill.percent
e)      Copy semua config hadoop master node ke semua slave
Setiap hadoop hanya membutuhkan 1 set konfigurasi dengan dapat dengan mudah di copy atau disamakan antara master dan slave. Hal ini dapat dilakukan dengan 2 cara, cara pertama adalah menyalin (copy) folder /opt/hadoop/conf master ke seluruh slave atau menyalin (copy) seluruh folder hadoop ke setiap node slave.
Untuk mengcopy folder conf saja lakukan command ini untuk setiap IP SLAVE:
· scp-r /opt/hadoop/conf mypc@IP Adress_SLAVE1:/opt/hadoop/
·scp-r /opt/hadoop/conf mypc@IP_Adress SLAVE2:/opt/hadoop/
(lakukan untuk semua slave)
Untuk mengcopy seluruh folder hadoop, apabila folder hadoop belum ada di komputer slave, lakukan langkah ini pada setiap IP SLAVE:
scp -r /opt/hadoop root@IP_Adress SLAVE1:/opt/
(masukkan password root IP_SLAVE1)
(masukkan password root IP_SLAVE1)
chown -R ukp4:ukp4 /opt/hadoop/
(lakukkan untuk slave 1, 2, dan semuanya)
f)       Format berkas system hadoop
Berikut ini adalah perintah terminal untuk format berkas system Hadoop.
Lakukan proses ini untuk setiap hadoop node, baik master maupun slave.
·         Masuklah dengan super user pada komputer yang ingin diformat hadoop file systemnya dan buatlah forder denga perintah =>mkdir /data/hadoop. Folder ini akan berfungsi untuk menjadi tempat penyimpanan berkas system hadoop.
·         Ubahlah hak kepemilikan folder /data/hadoop dengan perintah =>chown mypc:mypc /data/hadoop
·         setelah langkah pertama dan kedua di jalankan barulah format hadoop bisa di lakukan dengan perintah =>/opt/hadoop/bin/hadoop namenode -format
·        
“Storage directory /data/hadoop/tmp/dfs/name has been successfully formatted.”Jika tulisan tersebut ada dalam terminal maka proses format telah berhasil 
g)      Menjalankan hadoop
Hadoop dapat dijalankan melalui semua node, namun lebih baik apabila untuk menjalankan Hadoop cukup dari komputer yang di set sebagai hadoop master saja. Berikut adalah perintah menjalankan hadoop untuk men-start HDFS cluster dan Mapred cluster:
·         /opt/hadoop/bin/start-all.sh
Selain itu dapat juga menstartHDFS dan mepred secara terpisah:
·         HDFS: /opt/hadoop/bin/start-dfs.sh
·         Mapred: /opt/hadoop/bin/start-mapred.sh
Setelah hadoop berjalan cobalah buka melalui browser apakah hadoop sudah berjalandengan benar atau belum dengan link sebagai berikut http://192.168.1.1:50030Pada tampilan dibrowser bisa dilihat informasi hadoop yang sedang berjalan, misalnya :
·         State adalah status Hadoopnya sekarang adalah running.
·         Nodes adalah jumlah komputer yang terdaftar pada sub-sistem administrasi Hadoop.
·         Running jobs adalah tempat dimana kita bisa melihat job apa yang sedang di kerjakan oleh Hadoop.
h)      Menghentikan Hadoop
Sama seperti saat menjalankan, saat menghentikan Hadoop juga lebih baik apabila dijalankan dari komputer yang di set sebagai master. Berikut adalah perintah  menghentikan hadoop cluster yang sedang berjalan (HDFS & Mapred):
·         /opt/hadoop/bin/stop-all.sh
Untuk hanya Menghentikan HDFS atau Mapred:
·         HDFS: /opt/hadoop/bin/stop-dfs.sh

·         Mapred: /opt/hadoop/bin/stop-mapred.sh

Cara menambah fitur sms verifikasi pada form registrasi member web anda


Apa yang dimaksud dengan SMS Verifikasi?
 
SMS Verifikasi adalah fitur sms memberikan kepastian bahwa nomor handphone yang digunakan oleh seorang User tersebut benar-benar aktif. Ketika sebuah form yang ada pada aplikasi atau web diisi bersama nomor handphone yang digunakan User, SMS Verifikasi pun dikirimkan kepada nomor handphone yang di inputkan User pada form tersebut. SMS Verifikasi berisikan kode verifikasi dimana sang User dapat mengkonfirmasikannya dengan mengetikannya pada laman pengecekan/verifikasi.
Kenapa harus menggunakan SMS Verifikasi?
Apabila anda memiliki web dan ingin memastikan member yang ada pada website anda dapat dihubungi untuk beberapa keperluan dan memastikan akun user yang akan mendaftar bukan bot yang mencoba untuk menyerang website anda.

Siapa saja yang menggunakan SMS Verifikasi?
1. Google
selain dikenal melalui search enginenya, google juga memiliki fitur email bernama GMAIL yang pada tahun 2013 berjumlah sekitar 425 juta di dunia. GMAIL sendiri menggunakan verifikasi via sms ketika user pertama kali mendaftar untuk mendapatkan akun emailnya dan sekarang menerapkan sistem keamanan ganda berupa aplikasi bernama Google authenticator dan SMS gateway sebagai kunci untuk dapat masuk ke akun google anda.
2. Twitter
 Selain Google twitter juga menerapkan sistem keamanan ganda untuk para pengguna twitter agar dapat mengakses twitter.
3. Whatsapp. Messaging App dengan jumlah terbanyak di dunia pada tahun ini dengan pengguna sekitar 350 juta orang jatuh pada whatsapp, Whatsapp adalah aplikasi online messaging multi platform yang dapat berjalan pada Android OS, iOs, Windows Mobile OS dan Symbian Os. Dengan jumlah pengguna sebanyak itu, Whatsapp menerapkan sistem SMS Verifikasi untuk memastikan Akun yang baru akan dibuat memang terbukti valid.

Nah, terbukti layanan-layanan tersebut menggunakan fitur SMS Verifikasi untuk memastikan keabsahan nomor handphone penggunanya. Kini, bagi anda yang memiliki  website dengan hak akses membership juga dapat menggunakan fitur SMS Verifikasi juga. Sebelum mulai menggunakan fitur ini pada website anda, ada baiknya anda memahami terlebih dahulu cara kerja dari SMS Verifikasi. Berikut Penjelasannya :
Cara kerja :
1. User mengisi form pendaftaran dan menginputkan nomor handphone asli untuk selanjutnya dikirimkan SMS Verifikasi.
2. User mendapatkan SMS berisi Kode Verifikasi yang selanjutnya akan di isi pada halaman web untuk melengkapi registrasi.
3. User mengisi kolom verifikasi dengan kode yang tertera pada SMS dan kemudian melengkapi  registrasi sekaligus resmi menjadi member yang terdaftar. Apabila kode verifikasi yang diketikan oleh user tidak sesuai dengan apa yang ada pada isi SMS Verifikasi, maka User harus menginputkan kembali kode yang benar.
Berikut ini adalah tutorial untuk menambahkan fitur sms verifikasi berupa kode verifikasi yang akan diterima oleh calon member dan selanjutnya akan di inputkan pada kolom verifikasi untuk melengkapi registrasi dan menjadi member yang terdaftar.
1. Untuk bisa memiliki fasilitas SMS pada web atau blog Anda harus mempunyai SMS gateway berfunsi sebagai pengirim SMS secara otomatis begitu ada pengunjung yang melakukan pendaftaran. Namun jangan khawatir Anda tidak perlu membeli software SMS gateway. Saya menggunakan SMS gateway online, silahkan daftar disini GRATIS!

2. Buatlah halaman html bernama reg.html dan isikan dengan script berikut :





Untitled Document




 

Form Registrasi Member


 
 

   
      Nama :
     
   
   
      Alamat :
     
   
   
      Email :
     
   
   
      *No. Handphone :
     
   
   
      Username :
     
   
   
      Password :
     
   
   
       
     
     
   
 
  *Silahkan masukkan nomor handphone yang anda gunakan untuk menerima kode verifikasi.




3.Berikut bentuk tampilan dari halaman reg.html



4.Kalau sudah, buat halaman php dan beri nama send.php dan isikan dengan script berikut.


$nohp=$_POST['nohp'];
$kode="182654"; //isikan sesuai dengan keinginan anda, tapi jangan masukkan huruf. hanya digit angka.
// Script Kirim SMS Api Zenziva
$userkey="userkeyanda"; // userkey lihat di zenziva
$passkey="passkeyanda"; // set passkey di zenziva
$message="Silahkan masukkan kode $kode pada kolom verifikasi untuk melengkapi registrasi anda. terima kasih.";

$url = "http://zenziva.com/apps/smsapi.php";
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, $url);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, 'userkey='.$userkey.'&passkey='.$passkey.'&nohp='.$nohp.'&pesan='.urlencode($message));
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_TIMEOUT,30);
curl_setopt($curlHandle, CURLOPT_POST, 1);
$results = curl_exec($curlHandle);
curl_close($curlHandle);

header("location: inputver.html");
?>

Halaman send.php berfungsi untuk mengirimkan sms verifikasi sekaligus mengarahkan user ke halaman input kode verifikasi.
 
5. Kemudian untuk membuat halaman dimana user menginputkan kode verifikasi, buatlah halaman html dan beri nama inputver.html. kemudian isikan dengan kode berikut :



Untitled Document




  SMS Verifikasi telah dikirim.
  Silahkan input kode verifikasi pada kolom dibawah ini :
 
 
   
   
 



6. Untuk melakukan verifikasi apakah kode yang dimasukkan benar atau salah, buatlah halaman php bernama verify.php dan isikan dengan script berikut :

$kode=$_POST['kodever'];
if($kode==182654) //isikan angka kode yang sesuai dengan yang ada pada halaman send.php
{
header("location: dasbor.php");
}
else{
header("location: cobalagi.php");
}
?>

7. Buatlah halaman cobalagi.php untuk menampilkan user salah menginputkan kode verifikasi dan isikan script berikut :



Untitled Document




  Kode yang anda masukkan salah.
  Silahkan input kembali kode verifikasi anda :
 
 
   
   
 



8. Dan untuk menampilkan halaman dasbor user apabila user memasukkan kode verifikasi dengan benar, maka buat halaman bernama dasbor.php dan inputkan script berikut :



registrasi berhasil




  home
  profil
  forum
  logout

Selamat datang, anda telah berhasil registrasi dan terdaftar sebagai member kami



Userkey dan passkey dapat dilihat di halaman dashboard zenziva setelah melakukan login.




Calon member akan menerima SMS berupa kode verifikasi setelah melakukan registrasi. Setelah Calon member mendaftar pada halaman reg.html, otomatis Calon member mendapatkan sms berupa kode verifikasi. Dan pada inputver.html, User menginputkan kode verifikasi sesuai dengan apa yang ada pada isi sms verifikasi dan kemudian melengkapi registrasi juga menjadi member baru yang terdaftar. Sekarang website Anda telah dilengkapi dengan fitur SMS.

Membangun High Available Server dengan teknik Failover Clustering

Sebelum memulai, ada baiknya penulis menjabarkan secara singkat definisi dan fungsi dari Heartbeat dan DRBD, karena software open source inilah yang kali ini akan kita gunakan untuk membangun High Available Server, Juga apa yang dimaksud dengan clustering dan Failover Clustering, dan bagaimana cara kerjanya.



Heartbeat

Sumber gambar: Linux-Ha Project
Heartbeat adalah Linux High Available yang menggunakan teknik cluster, yang bisa digunakan untuk  pada beberapa sistem operasi seperti Linux, FreeBSD, OpenBSD, Solaris, MacOS. yang mengunggulkan kehandalan, ketersediaan, dan serviceability (RAS). Proyek dari Linux-HA yang berlisensi GPL. Berikut fitur yang di usung oleh Heartbeat:
  1. Tidak ada jumlah maksimum tetap untuk jumlah node yang digunakan,
  2. Resource dapat secara otomatis restart atau pindah ke node lain pada kegagalan,
  3. Bisa menghapus node gagal dari cluster,
  4. Kebijakan yang canggih untuk manajemen resource, antara sumber daya dan kendala,
  5. Memungkinkan kebijakan yang berbeda berdasarkan waktu,
  6. Sudah menyediakan berbagai macam script (untuk Apache, DB2, Oracle, PostgreSQL dll).
DRBD
Sumber gambar: LINBIT
DRBD (Distributed Replicated Block Device) adalah sistem penyimpanan didistribusikan untuk platform GNU / Linux. Terdiri dari modul kernel, aplikasi userspace beberapa manajemen dan beberapa script shell dan biasanya digunakan pada cluster High Availability (HA). DRBD mirip dengan RAID 1, kecuali bahwa ia berjalan melalui jaringan.adalah sistem distribusi storage untuk GNU/Linux. DRBD mengacu pada baik perangkat lunak (kernel modul dan userspace yang terkait), dan juga untuk spesifik perangkat blok logis dikelola oleh perangkat lunak. DRBD bisa digunakan untuk replikasi:

  1. Conventional file system,
  2. Shared disk file system seperti GFS or OCFS2,
  3. Logical block device lainnya (seperti yang digunakan LVM, misalnya),
  4. aplikasi apa saja yang membutuhkan akses langsung ke block device.
DRBD berbasis cluster sering digunakan untuk menambahkan replikasi sinkron dan High Availability untuk file server, database relasional (seperti MySQL), dan beban kerja lainnya. Inilah mengapa penulis menggunakan DRBD sebagai replicator untuk database yang penulis gunakan adalah MySQL.

    Clustering
Dalam dunia komputer yang dimaksud dengan Server Clustering adalah menggunakan lebih dari satu server yang menyediakan redundant interconnections, sehingga user hanya mengetahui ada satu sistem server yang tersedia dan komputer client tidak menyadari jika terjadi kegagalan pada sistem server karena tersedianya server sebagai redundant atau backup. Clustering Server dapat digunakan untuk Load Balancing  (biasanya aktif-aktif ) cluster ataupun Failover clustering (biasanya aktif-pasif).
Failover Clustering
Failover clustering menyediakan solusi high availability server dimana jika terjadi kegagalan pada sistem hardware seperti power supply mati yang menyebabkan server mati total maka server lain anggota cluster yang akan mengambil alih fungsi dari server yang mati, sehingga komputer client tidak mengetahui jika terjadi kegagala pada server, karena proses yang dilakukan pada server yang gagal atau mati akan dilanjutkan oleh server backup. Konsep konfigurasi failover cluster adalah membuat satu server sebagai master server dan server yang lain menjadi slave server dimana saat server dalam keadaan normal master server menangani semua request dari client. Slave server akan mengambil alih tugas master server apabila master server tidak berfungsi atau mati.

Implementasi

Setelah memahami cara kerja, saatnya kita implementasi, aplikasi yang akan kita buat HA adalah samba.
Berikut beberapa persiapan yang harus diperhatikan sebelum membangun Failover Clustering:
  1. Backup dahulu semua data yang ada ke dalam media selain yang akan kita gunakan.
  2. Usahakan besar HDD di kedua server sama, atau jika tidak masing-masing HDD memiliki jumlah block yang sama.
  3. Jika menggunakan firewall kita harus membuka port 7788 (DRBD) dan 694 (Heartbeat) agar cluster bisa berjalan dengan baik.
  4. Pastikan service samba terinstall dan berjalan dengan baik.
Berikut spesifikasi informasi sistem yang penulis gunakan:


1. 2 buah Server x3250 M2
Sumber gambar: Penulis
                             Spesifikasi Perangkat Keras Server IBM system x3250 M2

No.
Alat-alat
Spesifikasi
1.
Processor
Intel Core2Duo E4600 @2.40GHz
2.
Memory
4 GHz DDR2
3.
Harddisk
ST3320/13AS 320 GB-WDC WD2500YS-23SHB0 250 GB
4.
NIC
Gigabit Ethernet
5.
VGA
VGA ATI ES1000
2. 2 Buah Switch
Sumber gambar: Penulis
Spesifikasi Switch SR216
No.
Keterangan
1. 24 port 10/100 RJ-45 ports dengan support automatic MDI/MDI-X cable detection
2. Kapasitas switching sebesar 4,8 Gbps
3. dengan support automatic MDI/MDI-X cable detection
4. Menggunakan advanced store-and-forward packet switching untuk optimalisasi data transfer

Berikut gambar rancangan H.A:
Sumber gambar: Penulis
  1. Setting di kedua server yang akan dijadikan server dengan IP sebagai berikut:
No.
Hosname
eth0
eth1
1.
server-a
192.168.0.1
10.0.0.1
2.
server-b
192.168.0.2
10.0.0.2

  1. Pertama install Heartbeat
[root@server-a ~]# yum -y install heartbeat
  1. Konfigurasi Heartbeat di kedua server seperti dibawah ini :
[root@server-a~]# vi /etc/ha.d/ha.cf
       Logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
initdead 120
bcast eth0
udpport 694
auto_failback on
node server-a
node server-b

[root@server-a~]# vi /etc/ha.d/haresources
Server-a 192.168.0.100 drbddisk::testing Filesystem::/dev/drbd0::/mnt/drbd::ext3 samba

[root@server-a~]# vi /etc/ha.d/authkeys
auth 1
1 md5 S1mp@naku

4. Ubah permission authkeys dulu:
[root@ server-a ~]# /chmod 600 /etc/ha.d/authkeys
alasanya adalah karena ini adalah authkeys, dimana dengan keys ini, host dapat connect ke dalam cluster kita, ini bahaya sekali. saya belum ada penerapan enkripsi disini.

5. Jalan heartbeat di kedua server / node, server a dan server b:
[root@ server-a ~]# /etc/rc.d/init.d/heartbeat start
Starting High-Availability services:
[  OK  ]

[root@ server-a ~]# chkconfig heartbeat on

6. Instalasi DRBD :
[root@ server-a ~]# yum install drbd82 kmod-drbd82

7. Buat partisi harddisk di kedua node sesuai kebutuhan. Ukurannya harus sama, tidak boleh berbeda. Software partisi dapat menggunakan LVM, gparted, fdisk atau parted. Pastikan partisinya belum diisi Filesystem terlebih dahulu, biarkan dalam format raw. Disini saya berasumsi sudah dibuat partisi LVM, /dev/VolGroup00/voldrbd/

8. Konfigurasi DRBD di kedua server seperti dibawah ini:
[root@ server-a ~]# vi /etc/drbd.conf
global {usage-count ask;}
common { syncer { rate 10M; } }
resource DEPHUB {
   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 {
             wfc-timeout  40;
            degr-wfc-timeout 120;    # 2 minutes.
     }
     disk { on-io-error   detach; }
      net {
           timeout       60;    #  6 seconds  (unit = 0.1 seconds)
           connect-int   10;    # 10 seconds  (unit = 1 second)
           ping-int      10;    # 10 seconds  (unit = 1 second)
           max-buffers     2048;
           max-epoch-size  2048;
           cram-hmac-alg "md5";
           shared-secret "tes_DRBD";
           after-sb-0pri disconnect;
           after-sb-1pri disconnect;
           after-sb-2pri disconnect;
           rr-conflict disconnect;
        }
        syncer {
                  rate 10M;
                 al-extents 257;
       }
        on server-a {
                 device     /dev/drbd0;
                 disk         /dev/VolGroup00/voldrbd;
                 address    192.168.0.1:7788;
                 meta-disk  internal;
        }
       on server-b {
               device    /dev/drbd0;
               disk      /dev/VolGroup00/voldrbd;
               address   192.168.0.2:7788;
               meta-disk internal;
        }
}

9. Jalankan service DRBD
[root@server-a ~]# /etc/init.d/drbd start

10. Set partisi menjadi partisi primary:
[root@server-a ~]# drbdadm -- --overwrite-data-of-peer primary all

11. Buat filesystem:
[root@server-a ~]# mkfs.ext3 /dev/drbd0

12. Mount filesystem:
[root@server-a ~]# mkdir /mnt/drbd/[root@server-a ~]# mount /dev/drbd0 /mnt/drbd
[root@server-a ~]# cd /mnt/drbd/| touch contohfile.txt

13. Di server-b atau secondary, lakukan langkah berikut ini:
Membuat metadata:
[root@server-b ~]# drbdadm create-md all
[root@server-b ~]# /etc/init.d/drbd start

Setelah dijalankan, partisi secondary ini akan memulai singkronisasi atau mengkopi data dari node primary ke node secondary, tunggu hingga selesai. Untuk melihat proses singkronisasi tersebut, digunakan perintah:
[root@server-b ~]# cat /proc/drbd
Proses akan selesai Jika terlihat seperti ini:
Connected  Primary/Secondary  UpToDate/UpToDate  C  /mnt/drbd/  ext3


Uji Coba
Berikut bagaimana penulis menguji coba failover cluster, mungkin akan sadis =D, tapi beginilah seharusnya mengetest sebuah sistem sebelum launch ke production =D. Sebelumnya masukan file mp3 atau film kedalam mount samba.

akses mount point samba yaitu /mnt/drbd dari linux, kemudian mainkan file mp3 tersebut, setelah berjalan beberapa saat, 



1. skenario pertama: 
kill -9 PID samba, sambil mendengarkan dengan seksama, apakah lagu berhenti, ada suaranya sejenak berhenti, atau suara jalan mulus. Tapi perlu di catat, jangan gunakan aplikasi yang mencache dahulu file mp3 kita.

2. skenario ke dua:
cabut saja kabel server-a kita dari switch, sambil mendengarkan dengan seksama, apakah lagu berhenti, ada suaranya sejenak berhenti, atau suara jalan mulus. Tapi perlu di catat, jangan gunakan aplikasi yang mencache dahulu file mp3 kita.


3. skenario ke tiga:
shutdown server-a, sambil mendengarkan dengan seksama, apakah lagu berhenti, ada suaranya sejenak berhenti, atau suara jalan mulus. Tapi perlu di catat, jangan gunakan aplikasi yang mencache dahulu file mp3 kita.
4. skenario ke empat:
shutdown server-a, sambil mendengarkan dengan seksama, apakah lagu berhenti, ada suaranya sejenak berhenti, atau suara jalan mulus. Tapi perlu di catat, jangan gunakan aplikasi yang mencache dahulu file mp3 kita.
5. skenario ke lima:
Cabut power server-a =D, sambil mendengarkan dengan seksama, apakah lagu berhenti, ada suaranya sejenak berhenti, atau suara jalan mulus. Tapi perlu di catat, jangan gunakan aplikasi yang mencache dahulu file mp3 kita.

Sekian artikel ini, biar dokumen lama, semoga bisa berguna.
 
Copyright © 2011. COMASTNET - All Rights Reserved