RAID (Redundant Arrays of Inexpensive Disks)


Teknik yang menjadikan server menjadi menarik dari sisi storage / tempat penyimpanan data adalah kemampuan untuk mengumpulkan banyak harddisk kecil menjadi satu kesatuan menjadi harddisk besar. Teknik ini di kenal dengan nama Redundant Arrays of Inexpensive Disks (RAID).

Tahun 1987, Patterson, Gibson dan Katz di University of California Berkeley, mempublikasikan sebuah paper yang berjudul “A Case for Redundant Arrays of Inexpensive Disks (RAID)” . Paper tersebut menjelaskan berbagai tipe dari kumpulan harddisk, yang di beri nama RAID. Ide dasar dari RAID adalah menggabungkan beberapa hardisk kecil dan murah menjadi sebuah Array (kumpulan) yang ternyata mempunyai kemampuan di atas Single Large Expensive Drive (SLED). Tambahan lagi, kumpulan harddisk ini akan tampak sebagai satu buah harddisk atau logical storage unit pada komputer.

Rata-rata waktu rusak atau Mean Time Between Failure (MTBF) dari sebuah kumpulan harddisk akan sama dengan MTBF dari masing-masing harddisk, dibagi jumlah harddisk di array. Oleh karenanya, biasanya MTBF sebuah array biasanya sangat rendah untuk digunakan secara serius. Akan tetapi, kumpulan harddisk ini dapat dibuat tahan banting dengan cara menyimpan informasi secara redundan dengan berbagai cara.

Pada paper dari Berkeley, pada dasarnya ada lima (5) tipe arsitektur array, RAID-1 sampai RAID-5. Masing-masing teknik RAID menawarkan tingkat reliabitas dan performance yang berbeda satu sama lain. Di samping, ke lima arsitektur kumpulan harddisk yang redundan, yang menjadi populer juga adalah kumpulan harddisk yang tidak redundan yang di kenal sebagai RAID-0 yang menawarkan storage yang besar dan kecepatan yang tinggi.

RAID: Data Striping

Dasar dari teknik RAID adalah “striping”, sebuah metoda untuk menyatukan beberapa harddisk untuk menjadi sebuah harddisk virtual. Striping pada dasarnya membuat partisi pada setiap harddisk menjadi banyak stripe (potongan kecil) yang mulai dari 512byte atau beberapa megabyte. Masing-masing stripe ini akan di tumpuk satu sama lain secara berputar / bergilir antar harddisk, oleh karena itu gabungan tempat penyimpanan di harddisk akan berurutan (berselang seling) dalam bentuk stripe dari setiap harddisk. Tergantung pada kebutuhan aplikasi, I/O atau data intensif, akan menentukan besar atau kecil-nya stripe yang akan digunakan.

Image:Raid-konsep.jpg

Umumnya sistem operasi multiuser yang ada pada hari ini, seperti Unix, Linux, NT, mendukung operasi I/O harddisk yang overlap di banyak harddisk. Untuk memaksimalkan throughput dari harddisk, beban I/O harus dibuat seimbang pada semua harddisk, jadi semua harddisk harus dibuat sibuk semua jangan sampai ada yang idle. Membuat operasi balance seperti ini hanya mungkin terjadi kalau dilakukan proses striping. Karena pada banyak harddisk yang tidak di-striping, kemungkinan ada file yang sering di akses tapi berada pada satu harddisk saja. Oleh karena itu beban terberat hanya terjadi pada harddisk yang mempunyai file favorit saja, striping memungkinkan beban mejadi merata ke semua harddisk

Pada lingkungan yang lebih intensif I/O, performance di optimisasi dengan cara menggunakan strip yang cukup besar sehingga sebuah file / record akan masuk ke sebuah strip. Hal ini akan menjamin bahwa data dan I/O akan tersebar secara merata di kumpulan harddisk, memungkinkan setiap harddisk untuk melakukan operasi I/O yang berbeda-beda dan akan memaksimalkan operasi I/O simultan yang dapat dilakukan oleh kumpulan harddisk.

Pada lingkungan yang lebih intensif melakukan pemrosesan data atau pada sistem single user yang mengakses ke record yang besar, strip kecil (biasanya dengan panjang sekitar 512 byte per sector) akan digunakan dalam setiap record. Masing-masing record di tersebar di kumpulan haddisk, jadi setiap harddisk akan menyimpan bagian data. Teknik ini menyebabkan data yang besar / panjang akan di akses lebih cepat, karena transfer data di lakukan secara paralel dari kumpulan harddisk. Sayang sekali, strip pendek / kecil akan mendominasi di bandingkan operasi multiple I/O yang overlap, karena setiap I/O akan melibatkan semua harddisk. Memang, sistem operasi seperti DOS tidak mengijinkan untuk melalukan operasi I/O overlap, tapi ini tidak akan menimbulkan dampak negatif. Aplikasi seperti video / audio on demand, citra kedokteran dan akusisi data, yang biasanya memanfaatkan akses dengan record panjang akan memperoleh performance yang optimum dengan kumpulan harddisk yang menggunakan stripe pendek.

