Sunday 3 January 2021

Mengenal Teknologi RAID Pada Harddisk

RAID (Redundant Array of Independent Disks) adalah teknologi yang menggabungkan beberapa HDD (bisa 2, 3, 4, dst) menjadi satu dan terbaca sebagai 1 harddisk. Ada istilahnya RAID 0, RAID 1, RAID 1+0, RAID 2 dst yang akan menentukan jenisnya.

Sebagai perbandingan, bila sistem operasi yang digunakan adalah windows, maka drive pada RAID yang muncul hanya C saja. Beda halnya jika konfigurasi RAID tidak digunakan maka drive yang muncul adalah C, D dan E atau bahkan lebih (satu drive untuk satu harddisk) tergantung berapa banyak harddisk yang digunakan.

Tujuan RAID sendiri sebenarnya cuma ada 3, yaitu kecepatan data (stripping), keamanan data (mirroring) maupun keduanya.

Awalnya RAID hanya digunakan untuk server saja, dimana keamanan data & kecepatan sangat mutlak diperlukan. Dan untuk membuat konfigurasi RAID ini awalnya perlu RAID card tersendiri yang harganya sangat mahal. Namun beberapa tahun terakhir Intel menyelipkan fasilitas RAID controller kedalam chipset ICHxR mereka sehingga RAID bisa dinikmati oleh user lewat onboard controller pada motherboard.

RAID sebenarnya tidak serumit yang dibayangkan, karena prinsip dasarnya RAID sebenarnya hanya ada 2, yaitu : stripping dan mirroring.

Stripping adalah membagi kerja 2 atau lebih harddisk untuk mengolah 1 data pada saat bersamaan. Jadi misalnya Anda menyimpan data sebesar 1GB di 2 HDD yang distripping, maka 2 harddisk itu akan menyimpan masing2 500GB. Demikian juga dengan loading data, 2 HDD tersebut akan kerja bersamaan untuk membaca data. Hasilnya adalah waktu yang jauh lebih singkat (2x lebih cepat).

Kelemahan stripping adalah jika salah satu dari array HDD macet, maka separuh data yang disimpan di HDD yang lainpun tidak akan bisa terbaca.

Nah, kalau Mirroring artinya Anda akan membackup data yang sama persis di HDD lain secara realtime. Jadi ini ditujukan untuk keamanan data. Kelemahannya adalah kerugian kapasitas. Misalnya Anda punya 2 x HDD 2TB yang dimirroring, maka itu artinya Anda hanya memiliki 2TB data dan 2TB data mirror. Beda dengan stripping yang artinya jika Anda memiliki 2x HDD 2 TB, maka kapasitas totalnya adalah 4 TB.

RAID yang umum digunakan untuk pengguna di rumah adalah RAID 0, RAID 1, dan RAID 0+1.

RAID 0 banyak memberikan keuntungan secara speed & ekonomis. Peningkatan kecepatan yang akan Anda dapatkan adalah sebanding dengan jumlah HDD yang Anda stripping. Jadi misalnya 4 HDD bisa 400MB/s kecepatannya. Berarti bisa mengalahkan kecepatan sebuah SSD yang hanya rata-rata 180 MB/s.

Tabel Level RAID
  • RAID0 Level ini menerapkan stripping, tapi tidak mem-back-up data. Dengan demikian, kinerja PC bisa meningkat, kapasitas HDD meningkat 2x lipat, tetapi tak ada cadangan/backup data.
  • RAID1 Level ini dikenal juga dengan nama mirroring. RAID1 membuat salinan data yang ada di harddisk lain sebagai back-up. Hal ini sangat berguna ketika data yang ada di harddisk adalah data yang sangat penting dan tidak boleh rusak. Akan tetapi, RAID1 tidak menawarkan peningkatan performa. Kinerja server maupun PC tetap biasa saja.
  • RAID2 RAID2 menggunakan stripping antara harddisk yang digunakan. Hanya saja, beberapa harddisk digunakan untuk menyimpan informasi mengenai pemeriksaan error dan koreksi, Error Checking dan Correscting(ECC).
  • RAID3 Tipe RAID ini menggunakan stripping dan menggunakan 1 harddisk untuk menyimpan informasi mengenai pariti (parity). RAID3 juga digunakan untuk mendeteksi adanya error. RAID3 berguna untuk sistem yang digunakan oleh 1 orang yang berisi data yang amat panjang.
  • RAID4 RAID4 menggunakan stripe yang besar. Dengan demikian, sistem bisa membaca data dari 1 drive. Sistem yang meggunakan RAID4 bisa mengambil keuntungan dari adanya pembacaan data secara bersamaan.
  • RAID5 Tipe RAID ini memiliki array parity. Semua penulisan dan pembacaan data dapat dilakukan bersamaan. RAID5 menyimpan data parity, tetapi tidak bisa melakukan back-up. RAID5 paling tidak butuh 3 harddisk. Tapi biasanya 5 harddisk yang digunakan.
  • RAID6 Mirip dengan RAID5, tetapi memiliki pariti kedua yang tersebar di beberapa harddisk sehingga menawarkan back-up yang luar biasa.
  • RAID7 RAID7 membuat sistem operasi sebagai controller, caching menggunakan jalur cepat.
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. 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 lebihreliable. 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:
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 menghindaribottleneck 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.

