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 (utamanya adalah 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/atau meningkatkan
kinerja I/O
dari hard disk.
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.
Konsep
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 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.
Pada
umumnya, RAID diimplementasikan di dalam komputer server,
tapi bisa juga digunakan di dalam workstation.
Penggunaan di dalam workstation umumnya digunakan dalam komputer
yang digunakan untuk melakukan beberapa pekerjaan seperti melakukan
penyuntingan video/audio.
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
dengan penulisan stripe secara penuh. Patennya pada tahun 1978 tersebut
juga menyebutkan bahwa disk mirroring atau duplexing (yang kini
dikenal sebagai RAID 1)
dan juga perlindungan dengan paritas khusus yang didedikasikan (yang kini
dikenal dengan RAID 4)
bisa digunakan, meskipun saat itu belum ada implementasinya.
Istilah
"RAID" pertama kali didefinisikan oleh David A. Patterson, Garth A. Gibson dan Randy Katz dari University of
California, Berkeley, Amerika
Serikat pada tahun 1987, 9 tahun berselang setelah paten yang dimiliki oleh Norman Ken Ouchi. Mereka
bertiga mempelajari tentang kemungkinan penggunaan dua hard disk atau
lebih agar terlihat sebagai sebuah perangat tunggal oleh sistem yang
menggunakannya, dan kemudian mereka 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 purwarupa RAID level, atau
kombinasi dari drive-drive tersebut. Setiap RAID level tersebut secara teoritis
memiliki kelebihan dan juga kekurangannya masing-masing. 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. Hal ini
bisa jadi membingungkan, sebagai contoh salah satu implementasi RAID 5 dapat
berbeda dari implementasi RAID 5 yang lainnya. RAID 3
dan RAID 4
juga bisa membingungkan dan sering dipertukarkan, meski pada dasarnya kedua
jenis RAID tersebut berbeda.
Patterson
menulis lima buah RAID level di dalam papernya, pada bagian 7 hingga 11, dengan
membagi ke dalam beberapa level, sebagai berikut:
- 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)
http://www.webopedia.com/TERM/R/RAID.html