Istilah yang digunakan dalam tulisan ini
Striping : teknik yang digunkan untuk memecah data menjadi fragmen dan menuliskannya dalam media penyimpanan yang berbeda namun data yang terpisah tersebut dibaca seolah berasal dari satu disk yang besar.
Reliable : Sifat sistem yang mampu berjalan tanpa adanya kesalahan.
Available : Sifat sistem yang mampu berjalan ketika ada kesalahan.
Redundansi : Penggandaan komponen yang sama, biasanya sebagai back-up
Gambar digunakan untuk memudahkan pengertian, liat saja gambarnya, nanti langsung paham, hoho
Pengertian
RAID merupakan singkatan dari Redundant Array of Independent Disk
adalah konsep mewujudkan beberapa media penyimpanan fisik (harddisk/diskdrive) sedemikian sehingga secara logika kumpulan dari disk-disk ini terlihat sebagai sebuah media penyimpanan besar oleh sistem operasi. RAID dapat membagi maupun mereplika data diantara disk-disk yang ada. Sekarang, teknologi ini umum digunakan sebagai skema penyimpanan data dalam komputer. Dengan menggunakan RAID, disk-disk dikatakan berada dalam RAID array. Sistem Operasi akan melakukan sebuah pengalamatan besar menggunakan RAID array ini. RAID memiliki level-level arsitektur/skema yang berbeda untuk memperoleh perfoma yang diinginkan, umumnya level-level ini merupakan hasil dari perbedaan pembagian porsi dalam memperoleh data reliabilty dengan peningkatan performa I/O.
Level-Level RAID
Ada beberapa tipe/level RAID berdasarkan konsiderasi I/O performa dan reliabilitas data. Masing-masing dibagi kedalam nomor-nomor yang berurutan dimulai dari 0.
RAID 0 : non redundant / block-level striping without parity
RAID 0 merupakan non-redundant disk array, tidak memiliki redundansi sama sekali. skema ini memberikan peningkatan performa dan penambahan media penyimpanan namun tanpa toleransi fault. Semakin banyak disk yang digunakan semakin besar pula kemungkinan disk failurnya. peningkatan bandwidth namun memiliki resiko kehilangan data yang lebih besar. Biasanya digunakan untuk komputer yang membutuhkan performa dan kapasistas yang besar, bukan reliabilitas, seperti pada lingkungan super-computing. Data dibagi-bagi dan ditulis dalam satuan yang disebut blok-blok. urutan blok ini ditandai dengan stripe-size yang merupakan paramater konfigurasi array. masing-masing blok dituliskan pada disk yang berbeda secara simultan. ini memungkinkan bagian yang lebih kecil dari keseluruhan data untuk dibaca secara parallel dari drive-drive, sehingga performa I/Onya didapatkan.
RAID 1 : Mirrorring
Skema yang digunakan pada RAID 1 adalah mirrorring. data yang dituliskan pada satu drive akan diduplikasi atau dituliskan juga pada drive lainnya. pada umumnya skema ini diterapkan dengan 2 harddisk/diskdrive tapi aplikasi mengunakan 3 atau lebih disk drive juga memungkinkan. dengan skema ini didapatkan data yang reliable, kerusakan pada satu disk tidak akan mempengaruhi disk yang lain, sistem akan tetap bekerja selama salah satu disk berada dalam kondisi yang baik. kekurangannya adalah penurunan performa pada penulisan data.
RAID 2 : bit level striping with dedicated parity
Pada RAID2 data di stripe untuk beberapa disk dengan putaran disk yang sama, masing-masing bit data dimasukkan kedalam masing-masing disk, disertai dengan parity yang digunakan untuk melakukan identifikasi disk yang error/salah dan melakukan error recovery. bit level party pada RAID type ini diterapkan menggunakan Hamming Code. karena striping dan parity dilakukan pada level bit sesuai dengan Hamming Code maka dibutuhkan disk-disk khusus untuk menyimpan masing masing bit paritynya yang jumlahnya akan menyesuaikan dengan jumlah harddisk utama yang ingin digunakan. untuk keterangan mengenai Hamming Code dapat dipelajari di sini, sedangkan untuk parity dapat dibaca di sini. Dengan menerapkan Hamming Code ini maka fungsi error detection dan error correction dapat dilakukan. dibawah ini contoh penggunaan 4 disk yang membutuhkan tambahan 3 disk untuk penyimpanan bit-bit parity yang dibutuhkan pada RAID level 2.
RAID 3 : byte level striping with dedicated parity
RAID level 3 menggunakan disk controller yang dapat mendeteksi lokasi terjadinya disk fault dan hanya membutuhkan 1 harddisk tambahan yang digunakan untuk menyimpan parity. parity data ini digunakan untuk keperluan error recovery. RAID 3 menerapkan konsep byte-level striping, atau artinya sebuah file atau data akan (di-stripe) dibagi dan disimpan ke dalam harddisk dalam satuan byte untuk masing-masing disk. parity data dihitung dan disimpan pada sebuah disk. Dengan skema ini maka diperlukan 1 hadrdisk/diskdrive yang ditambahkan untuk keperluan parity. Keuntungan dari penggunaan skema ini adalah peningkatan performa I/O seperti pada konsep striping biasa, yaitu file diakses secara parallel pada disk-disk. Kekurangannya adalah dibutuhkannya disk kontroller berupa hardware ataupun software untuk melakukan striping ini, dengan adanya parity maka hardware harus memiliki spesfisifikasi kalkulasi yang baik, karena setiap penulisan data akan dihitung paritinya.
RAID 4 : block level striping with dedicated parity
RAID level 4 menggunakan konsep yang sama dengan RAID level 3 hanya saja pada RAID 4 striping dilakukan pada blok-blok yang ukurannya didefinisikan dalam stripe-size. ukuran masing-masing blok pada umumnya dalam satuan KiB. Stripe size yang ada biasanya dalam rentang 2KiB hingga 512 Kib, dengan ukuran yang diijinkan adalah dalam 2 pangkat x, (2, 4, 8, ... ) KiB. dengan ukuran blok seperti ini dan dedicated parity / parity yang disimpan khusus dalam sebuah drive dapat timbul bottleneck. Request pembacaan file yang ukurannya lebih kecil dari stripe-size akan mengakses hanya 1 disk. Request penulisan file harus melakukan update terhadap blok dan melakukan penghitungan parity. Untuk file besar yang penulisannya membutuhkan striping pada setiap disk (semua disk), maka perhitungan parity akan mudah dilakukan, sedang untuk penulisan file yang ukurannya lebih kecil dari 1 blok maka harus dilakukan pengaksesan dan penulisan pada blok yang telah ada. Perbandingan data baru dan data lama pada blok tersebut juga harus dilakukan untuk kemudian dituliskan parity-nya. Proses ini disebut juga read-modify-write procedure. Bottleneck dapat timbul karena pada setiap penulisan file, parity mungkin akan dihitung ulang dan diupdate, efeknya timbul pada pengaksesan secara lebih pada disk yang digunakan untuk khusus menyimpan parity.
RAID 5 : block level striping with distributed parity
RAID 5 mirip dengan RAID 4 dalam skema blok stripingnya, namun RAID 5 menggunakan parity yang didistribusikan ke dalam tiap disk, tentu saja untuk menghilangkan bottleneck yang mungkin timbul pada skema RAID 4. Skema ini memiliki performa yang paling baik untuk request pembacaan file kecil dan penulisan file yang berukuran besar. peningkatan performa pembacaan karena semua disk dapat berkontribusi dalam pengaksesan. Kekurangan dari skema ini adalah pada penulisan file berukuran kecil karena proses read, modify, write yang terjadi untuk penulisan file kecil. Prosedure ini juga mengakibatkan penulisan file kecil pada RAID 5 kurang efisien dibandingkan dengan mirrorring pada RAID 1.
contoh metode yang digunakan untuk menuliskan file pada blok-blok dan parity-nya adalah seperti pada gambar berikut :
RAID 6 : block level striping with double distributed parity
Double parity pada RAID 6 memungkinkan sistem untuk melakukan koreksi kesalahan yang terjadi pada 2 disk sekaligus, hal ini mungkin saja terjadi pada sistem besar yang sibuk. Skema ini memberikan tingkat reliabilitas data yang lebih tinggi. Kekurangan dari skema ini adalah penambahan pada prosedur read modify write yang sekarang dilakukan untuk 2 buah parity, sehingga membutuhkan waktu pemrosesan yang lebih lama. Skema seperti ini disebut P+Q redundancy, dan menggunakan Reed-Solomon code untuk implementasinya.
Penggunaan Istilah RAID
kelas diatas merupakan definisi umum dan lama yang dipakai untuk mendefenisikan RAID. Namun demikian kelas-kelas ini sering disalah artikan sebagai teknologi yang semakin baik , yaitu RAID 1 lebih baik dari RAID 0 atau RAID 6 merupakan teknologi yang paling baik daripada yang lainnya, padahal kenyataannya tidak demikian. Masing-masing level/skema RAID memiliki trade-off, kelebihan dan kekurangan, tergantung bagaimana pengguna ingin memperoleh performa seperti apa. Untuk menghilangkan asumsi yang salah ini maka kini didefinisian kelas-kelas baru untuk membedakan RAID berdasarkan fungisnya, availibility data, yaitu sbb :
- Failure-resistant disk systems (FRDS) (meets a minimum of criteria 1–6):
1. Protection against data loss and loss of access to data due to disk drive failure
2. Reconstruction of failed drive content to a replacement drive
3. Protection against data loss due to a "write hole"
4. Protection against data loss due to host and host I/O bus failure
5. Protection against data loss due to replaceable unit failure
6. Replaceable unit monitoring and failure indication
2. Reconstruction of failed drive content to a replacement drive
3. Protection against data loss due to a "write hole"
4. Protection against data loss due to host and host I/O bus failure
5. Protection against data loss due to replaceable unit failure
6. Replaceable unit monitoring and failure indication
- Failure-tolerant disk systems (FTDS) (meets a minimum of criteria 7–15 ):
7. Disk automatic swap and hot swap
8. Protection against data loss due to cache failure
9. Protection against data loss due to external power failure
10. Protection against data loss due to a temperature out of operating range
11. Replaceable unit and environmental failure warning
12. Protection against loss of access to data due to device channel failure
13. Protection against loss of access to data due to controller module failure
14. Protection against loss of access to data due to cache failure
15. Protection against loss of access to data due to power supply failure
8. Protection against data loss due to cache failure
9. Protection against data loss due to external power failure
10. Protection against data loss due to a temperature out of operating range
11. Replaceable unit and environmental failure warning
12. Protection against loss of access to data due to device channel failure
13. Protection against loss of access to data due to controller module failure
14. Protection against loss of access to data due to cache failure
15. Protection against loss of access to data due to power supply failure
- Disaster-tolerant disk systems (DTDS) (meets a minimum of criteria 16–21):
16. Protection against loss of access to data due to host and host I/O bus failure
17. Protection against loss of access to data due to external power failure
18. Protection against loss of access to data due to component replacement
19. Protection against loss of data and loss of access to data due to multiple disk failure
20. Protection against loss of access to data due to zone failure
21. Long-distance protection against loss of data due to zone failure
17. Protection against loss of access to data due to external power failure
18. Protection against loss of access to data due to component replacement
19. Protection against loss of data and loss of access to data due to multiple disk failure
20. Protection against loss of access to data due to zone failure
21. Long-distance protection against loss of data due to zone failure
meskipun demikian 6 kelas RAID dapat menjelaskan secara umum konsep-konsep dasar yang ada pada skema RAID dan masih digunakan hingga sekarang.
Kesimpulan
RAID merupakan teknologi yang memberikan solusi terhadap masalah ketersediaan ukuran, reliablitias data, dan performa I/O media penyimpanan. Secara konsep masing-masing RAID memiliki kelebihan dan kekurangan yang merupakan trade-off dari kecepatan, kualitas, dan harga. Pemilihan dan penggunaan RAID sebaiknya disesuaikan dengan performa yang ingin diperoleh dan budjet yang ada, sehingga bisa tepat sasaran ^^..
referensi :
No comments:
Post a Comment