Senin, 22 April 2013

Karakteristik Dan Cara Kerja Dari RAID

    
        RAID merupakan kependekan dari “Redundant Array of Independent Disk”. Konsep RAID diciptakan untuk mendapatkan kapasitas yang lebih besar dan/atau Fault tolerance yang disebabkan oleh kerusakan Harddisk. Fault Tolerance adalah kemampuan dari suatu system untuk dapat tetap berfungsi meskipun mengalami kegagalan. 
            RAID menggabungkan beberapa hard disk fisik ke dalam sebuah unit logis penyimpanan, dengan menggunakan perangkat lunak atau perangkat keras khusus. Solusi perangkat keras umumnya didesain untuk mendukung penggunaan beberapa hard disk secara sekaligus, dan sistem operasi tidak perlu mengetahui bagaimana cara kerja skema RAID tersebut. Sementara itu, solusi perangkat lunak umumnya diimplementasikan di dalam level sistem operasi, dan tentu saja menjadikan beberapa hard disk menjadi sebuah kesatuan logis yang digunakan untuk melakukan penyimpanan.
Ada beberapa konsep kunci di dalam RAID: mirroring (penyalinan data ke lebih dari satu buah hard disk), striping (pemecahan data ke beberapa hard disk) dan juga koreksi kesalahan, di mana redundansi data disimpan untuk mengizinkan kesalahan dan masalah untuk dapat dideteksi dan mungkin dikoreksi (lebih umum disebut sebagai teknik fault tolerance/toleransi kesalahan).
        Level-level RAID yang berbeda tersebut menggunakan salah satu atau beberapa teknik yang disebutkan di atas, tergantung dari kebutuhan sistem. Tujuan utama penggunaan RAID adalah untuk meningkatkan keandalan/reliabilitas yang sangat penting untuk melindungi informasi yang sangat kritis untuk beberapa lahan bisnis, seperti halnya basis data, atau bahkan meningkatkan kinerja, yang sangat penting untuk beberapa pekerjaan, seperti halnya untuk menyajikan video on demand ke banyak penonton secara sekaligus.
           Struktur RAID itu sendiri dimana Disk memiliki resiko untuk mengalami kerusakan. Kerusakan ini dapat berakibat turunnya kinerja atau pun hilangnya data. Meski pun terdapat backup data, tetap saja ada kemungkinan data yang hilang karena adanya perubahan setelah terakhir kali data di-backup. Karenanya reliabilitas dari suatu disk harus dapat terus ditingkatkan.
             Berbagai macam cara dilakukan untuk meningkatkan kinerja dan juga reliabilitas dari disk. Biasanya untuk meningkatkan kinerja, dilibatkan banyak disk sebagai satu unit penyimpanan. Tiap-tiap blok data dipecah ke dalam beberapa subblok, dan dibagi-bagi ke dalam disk-disk tersebut. Ketika mengirim data disk-disk tersebut bekerja secara paralel, sehingga dapat meningkatkan kecepatan transfer dalam membaca atau menulis data. Ditambah dengan sinkronisasi pada rotasi masing-masing disk, maka kinerja dari disk dapat ditingkatkan. Cara ini dikenal sebagai RAID. Selain masalah kinerja RAID juga dapat meningkatkan realibilitas dari disk dengan jalan melakukan redundansi data.
              Tiga karakteristik umum dari RAID ini, yaitu :
1. RAID adalah sekumpulan disk drive yang dianggap sebagai sistem tunggal disk.
2. Data didistribusikan ke drive fisik array.
3. Kapasitas redunant disk digunakan untuk menyimpan informasi paritas, yang menjamin recoveribility data ketika terjadi masalah atau kegagalan disk.
           Jadi, RAID merupakan salah satu jawaban masalah kesenjangan kecepatan disk memori dengan CPU dengan cara menggantikan disk berkapasitas besar dengan sejumlah disk-disk berkapasitas kecil dan mendistribusikan data pada disk-disk tersebut sedemikian rupa sehingga nantinya dapat dibaca kembali.   
               RAID dapat dibagi menjadi 8 level yang berbeda :
