Definisi
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 operasitidak 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.
Konsepnya
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.
Sejarahnya
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 Katzdari
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
Juni1988 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)