<$BlogRSDUrl$>
Techno Hack
All about technology tips and trick around us, such as how to optimize our PC, camera, handphone, camcorder and much more

Solusi Murah untuk Highly-Available Data

Saturday, December 24, 2005
Jika Anda bergerak di bidang IT dan harus menangani beberapa server penting yang menyimpan begitu banyak data, maka hal yang paling menakutkan Anda adalah kejadian server crash, entah itu disebabkan oleh masalah pada hardware, software, atau masalah lainnya yang tidak Anda ketahui. Seluruh rekan kerja, pelanggan serta manajemen perusahaan Anda berharap sepenuhnya kepada Anda untuk memulihkan server yang crash dan mengembalikan data yang hilang. Berbagai pertanyaan muncul di benak Anda, apakah back up data aman dan up-to-date? Apakah back up data ada di tempat? Apakah back up data bisa di-restore dan dapat diandalkan? Kejadian seperti di atas adalah mimpi buruk yang lama sekali tidak ingin Anda alami.

Setiap layanan bergantung kepada tersedianya data. Untuk memberikan layanan apa pun, data haruslah mudah tersedia. Jika Anda menginginkan layanan tersebut highly-available, maka data yang Anda perlukan haruslah juga highly-available. Untuk mengurangi downtime pada solusi Anda yang sudah terbiasa menggunakan back up, yang paling umum adalah dengan cara menyediakan server kedua yang siap sedia untuk mengambil alih, baik dengan cara hot stand by atau cold stand by. Akan tetapi, kedua cara ini pun masih menyisakan masalah, yaitu jika server yang sedang aktif mati, Anda tetap akan kehilangan data yang dibuat setelah back up yang terakhir Anda lakukan.

Lalu apakah solusi untuk masalah data redundancy seperti ini? DRBD (Distributed Replicated Block Device) mungkin bisa memenuhi kebutuhan departemen atau perusahaan Anda. DRBD adalah solusi yang dapat menghemat data dan waktu kerja Anda, serta tentu saja menunjang karier Anda, karena DRDB merupakan realtime back up dengan replikasi (live atau online replication).

DRBD adalah solusi yang bisa dibilang paling murah dibandingkan solusi lainnya untuk masalah yang sama. Solusi lain seperti shared storage hardware, biasanya menggunakan storage device yang dihubungkan dengan beberapa node (melalui shared SCSI bus atau Fibre Channel) dengan harga yang sangat mahal. Dengan kemampuannya untuk bekerja melalui IP network, DRBD bisa lebih murah karena tidak perlu menggunakan hardware khusus seperti halnya storage devices.

Walaupun DRBD tidak memerlukan hardware khusus, tetap direkomendasikan untuk memiliki sebuah dedicated network link untuk replikasi datanya. Jika Anda menginginkan throughput yang tinggi, maka bottle neck di 10/100 megabit Ethernet dapat dihilangkan dengan menggunakan Gigabit Ethernet.

DRBD menyediakan mass storage device (block device), dan mendistribusikan device tersebut ke beberapa server, sehingga data yang tersimpan akan direplikasikan ke server lainnya secara realtime. DRDB me-mirror seluruh block device-nya melalui dedicated network. Selain software DRBD, diperlukan juga software cluster membership dan aplikasi yang Anda butuhkan untuk menggunakan block device tersebut.

Bagaimana Cara DRBD Bekerja?

Setiap server atau node berfungsi sebagai 'primary' atau 'secondary'. Aplikasi yang kita jalankan akan berjalan di server yang berfungsi sebagai 'primary', serta mengakses block device (/dev/nbX). Setiap data yang akan disimpan dikirim ke lokal harddisk (di bagian lower level block device) serta dikirim juga ke server atau node yang berfungsi sebagai 'secondary', pada bagian yang sama.

Jika server 'primary' gagal atau mati, aplikasi cluster (diantaranya heartbeat) otomatis mengubah server secondary menjadi primary, kemudian akan menjalankan aplikasi Anda di server secondary tersebut. Saat server 'primary' yang mati sudah normal kembali, maka server tersebut berubah menjadi 'secondary' dan secara otomatis mensinkronkan datanya ke server yang sekarang menjadi 'primary', seluruh proses ini tentu saja berjalan tanpa adanya interupsi pada proses yang sedang berjalan di background. Sinkronisasi ini adalah proses yang paling penting di DRBD, termasuk pemilihan apakah akan dilakukan full synchronization ataukah cukup incremental synchronization.