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)
Pada mainboard generasi sekarang, banyak sekali
yang sudah dilengkapi dengan fitur RAID, terutama pada mainboard hi-end. 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.
Berikut beberapa konfigurasi standart RAID:
RAID 0
Juga dikenal dengan modus stripping.
Membutuhkan minimal 2 harddisk. Sistemnya adalah menggabungkan kapasitas
dari beberapa harddisk. Sehingga secara logikal hanya “terlihat” sebuah
harddisk dengan kapasitas yang besar (jumlah kapasitas keseluruhan
harddisk).
Pada awalnya, RAID 0, digunakan untuk
membentuk sebuah partisi yang sangat besar dari beberapa harddisk dengan
biaya yang efisien.
Misalnya:
Kita membutuhkan suatu partisi dengan ukuran 500GB. Harga sebuah
harddisk berukuran 100GB adalah Rp.500.000,- sedangkan harga harddisk
berukuran 500GB adalah Rp.5.000.000,-. Nah, kita dapat membetuk suatu
partisi berukuran 500GB dari 5 unit harddisk berukuran 100GB dengan
menggunakan RAID 0. Tentunya skenario ini lebih
murah
karena memakan biaya lebih murah: 5 x Rp.500.000,- = Rp.2.500.000,-.
Lebih murah daripada harus membeli harddisk yang berukuran 500GB. Itulah
kenapa pada awalnya disebut redundant array of inexpensive disk.
Contoh lain:
Pada saat ini ukuran harddisk terbesar yang tersedia di pasaran adalah
500GB, sedangkan kita membutuhkan suatu partisi dengan ukuran 2TB. Nah,
kita dapat membeli 4 unit harddisk berkapasitas 500GB dan
mengkonfigurasinya dengan RAID 0, sehingga kita dapat memiliki suatu
partisi berkururan 2TB tanpa harus menunggu harddisk dengan kapasitas
sebesar itu tersedia di pasar.
Data yang ditulis pada harddisk-harddisk
tersebut terbagi-bagi menjadi fragmen-fragmen. Dimana fragmen-fragmen
tersebut disebar di seluruh harddisk. Sehingga, jika salah satu harddisk
mengalami kerusakan fisik, maka data tidak dapat dibaca sama sekali.
Namun ada keuntungan dengan adanya
fragmen-fragmen ini: kecepatan. Data bisa diakses lebih cepat dengan
RAID 0, karena saat komputer membaca sebuah fragmen di satu harddisk,
komputer juga dapat membaca fragmen lain di harddisk lainnya.
RAID 1
Biasa disebut dengan modus mirroring.
Membutuhkan minimal 2 harddisk. Sistemnya adalah menyalin isi sebuah
harddisk ke harddisk lain dengan tujuan: jika salah satu harddisk rusak
secara fisik, maka data tetap dapat diakses dari harddisk lainnya.
Contoh:
Sebuah server memiliki 2 unit harddisk yang berkapasitas masing-masing
80GB dan dikonfigurasi RAID 1. Setelah beberapa tahun, salah satu
harddisknya mengalami kerusakan fisik. Namun data pada harddisk lainnya
masih dapat dibaca, sehingga data masih dapat diselamatkan selama bukan
semua harddisk yang mengalami kerusakan fisik secara bersamaan.
RAID 2
RAID 2, juga menggunakan sistem
stripping. Namun ditambahkan tiga harddisk lagi untuk pariti hamming,
sehingga data menjadi lebih reliable. Karena itu, jumlah harddisk yang
dibutuhkan adalah minimal 5 (n+3, n > 1). Ketiga harddisk terakhir
digunakan untuk menyimpan hamming code dari hasil perhitungan tiap
bit-bit yang ada di harddisk lainnya.
Contoh:
Kita memiliki 5 harddisk (sebut saja harddisk A,B,C, D, dan E) dengan
ukuran yang sama, masing-masing 40GB. Jika kita mengkonfigurasi keempat
harddisk tersebut dengan RAID 2, maka kapasitas yang didapat adalah: 2 x
40GB = 80GB (dari harddisk A dan B). Sedangkan harddisk C, D, dan E
tidak digunakan untuk penyimpanan data, melainkan hanya untuk menyimpan
informasi pariti hamming dari dua harddisk lainnya: A, dan B. Ketika
terjadi kerusakan fisik pada salah satu harddisk utama (A atau B), maka
data tetap dapat dibaca dengan memperhitungkan pariti kode hamming yang
ada di harddisk C, D, dan E.
RAID 3
RAID 3, juga menggunakan sistem
stripping. Juga menggunakan harddisk tambahan untuk reliability, namun
hanya ditambahkan sebuah harddisk lagi untuk parity.. Karena itu, jumlah
harddisk yang dibutuhkan adalah minimal 3 (n+1 ; n > 1). Harddisk
terakhir digunakan untuk menyimpan parity dari hasil perhitungan tiap
bit-bit yang ada di harddisk lainnya.
Contoh kasus:
Kita memiliki 4 harddisk (sebut saja harddisk A,B,C, dan D) dengan
ukuran yang sama, masing-masing 40GB. Jika kita mengkonfigurasi keempat
harddisk tersebut dengan RAID 3, maka kapasitas yang didapat adalah: 3 x
40GB = 120GB. Sedangkan harddisk D tidak digunakan untuk penyimpanan
data, melainkan hanya untuk menyimpan informasi parity dari ketiga
harddisk lainnya: A, B, dan C. Ketika terjadi kerusakan fisik pada salah
satu harddisk utama (A, B, atau C), maka data tetap dapat dibaca dengan
memperhitungkan parity yang ada di harddisk D. Namun, jika harddisk D
yang mengalami kerusakan, maka data tetap dapat dibaca dari ketiga
harddisk lainnya.
RAID 4
Sama dengan sistem RAID 3, namun
menggunakan parity dari tiap block harddisk, bukan bit. Kebutuhan
harddisk minimalnya juga sama, 3 (n+1 ; n >1).
RAID 5
RAID 5 pada dasarnya sama dengan RAID 4,
namun dengan pariti yang terdistribusi. Yakni, tidak menggunakan
harddisk khusus untuk menyimpan paritinya, namun paritinya tersebut
disebar ke seluruh harddisk. Kebutuhan harddisk minimalnya juga sama, 3
(n+1 ; n >1).
Hal ini dilakukan untuk mempercepat
akses dan menghindari bottleneck yang terjadi karena akses harddisk
tidak terfokus kepada kumpulan harddisk yang berisi data saja.
RAID 6
Secara umum adalah peningkatan dari RAID
5, yakni dengan penambahan parity menjadi 2 (p+q). Sehingga jumlah
harddisk minimalnya adalah 4 (n+2 ; n > 1). Dengan adanya penambahan
pariti sekunder ini, maka kerusakan dua buah harddisk pada saat yang
bersamaan masih dapat ditoleransi. Misalnya jika sebuah harddisk
mengalami kerusakan, saat proses pertukaran harddisk tersebut terjadi
kerusakan lagi di salah satu harddisk yang lain, maka hal ini masih
dapat ditoleransi dan tidak mengakibatkan kerusakan data di harddisk
bersistem RAID 6.