Teori 2:
RAID atau yang merupakan singkatan dari Redundant Array Of Independent Disk yang merujuk pada suatu technology di dalam suatu penyimpanan data pada komputer yang dipakai untuk melakukan implementasi aplikasi atau fitur toleransi kesalahan di media penyimpanan computer terutama pada harddisk dengan memakai cara redundansi atau penumpukkan data, baik itu dengan memakai software atau perangkat lunak, maupun unik perangkat keras RAID atau hard RAID yang terpisah.

RAID adalah organisasi disk memory yang dapat mengatasi sejumlah disk dengan system aksesnya parallel dan redundansi ditambahkan untuk memberikan peningkatan reliabilitas. Kerja parallel ini memberikan hasil resultan kelajuan disk yang akan lebih cepat.

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.

RAID memiliki sebanyak 3 karakteristik umum, dan ketiga karakteristik umum tersebut itu ialah:
  • Datanya didistribusikan pada drive fisik array
  • RAID merupakan sekumpulan dist drive yang diklaim sebagai system tunggal pada disk
  • Kapasitas redundant disk dipakai untuk menyimpan informasi paritas, yang sudah menjamin recoverability data pada saat terjadi kegagalan disk atau terjadi suatu masalah.
Jadi, Pengertian RAID adalah suatu jawaban dari masalah kesenjangan kelajuan disk memory dengan CPU dengan caranya yang menggantikan disk yang memiliki kapasitas besar dengan beberapa disk disk yang memiliki kapasitas kecil dan juga mendistribusikan data di disk tersebut dengan sedemikian rupa, maka dari itu di kemudian waktu bisa dibaca ulang.

Level-level standard RAID
RAID bisa dibagi menjadi 8 level yang berlainan, level level tersebut ialah level 0, level 1, level 2, level 3, level 4, level, 5, level 6, level 0 + 1 dan juga level 1 +0. Di setiap levelnya tersebut mempunyai kekurangan dan juga kelebihan. Seperti salah satunya ialah sebagai berikut:

RAID Level 0
Raid pada level 0 ini memakai sekumpulan disk dengan striping di level blok, tanpa adanya redundansi. Maka dari itu ia hanya menyimpan dan melakukan striping blok data di dalam sejumlah disk. Level 0 ini sesungguhnya tidak termasuk di dalam kelompok RAID, hal ini dikarenakan level 0 tidak memakai redundansi dalam peningkatan kinerjanya tersebut.

RAID Level 1
RAID level 1 adalah disk mirroring, memalsukan atau menduplikat di masing masing disk. Langkah langkah ini bisa memberikan peningkatan terhadap kinerja disk, namun jumlah disk yang diperlukan juga berubah menjadi 2 kali lipat. Maka dari itu dananya menjadi sangatlah mahal.

RAID Level 2
RAID level 2 ini adalah pengorganisasian dengan error – correcting – code (ECC). Seperti di memory server EEC yang di mana pendeteksian titik terjadinya error memakai paritas bit. Di masing-masing byte data memiliki suatu paritas yang bersesuaian yang merepresentasikan jumlah bit pada byte data tersebut, yang dimana paritas bit = 0 apabila jumlah bit parasitas = 1 atau ganjil atau parasitas bit=0 genap.

Jadi apabila salah satu dari bit di data berubah, parasitas berubah dan tidak cocok dengan parasitas bit yang sudah tersave atau tersimpan. Dengan begitu, jika terjadi suatu masalah atau kegagalan di salah satu disk, data bisa dibentuk ulang dengan mendeteksi atau reading error-correction bit di disk yang lainnya.

RAID Level 3
RAID LEVEL 3 adalah suatu pengorganisasian dengan paritas bit interleaved. Dalam pengorganisasian level ini hampir sama halnya dengan RAID level 2, hanya saja pada RAID Level 3 ini membutuhkan suatu disk redundan, seberapapun banyak atau jumlah dari kumpulan disknya.

RAID Level 4
RAID Level 4 ini adalah suatu pengorganisasian dengan paritas blok interleaved, yakni memakai striping data di level blok, dengan mengesave atau menyimpan suatu paritas blok di suatu disk yang berlainan untuk masing masing blok data di disk lain yang saling bersesuaian.

RAID Level 5
RAID Level 5 ini adalah suatu pengorganisasian dengan paritas blok interleaved yang tersebar. Paritas dan juga data yang disebar di seluruh disk termasuk pada suatu disk tambahannya.

RAID Level 6
Untuk RAID Level 6 ini dinamai juga dengan redundansi p + q, seperti halnya pada RAID level 5, namun menyimpan sebuah informasi redundan tambahan yang nantinya berguna untuk mengantisipasi terjadinya kegagalan dari sejumlah disk secara bersamaan.

RAID Level 10
RAID 10 biasa juga disebut dengan RAID 1+0 atau RAID 1 dan 0, mirip dengan RAID 0+1, cuma perbedaanya adalah penggunaan level RAID-nya dibalik. RAID 10 sebenarnya bukan level standar RAID yang diciptakan untuk driver Linux MD. RAID 10 membutuhkan minimal 4 buah harddisk.

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 harddisk). RAID 10 memiliki toleransi kerusakan 1 harddisk per mirror stripe.
RAID 10 biasanya banyak diimplementasikan pada database, web server & server aplikasi atau server-server yang membutuhkan performa harddisk tinggi.

RAID Level 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 harddisk.

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

RAID Level 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 harddisk.

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