RAID merupakan kependekan dari Redundant Array of Independent Disk merupakan teknologi virtualisasi storage yang menggabungkan beberapa hardisk fisik ke dalam sebuah logical unit storage yang memiliki kemampuan data redundancy dan juga performance improvement.

Pengertian data redundancy di sini adalah adanya data-data tambahan yang dituliskan tersebar pada hardisk-hardisk untuk mengkoreksi data ke data yang benar jika ada salah satu hardisk yang rusak. Data disebarkan ke berbagai hardisk dilakukan dengan berbagai cara dan ditujungkkan sebagai level dari RAID. Level RAID ini tergantung dari kebutuhan tingkat redundancy dan kinerja. Pada setiap level menyediakan gol yang berbeda-beda pada reliability, availability, performance dan capacity. 

Banyak sistem RAID menjalankan error protection dengan menambahkan data tambahan yang disebut paritas. Dengan adanya paritas ini kita dapat mengembalikan data secara benar jika terjadi kegagalan penulisan data oleh perangkat keras. Kemampuan mengkorekasi data yang salah dan mengembalikan ke data yang benar ini memampukan system memiliki fault tolerance.

Beberapa Macam RAID

RAID 0

RAID 0 (atau yang disebut juga dengan stripe set atau striped volume), data akan disimpan terpisah secara merata ke dua hardisk atau lebih, tanpa informasi parity untuk meningkatkan kecepatan. Parity data di RAID digunakan untuk memeriksa error hardisk & mendapatkan redundansi data. Jika ada hardisk yang rusak, secara otomatis RAID akan melakukan rekonstruksi data pada hardisk yang baru.
Nah, pada RAID 0, parity data tidak ada, sehingga jika ada hardisk yang rusak, maka secara otomatis data akan rusak. Tidak ada redundansi/kehandalan data di level RAID 0. Pada umumnya, RAID 0 digunakan untuk meningkatkan performa baca/tulis saja, atau untuk memperbesar kapasitas simpan, tanpa mementingkan redundansi data.

Seperti yang sudah saya sebutkan sebelumnya, dengan RAID 0, kecepatan I/O hardisk akan meningkat karena kinerja baca/tulis dikerjakan bersama-sama. Dengan 3 hardisk SATA 7200 rpm, anda akan memiliki performa setara 3 x 7200 rpm = 21600 rpm.
Dengan RAID 0, 3 x 1 TB hardisk = 3 TB hardisk!

RAID 1

Dengan RAID 1, data di hardisk pertama akan di salin (mirroring) persis sama ke hardisk kedua. Jika anda lebih mementingkan performa baca & kehandalan data, ketimbang simpan, maka RAID 1 adalah pilihan yang pas.

Pada RAID 1, jika pada salah satu hardisk terjadi kerusakan, maka data akan tetap aman karena sudah tersalin di hardisk kedua. Jika hardisk yang rusak mendapatkan ganti, maka secara otomatis RAID 1 akan melakukan salinan/mirorring ke hardisk yang baru.

2 Hardisk yang diatur dengan RAID 1, total kapasitasnya hanya seperti memiliki 1 hardisk saja. Jadi semisal 2 x 1 TB hardisk dengan RAID 1, maka kapasitas simpan yang bisa dipakai adalah 1 TB saja.

Kecepatan baca/tulis pada RAID 1 cukup bagus, walau tidak setinggi performa pada RAID 0. Kekurangan RAID 1 hanyalah pada kapasitas simpan saja.

RAID 1 banyak digunakan pada operating system (OS) & transactional database.


RAID 5

RAID 5 menggunakan metode block-level striping dengan data parity didistribusikan ke semua hardisk. RAID 5 cukup populer karena mampu menghadirkan redundansi data dengan biaya yang tidak terlalu besar.

RAID 5 memiliki toleransi kerusakan disk hanya satu saja, sama seperti RAID 1. Jadi, jika anda menggunakan 3 x 1TB hardisk, maka kapasitas simpan yang bisa digunakan adalah 2 TB saja, karena 1 TB lainnya digunakan untuk toleransi kerusakan.

RAID 5 memiliki performa baca dua kali lipat lebih cepat, tetapi tidak ada peningkatan pada performa tulis. RAID level ini dianjurkan untuk penyimpanan data, file server, atau untuk backup server.

RAID 6

RAID 6 sejatinya hampir sama dengan RAID 5, yang membedakan cuma penambahan parity block. Jika pada RAID 5 toleransi kerusakan disk hanya satu, pada RAID 6 memiliki 2 disk. Dengan penambahan ekstra parity block, maka redundansi data lebih bagus ketimbang RAID 5.

Performa baca/tulis tidak ada beda dengan RAID 5. Level RAID 6 biasanya dianjurkan untuk solusi HA (High Availability), Mission Critical Apps, dan server yang membutuhkan kapasitas simpan yang besar).



RAID 10

RAID 10 biasa juga disebut dengan RAID 1+0 atau RAID 1&0, mirip dengan RAID 0+1, cuma perbedaanya adalah penggunaan level RAIDnya dibalik.

RAID 10 sebenarnya bukan level standar RAID yang diciptakan untuk driver Linux MD. RAID 10 membutuhkan minimal 4 buah hardisk.

RAID 10 adalah kombinasi antara RAID 0 (data striping) dan RAID 1 (mirroring). Memiliki performa baca/tulis & redundansi data tertinggi (memiliki toleransi kerusakan hingga beberapa hardisk).

RAID 10 memiliki toleransi kerusakan 1 hardisk per mirror stripe.

RAID 10 biasanya banyak diimplementasikan pada database, web server & server aplikasi atau server-server yang membutuhkan performa hardisk tinggi.



RAID 50

RAID 50 (atau juga disebut dengan RAID 5+0) merupakan kombinasi block-level striping dari RAID 0 dengan distribusi parity dari RAID 5. RAID 50 membutuhkan minimal 6 hardisk.

Jika salah satu hardisk dari masing-masing RAID 5 ada yang rusak, data akan tetap aman. Akan tetapi jika hardisk yang rusak tidak segera diganti, dan hardisk dari RAID 5 tersebut ada yang rusak lagi, maka semua data di RAID 50 akan rusak. Penggantian hardisk harus dilakukan agar data tetap terjaga redundansinya.

RAID 50 memilik toleransi kerusakan 1 hardisk per sub-array. Seperti halnya RAID 10, RAID 50 juga memiliki performa baca/tulis & redundansi data tinggi (memiliki toleransi kerusakan hingga beberapa hardisk).

RAID 50 biasanya banyak di implementasikan pada server database, server aplikasi, dan server penyimpanan file.


RAID 60

RAID 60 (atau juga disebut dengan RAID 6+0) merupakan kombinasi block-level striping dari RAID 0 dengan distribusi parity dari RAID 6. RAID 60 membutuhkan minimal 8 hardisk.

RAID 50 dan RAID 60 tidak banyak perbedaan, yang membedakan hanya pada toleransi kerusakan hardisk. Jika pada RAID 50 toleransi kerusakannya 1 hardisk per sub-array, sedang di RAID 60 adalah 2 hardisk per sub-array.

RAID 60 biasanya banyak di implementasikan pada solusi High Availability, Mission Critical Apps,atau server yang membutuhkan kapasitas simpan besar.