Monday, October 24, 2011

What is RAID? How RAID works?

RAID (Redundant Array of Independent Disks) adalah suatu cara untuk meningkatkan unjuk kerja dan reliabilitas media penyimpanan eksternal dengan memanfaatkan redundancy. Hal tersebut dilakukan dengan jalan menggabungkan beberapa disk menjadi sebuah logical disk dan mendistribusikan data ke setiap disk di dalamnya. Lho bukankah sekarang harddisk kapasitasnya sudah sangat besar dan mencukupi??

Ceritanya, teknologi ini lahir tahun 1990an. Ketika itu komputer-komputer server mengalami lonjakan data yang harus disimpan. Sementara itu jika harus meningkatkan kapasitas penyimpanan masih membutuhkan biaya yang sangat besar. Nah, RAID hadir dan menjadi solusi murah tanpa mengorbankan performansi komputer tersebut. Jika jaman dahulu RAID banyak digunakan untuk enterprise and server markets namun pada tahun 2000 awal sudah banyak dimanfaatkan oleh kalangan end-user.

Tiga alasan utama menggunakan teknologi RAID :
  1. Redundancy
    Redundancy merupakan faktor penting pada pengembangan RAID di server. Mengapa? Karena redundancy digunakan untuk menyimpan informasi paritas untuk menjaga agar data dapat di-recover jika terjadi kegagalan disk. Jika salah satu disk mengalami kegagalan, maka dapat ditukar dengan disk rendundant-nya tanpa harus mematikan sistem (hot-swappable). Metode redundancy tergantung pada versi RAID yang digunakan.
  2. Peningkatan performansi komputer
  3. Murah
    Bisa anda bandingkan, membeli harddisk baru yang lebih besar kapasitasnya cost yang diperlukan lebih besar daripada membeli 2 atau (mungkin) 3 harddisk baru (apalagi second) yang kapasitasnya sama.
Ada tujuh metode RAID, RAID 0 - RAID 6. Akan tetapi hanya tiga model sistem RAID yang biasa digunakan pada desktop komputer adalah : RAID 0, RAID 1 dan RAID 5. Dalam RAID, data didistribusikan menggunakan skema yang disebut striping. Dengan metode striping ini data tampak seolah-olah disimpan pada sebuah logical disk. Logical disk tersebut dibagi-bagi menjadi yang disebut sebagai strips yang bisa jadi berupa blok atau sektor yang ada secara fisik. Strips dipetakan secara round-robin pada disk-disk fisik dalam array RAID secara berurutan. Dengan memanfaatkan metode striping ini, maka data pada RAID dapat diakses secara paralel.
  • RAID 0
    RAID 0 sebenarnya tidak sepenuhnya mengimplementasikan karakteristik RAID, karena RAID 0 tidak memanfaatkan redundancy. RAID 0 menggunakan block-level striping tanpa pemanfaatan paritas ataupun mirroring. Dengan kata lain, RAID 0 dapat meningkatkan unjuk kerja namun tidak
    menyediakan fault tolerance, sehingga apabila salah satu drive mengalami kegagalan, seluruh data bisa rusak.

    Mengapa striping bisa meningkatkan performance? Karena, strips menulis ke dalam dua drive dengan jumlah data yang lebih banyak dua kali lipat dibandingkan dengan menulis jumlah data yang sama ke dalam single drive. Di bawah ini, adalah contoh bagaimana data ditulis dengan RAID 0. Setiap baris pada tabel menunjukkan physical block pada drive dan setiap kolom adalah identitas drive. Angka pada tabel menunjukkan blok data. Jika terdapat angka ganda (duplicate number), itu berarti menunjukkan duplikat blok data.
    Semua blok (6 block data) dibutuhkan untuk file, tapi hanya tiga yang dapat diakses, karena setiap drive bekerja secara paralel, dan hanya dapat membaca 3 physical blocks.
  • RAID 1
    RAID 1 adalah contoh RAID yang sebenarnya. RAID 1 memberikan contoh sederhana redundancy data melalui proses yang disebut mirroring. RAID 1 membutuhkan dua drive yang kapasitasnya sama. Satu drive sebagai drive aktif dan drive kedua berfungsi sebagai mirror. Ketika data ditulis ke drive aktif, data yang sama dikopikan ke drive mirror. Di bawah ini adalah contoh bagaimana data ditulis dengan implementasi RAID 1.
    Duplikat number menunjukkan duplikasi blok data. Dari gambar terlihat full level redundancy data pada sistem. Jika satu drive gagal, drive yang lain masih memiliki semua data yang terdapat pada sistem. Keuntungannya : RAID 1 sukses menduplikasi data dengan teknik mirror. Kelemahannya : RAID 1 tidak efektif dalam memperbesar kapasitas.
  • RAID 5
    RAID 5 merupakan the most powerful form of RAID in a desktop computer system. Biasanya, RAID 5 membutuhkan kartu hardware controller untuk me-manage array. Tapi pada beberapa OS dapat mengontrolnya menggunakan software. RAID 5 membutuhkan minimal 3 drive yang identik untuk mendapatkan best performance. RAID 5 menggunakan stripping dengan parity untuk menjaga redundancy data.

    Parity pada dasarnya adalah bentuk matematika biner yang membandingkan dua blok data. Jika jumlah dua blok data adalah genap, maka parity bit juga genap. Sebaliknya jika jumlah dua blok adalah ganjil maka bit parity juga ganjil. Jadi 0+0 dan 1+1 keduanya sama dengan 0, sedangkan 0+1 atau 1+0 sama dengan 1. Karenanya jika terjadi kegagalan pada satu drive dalam array, parity bit akan melakukan rekonstruksi data ketika drive diganti.

    Berdasarkan bentuk RAID 5 yang digambarkan pada tabel di atas, setiap angka pada cell menandakan blok data. "P" adalah parity bit untuk dua blok data.
    Kapasitas array drive mengikuti rumus berikut :
    (n-1)z = Array Capacity
    dimana n : jumlah drive sedangkan z : kapasitas harddisk.
    Misal, terdapat 3 harddisk 500 GB, maka total kapasitas array adalah :
    (3-1) x 500 GB or 1000 GB
    RAID 5 juga memiliki fungsi hot swap. Fungsi ini menjadi fitur berharga untuk sistem yang memerlukan operasi 24x7.

    Keuntungannya : Meningkatkan performa array penyimpan, Full data redundancy, Kemampuan untuk menjalankan 24x7 dengan hot swap Kelemahannya : mahal, tingkat performa menurun selama proses rebuilding
Kesimpulan :
Secara keseluruhan RAID memberikan beberapa keuntungan (tergantung dari versi RAID yang diimplementasikan). End user level akan lebih senang menggunakan RAID 0 untuk menaikkan performa tanpa mengurangi kapasitas ruang penyimpanan. Hal ini karena redundancy bukan masalah utama bagi kebanyakan user.

Sedangkan biaya untuk mengimplementasikan RAID 0+1 atau RAID 5 masih terlalu mahal dan hanya akan ditemukan pada high-end workstation atau pada level server.

Kesimpulan pada tabel :

Sumber :
  • http://compreviews.about.com/od/storage/l/aaRAIDPage1.htm
  • Stallings,W. Computer Organization and Architecture: Designing for Performance. Prentice Hall. 2010.

    No comments:

    Post a Comment