Gambar:  RAID 0 + 1 dan 1 + 0
RAID level pertama: mirroring
RAID level kedua : Koreksi kesalahan dengan menggunakan kode Humming.
RAID level ketiga : Pengecekan terhadap disk tunggal di dalam sebuah kelompok disk.
RAID level keempat: Pembacaan dan penulisan secara independen
RAID level kelima : Menyebarkan data dan paritas ke semua drive (tidak ada pengecekan terhadap disk tunggal)
              Berdasarkan refensi yang kami dapat, ada 3 macam metode RAID berdasarkan kegunaannya yang dapat digunakan, yaitu:
RAID 0 (metode Striping)
RAID 1 (metode Mirroring)
RAID 0+1 (metode Striping + Mirroring)
RAID 0 (untuk kecepatan)

     Level RAID
1.  RAID level 0
     RAID level 0 menggunakan kumpulan disk dengan striping pada level blok, tanpa redundansi. Jadi hanya menyimpan melakukan striping blok data ke dalam beberapa disk. Level ini sebenarnya tidak termasuk ke dalam kelompok RAID karena tidak menggunakan redundansi untuk peningkatan kinerjanya.
    Sebenarnya bukan RAID karena tidak menggunakan redundansi dalam meningkatkan kinerjanya. Data didistribusikan pada seluruh disk secara array merupakan keuntungan daripada menggunakan satu disk berkapasitas besar. Sejalan perkembangan RAID – 0 menjadi model data strip pada disk dengan suatu management tertentu hingga data sistem data dianggap tersimpan pada suatu 58 disk logik. Mekanisme tranfer data dalam satu sektor sekaligus sehingga hanya baik untuk menangani transfer data besar.
     RAID 0 yg dikenal juga dgn metode Striping digunakan utk mempercepat kinerja hardisk. Kapasitas total hardisk pada metode ini adalah jumlah kapasitas hardisk pertama ditambah hardisk kedua. Metodenya dilakukan dengan cara membagi data secara terpisah ke dua buah hardisk. Jadi separuh data ditulis ke hardisk pertama dan separuhnya lagi ditulis ke hardisk kedua. Secara teoritis cara ini akan mempercepat penulisan/pembacaan harddisk. Keburukan dari cara ini adalah apabila salah satu hardisk rusak maka seluruh data akan hilang.
    Disk Striping mengijinkan kita untuk menulis data ke beberapa Harddisk daripada menulis data ke satu Harddisk saja. Dengan Disk Striping, setiap Harddisk fisik akan dibagi menjadi beberapa elemen stripe (berkisar antara 8 KB, 16 KB, 32 KB, 64 KB, 128 KB, 256KB, 512KB, to 1024KB). Setiap bagian stripe dalam setiap Harddisk disebut strip.
Disk Striping dapat meningkatkan kinerja karena pengaksesan data diakses dengan lebih dari satu harddisk, sehingga lebih banyak spindle disk yang bekerja dalam melayani I/O data. Namun Disk Striping (RAID 0) tidak memiliki data redundancy / proteksi data terhadap kerusakan harddisk, karena semua data ditulis langsung apa adanya ke semua Harddisk.

Dari sisi kapasitas, maka RAID 0 kita dapat menggunakan 100% dari total jumlah kapasitas harddisk yang terpasang.
Contoh: 4 unit Harddisk 300GB RAID 0 akan menghasilkan total kapasitas yang dapat digunakan sebesar
1.2TB
2.   RAID level 1
      RAID level 1 ini merupakan disk mirroring, menduplikat setiap disk. Cara ini dapat meningkatkan kinerja disk, tetapi jumlah disk yang dibutuhkan menjadi dua kali lipat, sehingga biayanya menjadi sangat mahal. Pada level 1 (disk duplexing dan disk mirroring) data pada suatu partisi hard disk disalin ke sebuah partisi di hard disk yang lain sehingga bila salah satu rusak , masih tersedia salinannya di partisi mirror.
    RAID 1 yang dikenal juga dengan metode Mirroring digunakan untuk mendapatkan keamanan data (backup). Metodenya dilakukan dengan cara menyalin isi harddisk pertama ke harddisk kedua. Jadi apa yang ditulis pada hardisk pertama akan juga ditulis di hardisk kedua. Apabila salah satu hardisk rusak, maka data pada hardisk yang satunya masih ada. Keburukan dari cara ini adalah tidak adanya peningkatan kinerja sama sekali, performannya malah akan sedikit lebih pelan dibanding performan hardisk single (non-RAID). Selain itu kapasitas total yang anda dapat dengan metode ini hanyalah sebesar kapasatitas satu hardisk saja.
     RAID 1 (Disk Mirroring) bekerja dengan prinsip cermin, yaitu berpasang-pasangan dan identik antara satu dengan yang lainnya. Jadi dengan RAID 1, data yang ditulis ke satu Harddisk secara simultan ditulis juga ke Harddisk yang lainnya. Sehingga jika terjadi kerusakan 1 Harddisk pada RAID 1, system server masih memiliki data cadangan di harddisk yang lainnya. Dan pada saat Harddisk yang rusak diganti dengan yang baru, maka secara otomatis, harddisk pengganti yang baru dipasang akan melakukan sinkronisasi data dengan harddisk yang masih berfungsi (rebuilding) Keuntungan dari RAID 1 adalah data memiliki cadangan antara yang ada di harddisk yang satu dengan yang lainnya. Dan karena isi dari kedua Harddisk tersebut adalah identik, tidak jadi masalah harddisk yang mana yang boleh rusak selama pada suatu saat hanya satu Harddisk yang rusak, sampai proses sinkronisasi berikutnya selesai.