Salah satu hal kesulitan dengan menggunakan stripe pendek adalah perlu harddisk yang putarannya di sinkronkan satu sama lain untuk menjaga agar performance tidak turun pada saat record pendek di akses. Tanpa putaran yang di sinkronkan maka setiap harddisk di kumpulan harddisk akan berputar dengan posisi yang random. Karena I/O tidak dapat di akses sampai setiap harddisk telah mengakses bagian dari record-nya, maka harddisk yang membutuhkan waktu terlama yang akan menentukan kapan selesai operasi I/O harddisk. Semakin banyak harddisk di kumpulan harddisk, semakin parah rata-rata waktu akses dari kumpulan harddisk, pada kondisi paling buruh akan sama dengan waktu akses paling jelek sebuah harddisk. Dengan mensinkronkan putaran harddisk akan menjamin bahwa setiap harddisk di kumpulan harddisk akan menyelesaikan transfer data-nya pada saat yang sama. Dengan cara ini maka waktu akses kumpulan harddisk akan sama dengan waktu akses sebuah harddisk jauh lebih baik dari waktu akses terburuk dari harddisk.

Berbagai Level RAID

RAID-0RAID level 0 tidak redundan, oleh karena itu sebetulnya tidak sesuai dengan akronim RAID. Pada level 0 data di split pada beberapa harddisk yang menyebabkan throughput data yang lebih tinggi. Karena informasi redundansi tidak di simpan, maka performance menjadi sangat baik, tapi jika ada harddisk yang rusak maka data akan hilang. Level ini sering di sebut sebagai stripping.

RAID-1RAID Level 1 memberikan redundansi dengan cara menuliskan data ke dua atau lebih harddisk sekaligus. Performance dari RAID Level 1 ini biasanya lebih cepat pada saat membaca, dari lebih lambat pada saat menulis daripada sebuah harddisk biasa. Tapi jika ada harddisk yang rusak, data tidak ada yang hilang. Teknik termasuk teknik paling baik untuk sistem redundan sederhana, karena membutuhkan dua buah harddisk; satu untuk menyimpan data, satu lagi untuk duplikasi data. Oleh karena itu biaya per Mbyte data menjadi lebih mahal. Teknik ini sering di sebut mirroring.

RAID-2RAID Level 2, menggunakan kode koreksi kesalahan Hamming code, di maksudkan untuk digunakan di harddisk yang tidak mempunyai kemampuan pendeteksian kesalahan. Kebanyakan harddisk IDE terutama yang lama tidak mempunyai kemampuan ini. Pada hari ini semua harddisk SCSI juga keluarga SATA umumnya mempunyai kemampuan pendeteksi kesalahan, oleh karena itu RAID level 2 tidak terlalu dibutuhkan di harddisk modern.

RAID-3RAID Level 3 membagi data pada level byte pada beberapa harddisk, parity data di simpan pada satu harddisk. Pada dasarnya sama dengan RAID level 4. Striping pada level byte membutuhkan dukungan harddisk untuk effisiensi pengunaan.

RAID-4RAID Level 4 stripes data pada level block pada beberapa harddisk, dengan parity di simpan pada satu harddisk. Informasi parity memungkinkan kita untuk me-recover data jika ada kerusakan pada satu harddisk. Performance dari kumpulan harddisk RAID Level 4 sangat baik (kira-kira sama dengan level 0). Untuk menulis akan membutuhkan update data parity setiap kali melakukan penulisan. Proses ini akan memperlambat proses write yang random, tapi untuk write data besar atau write yang berurut (sequensial) cukup cepat. Karena hanya satu harddisk dalam kumpulan harddisk yang digunakan untuk menyimpan data, biaya per Mbyte level 4 biasanya lumayan rendah.

RAID-5RAID Level 5 mirip dengan level 4, bedanya mendistribusi parity di semua harddisk. Teknik ini akan mempercepat proses write yang kecil di sistem multiproces, karena sekarang parity tidak lagi menjadi bottleneck, karena pembacaan parity harus di lewati pada setiap harddisk. Akan tetapi performance untuk membaca cenderung tidak sebaik dari kumpulan harddisk RAID level 4. Biaya per megabyte-nya kira-kira sama dengan RAID Level 4.

Masih ada beberapa level RAID lainnya, tapi secara umum ke berbagai RAID di atas yang sering digunakan.

Rangkuman RAID

  • RAID-0 paling cepat dan effisien, tapi tidak ada toleransi kepada kegagalan.
  • RAID-1 merupakan pilihan bagi mereka yang membutuhkan lingkungan fault-tolerant & operasi yang kritis. RAID-1 juga merupakan pilihan untuk fault-toleran dengan tidak lebih dari dua (2) harddisk.
  • RAID-2 pada hari ini jarang digunakan karena [[harddisk[[ modern umumnya telah menggunakan Error Correction Code di dalam-nya.
  • RAID-3 dapat digunakan untuk lingkungan single-user atau data intensive, yang biasanya mengakses data berurutan dengan record yang panjang. Tapi RAID-3 tidak memungkinkan operasi multiple I/O oleh karena itu dibutuhkan untuk sinkronisasi spindel harddisk agar tidak terjadi penurunan performance pada operasi record pendek.
  • RAID-4 tidak ada kelebihan di bandingkan RAID-5 & tidak mendukung operasi multiple write secara simultan.
  • RAID-5 merupakan pilihan terbaik untuk lingkungan multiuser yang tidak terlalu sensitif untuk performance write. Tapi, minimal tiga, atau biasanya lima (5) harddisk dibutuhkan pada RAID-5.

Sumber : Onno W. Purbo – Panduan Mudah Merakit+Menginstal server linux

Perihal ridhanu
I'm Network Engineer, Bankir, Born May 12, 1988 on Barabai. My twitter: @ridhanu, facebook: ridhanu@yahoo.co.id, mobile phone: 0852 4936 4064, email: ridhanu@gmail.com

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: