Sejarah
Pada tahun 1978, Norman Ken Ouchi dari International Business Machines
(IBM) dianugerahi paten Amerika Serikat dengan nomor 4092732 dengan judul
“System for recovering data stored in failed memory unit”. Klaim untuk paten
ini menjelaskan mengenai apa yang kemudian dikenal sebagai RAID 5. Istilah RAID
pertama kali didefinisikan oleh David A. Patterson, Garth A. Gibson dan Randy
Katz dari University of California, Barkeley, Amerika Serikat pada tahun 1987,
yaitu 9 tahun setelah paten yang dimiliki oleh Norman Ken Ouchi. Mereka bertiga
mempelajari tentang kemungkinan penggunaan dua hard disk atau lebih agar terlihat
sebagai sebuah perangkat tunggal oleh sistem yang menggunakannya, dan mereka
kemudian mempublikasikannya ke dalam bentuk sebuah paper berjudul “A case for
Redundant Arrays of Inexpensive Disks (RAID)” pada bulan Juni 1988 pada saat
konferensi SIGMOD. Spesifikasi tersebut menyodorkan beberapa RAID level atau
kombinasi dari drive-drive tersebut. Setiap RAID level tersebut secara teoritis
memiliki kelebihan dan kekurangan. Satu tahun berselang, implementasi RAID pun
mulai banyak muncul ke permukaan. Sebagian besar implementasi tersebut memang
secara substansial berbeda dengan RAID level yang asli yang dibuat oleh
Patterson dan kawan-kawan, tapi implementasi tersebut menggunakan nomor yang
sama dengan apa yang ditulis oleh Patterson.
Seiring dengan perkembangan zaman, level dan implementasi RAID pun berkembang. Oleh karena itu, penulis menyusun sebuah makalah dengan judul “Konsep RAID dan Impelementasinya” agar dapat mengetahui level dan implementasi RAID pada saat sekarang.
A. Pengertian RAID
RAID, singkatan dari Redundant Array of Independent Disks merujuk kepada sebuah teknologi di dalam penyimpanan data komputer yang digunakan untuk mengimplementasikan fitur toleransi kesalahan pada media penyimpanan komputer (terutama hard disk) dengan menggunakan cara redundansi (penumpukan) data, baik itu dengan menggunakan perangkat lunak, maupun unit perangkat keras RAID terpisah. Kata “RAID” juga memiliki beberapa singkatan Redundant Array of Inexpensive Disks, Redundant Array of Independent Drives, dan juga Redundant Array of Inexpensive Drives. Teknologi ini membagi atau mereplikasi data ke dalam beberapa hard disk terpisah. RAID didesain untuk meningkatkan keandalan data dan meningkatkan kinerja I/O dari hard disk.
RAID juga merupakan organisasi disk memori yang mampu menangani beberapa disk dengan sistem akses paralel dan redudansi ditambahkan untuk meningkatkan reliabilitas. Kerja paralel ini menghasilkan resultan kecepatan disk yang lebih cepat.
B. Konsep RAID
Sejak pertama kali diperkenalkan, RAID dibagi ke dalam beberapa skema, yang disebut dengan “RAID Level“. Pada awalnya, ada lima buah RAID level yang pertama kali dikonsepkan, tetapi seiring dengan waktu, level-level tersebut berevolusi, yakni dengan menggabungkan beberapa level yang berbeda dan juga mengimplementasikan beberapa level proprietary yang tidak menjadi standar RAID.
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.
Konfigurasi RAID yang berbeda-beda akan memiliki pengaruh yang berbeda pula pada keandalan dan juga kinerja. Masalah yang mungkin terjadi saat menggunakan banyak disk adalah salah satunya akan mengalami kesalahan, tapi dengan menggunakan teknik pengecekan kesalahan, sistem komputer secara keseluruhan dibuat lebih andal dengan melakukan reparasi terhadap kesalahan tersebut dan akhirnya “selamat” dari kerusakan yang fatal.
Teknik mirroring dapat meningkatkan proses pembacaan data mengingat sebuah sistem yang menggunakannya mampu membaca data dari dua disk atau lebih, tapi saat untuk menulis kinerjanya akan lebih buruk, karena memang data yang sama akan dituliskan pada beberapa hard disk yang tergabung ke dalam larik tersebut.
Teknik striping, bisa meningkatkan performa, yang mengizinkan sekumpulan data dibaca dari beberapa hard disk secara sekaligus pada satu waktu, akan tetapi bila satu hard disk mengalami kegagalan, maka keseluruhan hard disk akan mengalami inkonsistensi. Teknik pengecekan kesalahan / koreksi kesalahan juga pada umumnya akan menurunkan kinerja sistem, karena data harus dibaca dari beberapa tempat dan juga harus dibandingkan dengan checksum yang ada. Maka, desain sistem RAID harus mempertimbangkan kebutuhan sistem secara keseluruhan, sehingga perencanaan dan pengetahuan yang baik dari seorang administrator jaringan sangatlah dibutuhkan. Larik-larik RAID modern umumnya menyediakan fasilitas bagi para penggunanya untuk memilih konfigurasi yang diinginkan dan tentunya sesuai dengan kebutuhan.
Beberapa sistem RAID dapat didesain untuk terus berjalan, meskipun terjadi kegagalan. Beberapa hard disk yang mengalami kegagalan tersebut dapat diganti saat sistem menyala (hot-swap) dan data dapat diperbaiki secara otomatis. Sistem lainnya mungkin mengharuskan shutdown ketika data sedang diperbaiki. Karenanya, RAID sering digunakan dalam sistem-sistem yang harus selalu on-line, yang selalu tersedia (highly available), dengan waktu down-time yang, sebisa mungkin, hanya beberapa saat saja.
C. Struktur RAID
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.
D. Level RAIDRAID dapat dibagi menjadi 8 level yang berbeda :
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.
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.
3. RAID level 2
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 merupakan pengorganisasian dengan paritas bit interleaved. Pengorganisasian ini hampir sama dengan RAID level 2, perbedaannya adalah RAID level 3 ini hanya memerlukan sebuah disk redundan, berapapun jumlah kumpulan disk-nya. Jadi tidak menggunakan ECC, melainkan hanya menggunakan sebuah bit paritas untuk sekumpulan bit yang mempunyai posisi yang sama pada setiap disk yang berisi data. Selain itu juga menggunakan data striping dan mengakses disk-disk secara paralel.
5. RAID level 4
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.
Seiring dengan perkembangan zaman, level dan implementasi RAID pun berkembang. Oleh karena itu, penulis menyusun sebuah makalah dengan judul “Konsep RAID dan Impelementasinya” agar dapat mengetahui level dan implementasi RAID pada saat sekarang.
A. Pengertian RAID
RAID, singkatan dari Redundant Array of Independent Disks merujuk kepada sebuah teknologi di dalam penyimpanan data komputer yang digunakan untuk mengimplementasikan fitur toleransi kesalahan pada media penyimpanan komputer (terutama hard disk) dengan menggunakan cara redundansi (penumpukan) data, baik itu dengan menggunakan perangkat lunak, maupun unit perangkat keras RAID terpisah. Kata “RAID” juga memiliki beberapa singkatan Redundant Array of Inexpensive Disks, Redundant Array of Independent Drives, dan juga Redundant Array of Inexpensive Drives. Teknologi ini membagi atau mereplikasi data ke dalam beberapa hard disk terpisah. RAID didesain untuk meningkatkan keandalan data dan meningkatkan kinerja I/O dari hard disk.
RAID juga merupakan organisasi disk memori yang mampu menangani beberapa disk dengan sistem akses paralel dan redudansi ditambahkan untuk meningkatkan reliabilitas. Kerja paralel ini menghasilkan resultan kecepatan disk yang lebih cepat.
B. Konsep RAID
Sejak pertama kali diperkenalkan, RAID dibagi ke dalam beberapa skema, yang disebut dengan “RAID Level“. Pada awalnya, ada lima buah RAID level yang pertama kali dikonsepkan, tetapi seiring dengan waktu, level-level tersebut berevolusi, yakni dengan menggabungkan beberapa level yang berbeda dan juga mengimplementasikan beberapa level proprietary yang tidak menjadi standar RAID.
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.
Konfigurasi RAID yang berbeda-beda akan memiliki pengaruh yang berbeda pula pada keandalan dan juga kinerja. Masalah yang mungkin terjadi saat menggunakan banyak disk adalah salah satunya akan mengalami kesalahan, tapi dengan menggunakan teknik pengecekan kesalahan, sistem komputer secara keseluruhan dibuat lebih andal dengan melakukan reparasi terhadap kesalahan tersebut dan akhirnya “selamat” dari kerusakan yang fatal.
Teknik mirroring dapat meningkatkan proses pembacaan data mengingat sebuah sistem yang menggunakannya mampu membaca data dari dua disk atau lebih, tapi saat untuk menulis kinerjanya akan lebih buruk, karena memang data yang sama akan dituliskan pada beberapa hard disk yang tergabung ke dalam larik tersebut.
Teknik striping, bisa meningkatkan performa, yang mengizinkan sekumpulan data dibaca dari beberapa hard disk secara sekaligus pada satu waktu, akan tetapi bila satu hard disk mengalami kegagalan, maka keseluruhan hard disk akan mengalami inkonsistensi. Teknik pengecekan kesalahan / koreksi kesalahan juga pada umumnya akan menurunkan kinerja sistem, karena data harus dibaca dari beberapa tempat dan juga harus dibandingkan dengan checksum yang ada. Maka, desain sistem RAID harus mempertimbangkan kebutuhan sistem secara keseluruhan, sehingga perencanaan dan pengetahuan yang baik dari seorang administrator jaringan sangatlah dibutuhkan. Larik-larik RAID modern umumnya menyediakan fasilitas bagi para penggunanya untuk memilih konfigurasi yang diinginkan dan tentunya sesuai dengan kebutuhan.
Beberapa sistem RAID dapat didesain untuk terus berjalan, meskipun terjadi kegagalan. Beberapa hard disk yang mengalami kegagalan tersebut dapat diganti saat sistem menyala (hot-swap) dan data dapat diperbaiki secara otomatis. Sistem lainnya mungkin mengharuskan shutdown ketika data sedang diperbaiki. Karenanya, RAID sering digunakan dalam sistem-sistem yang harus selalu on-line, yang selalu tersedia (highly available), dengan waktu down-time yang, sebisa mungkin, hanya beberapa saat saja.
C. Struktur RAID
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.
D. Level RAIDRAID dapat dibagi menjadi 8 level yang berbeda :
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.
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.
3. RAID level 2
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 merupakan pengorganisasian dengan paritas bit interleaved. Pengorganisasian ini hampir sama dengan RAID level 2, perbedaannya adalah RAID level 3 ini hanya memerlukan sebuah disk redundan, berapapun jumlah kumpulan disk-nya. Jadi tidak menggunakan ECC, melainkan hanya menggunakan sebuah bit paritas untuk sekumpulan bit yang mempunyai posisi yang sama pada setiap disk yang berisi data. Selain itu juga menggunakan data striping dan mengakses disk-disk secara paralel.
5. RAID level 4
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.
sumber : http://pamungkasbayuaji.blogspot.com/2010/10/pengertian-raid.html
Tidak ada komentar:
Posting Komentar