Dari sisi kapasitas, maka RAID 1 kita akan hanya memiliki kapasitas harddisk yang dapat digunakan sebanyak 50% dari total kapasitas Harddisk yang terpasang
Contoh: 4 unit Harddisk 300GB RAID 1 akan menghasilkan total kapasitas yang dapat digunakan sebesar 600GB.
3.  RAID level 2
    RAID – 2 mengganakan teknik akses paralel untuk semua disk. Dalam proses operasinya, seluruh disk berpartisipasi dan mengeksekusi setiap permintaan sehingga terdapat mekanisme sinkronisasi perputaran disk dan headnya. Teknologi stripping juga digunakan dalam tingkat ini, hanya stripnya berukuran kecil, sering kali dalam ukuran word atau byte. Koreksi kesalahan menggunakan sistem bit paritas dengan kode Hamming. Cocok digunakan untuk menangani sistem yang kerap mengalami kesalahan disk.
    RAID level 2 ini merupakan pengorganisasian dengan error-correcting-code (ECC). Seperti pada memori di mana pendeteksian terjadinya error menggunakan paritas bit. Setiap byte data mempunyai sebuah paritas bit yang bersesuaian yang merepresentasikan jumlah bit di dalam byte data tersebut di mana paritas bit=0 jika jumlah bit genap atau paritas=1 jika ganjil. Jadi, jika salah satu bit pada data berubah, paritas berubah dan tidak sesuai dengan paritas bit yang tersimpan. Dengan demikian, apabila terjadi kegagalan pada salah satu disk, data dapat dibentuk kembali dengan membaca error-correction bit pada disk lain.
4.   RAID level 3
    RAID level 3 diorganisasikan mirip dengan RAID – 2, perbedaannya pada RAID – 3 hanya membutuhkan disk redudant tunggal, tidak tergantung jumlah array disknya. Bit paritas dikomputasikan untuk setiap data word dan ditulis pada disk paritas khusus. Saat terjadi kegagalan drive, data disusun kembali dari sisa data yang masih baik dan dari informasi paritasnya. RAID – 3 menggunakan akses paralel dengan data didistribusikan dalam bentuk strip – strip kecil. Kinerjanya menghasilkan transfer berkecepatan tinggi, namun hanya dapat 59 mengeksekusi sebuah permintaan I/O saja sehingga kalau digunakan pada lingkungan transaksi data tinggi terjadi penurunan kinerja.
 
5. RAID level 4
   RAID – 4 menggunakan teknik akses yang independen untuk setiap disknya sehingga permintaan baca atau tulis dilayani secara paralel. RAID ini cocok untuk menangani sistem dengan kelajuan tranfer data yang tinggi. Tidak memerlukan sinkronisasi disk karena setiap disknya beroperasi secara independen. Stripping data dalam ukuran yang besar. Strip paritas bit per bit dihitung ke seluruh strip yang berkaitan pada setiap disk data. Paritas disimpan pada disk paritas khusus. Saat operasi penulisan, array management software tidak hanya meng-update data tetapi juga paritas yang terkait. Keuntungannya dengan disk paritas yang khusus menjadikan keamanan data lebih terjamin, namun dengan disk paritas yang terpisah akan memperlambat kinerjanya.
   RAID level 4 merupakan pengorganisasian dengan paritas blok interleaved, yaitu menggunakan striping data pada level blok, menyimpan sebuah paritas blok pada sebuah disk yang terpisah untuk setiap blok data pada disk-disk lain yang bersesuaian. Jika sebuah disk gagal, blok paritas tersebut dapat digunakan untuk membentuk kembali blok-blok data pada disk yang gagal tadi. Kecepatan transfer untuk membaca data tinggi, karena setiap disk-disk data dapat diakses secara paralel. Demikian juga dengan penulisan, karena disk data dan paritas dapat ditulis secara paralel.
