Apa itu RAID? Panduan & Perbandingan Lengkap Tentang Teknologi RAID!
TS
setionolutfi
Apa itu RAID? Panduan & Perbandingan Lengkap Tentang Teknologi RAID!
Apa itu RAID? Panduan & Perbandingan Lengkap Tentang Teknologi 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
Spoiler for 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!
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
Spoiler for 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.
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
Spoiler for 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
Spoiler for 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
Spoiler for 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
Spoiler for 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
Spoiler for 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
Spoiler for 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
Spoiler for 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
Spoiler for 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.