Jumat, 31 Oktober 2014

RAID

Apa itu RAID? Menurut Wikipedia, RAID (yang kepanjangannya adalah Redundant Array of Independent Disks), adalah 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.

Dengan RAID, data yang disimpan akan dibagi/direplika ke beberapa hardisk  secara terpisah, guna untuk meningkatkan kehandalan data atau bisa juga untuk meningkatkkan performa I/O hardisk.

Kehandalan data bisa terpenuhi dengan RAID karena penyimpanan data tidak hanya diletakkan di beberapa disk. Jika ada disk yang rusak, data akan tetap aman, dan hardisk yang rusak dapat diganti dengan segera tanpa mempengaruhi eksistensi data.
Peningkatan performa I/O hardisk bisa terpenuhi karena ketika hardisk melakukan baca/tulis tidak dilakukan sendiri, tetapi dilakukan bersama-sama dengan hardisk lainnya. Istilahnya mereka secara gotong royong melakukan tugas. Sebagai contoh, RAID 0 dengan 2 hardisk, jika kecepatan per disk adalah 7200 rpm, maka dengan RAID 0, kecepatan berlipat ganda, 2 x 7200 rpm = 14400 rpm!

Sejarah RAID

Penggunaan istilah RAID pertama kali diperkenalkan oleh David A. Patterson, Garth A. Gibson dan Randy Katz dari University of California, Berkeley, Amerika Serikat pada tahun 1987. Tetapi walaupun mereka yang menggunakan istilah RAID pertama kali, tetapi hak paten RAID sejatinya dimiliki oleh Norman Ken Ouchi dari IBM, yang pada tahun 1978 mendapatkan paten nomor 092732 dengan judul “System for recovering data stored in failed memory unit”.

Level-Level Standar RAID

Pada dasarnya, level standar RAID ada 5. Tetapi seiring dengan perkembangan teknologi komputer, beberapa level-level baru bermunculan. Di artikel ini, saya akan membahas 7 level RAID yang sering digunakan.

RAID 0
Diagram 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
 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
 rsz_2raid_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
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
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
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
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.


Tidak ada komentar:

Posting Komentar