6.  RAID level 5
   RAID level 5 merupakan pengorganisasian dengan paritas blok interleaved tersebar. Data dan paritas disebar pada semua disk termasuk sebuah disk tambahan. Pada setiap blok, salah satu dari disk menyimpan paritas dan disk yang lainnya menyimpan data. Sebagai contoh, jika terdapat kumpulan dari 5 disk, paritas blok ke n akan disimpan pada disk (n mod 5) + 1; blok ke n dari empat disk yang lain menyimpan data yang sebenarnya dari blok tersebut. Sebuah paritas blok tidak menyimpan paritas untuk blok data pada disk yang sama, karena kegagalan sebuah disk akan menyebabkan data hilang bersama dengan paritasnya dan data tersebut tidak dapat diperbaiki. Penyebaran paritas pada setiap disk ini menghindari penggunaan berlebihan dari sebuah paritas disk seperti pada RAID level 4.
kemungkinannya

Dari sisi kapasitas, maka RAID 5 kita akan memiliki kapasitas harddisk yang dapat digunakan sebanyak (N-1) x Kapasitas HDD dari total kapasitas Harddisk yang terpasang, dimana N adalah jumlah Harddisk.
Contoh:
• 3 unit Harddisk 300GB RAID 5 akan menghasilkan total kapasitas yang dapat digunakan sebesar 600GB.
• 4 unit Harddisk 300GB RAID 5 akan menghasilkan total kapasitas yang dapat digunakan sebesar 900GB.
• 5 unit Harddisk 300GB RAID 5 akan menghasilkan total kapasitas yang dapat digunakan sebesar 1.2TB, dst.

7. RAID level 6
    RAID level 6 merupakan teknologi RAID terbaru. Menggunakan metode penghitungan dua paritas untuk alasan keakuratan dan antisipasi terhadap koreksi kesalahan. Seperti halnya RAID – 5, paritas tersimpan pada disk lainnya. Memiliki kecepatan transfer yang tinggi.
    RAID level 6 disebut juga redundansi P+Q, seperti RAID level 5, tetapi menyimpan informasi redundan tambahan untuk mengantisipasi kegagalan dari beberapa disk sekaligus. RAID level 6 melakukan dua perhitungan paritas yang berbeda, kemudian disimpan di dalam blok-blok yang terpisah pada disk-disk yang berbeda. Jadi, jika disk data yang digunakan sebanyak n buah disk, maka jumlah disk yang dibutuhkan untuk RAID level 6 ini adalah n+2 disk. Keuntungan dari RAID level 6 ini adalah kehandalan data yang sangat tinggi, karena untuk menyebabkan data hilang, kegagalan harus terjadi pada tiga buah disk dalam interval rata-rata untuk perbaikan data (Mean Time To Repair atau MTTR). Kerugiannya yaitu penalti waktu pada saat penulisan data, karena setiap penulisan yang dilakukan akan mempengaruhi dua buah paritas blok.
kemungkinannya

Dari sisi kapasitas, maka RAID 6 kita akan memiliki kapasitas harddisk yang dapat digunakan sebanyak (N-2) x Kapasitas HDD dari total kapasitas Harddisk yang terpasang, dimana N adalah jumlah Harddisk.
Contoh:
• 4 unit Harddisk 300GB RAID 6 akan menghasilkan total kapasitas yang dapat digunakan sebesar 600GB.
• 5 unit Harddisk 300GB RAID 6 akan menghasilkan total kapasitas yang dapat digunakan sebesar 900GB.
• 6 unit Harddisk 300GB RAID 6 akan menghasilkan total kapasitas yang dapat digunakan sebesar 1.2TB, dst.

daftar pustaka :
1. http://nasari.wordpress.com/2010/04/30/pengertian-raid/
2. http://adyt.blog.unsoed.ac.id/category/organisasi-dan-arsitektur-komputer/
3. http://oobelix7.blogspot.com/2012/10/cara-kerja-raid.html