RAID
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 )
A. TIPE RAID
Ada dua tipe implementasi RAID.
Yaitu :
Software RAID : Semua konfigurasi ditangani oleh
sistem operasi/software. Keuntungan dari RAID software yang sangat murah,
karena tidak perlu membeli perangkat keras tambahan untuk mengelola RAID.
Tetapi karena tidak dikelola oleh hardware sendiri, maka kelemahannya adalah
dia butuh sumber daya memori dan daya CPU tambahan dari komputer.
Hardware
RAID : Semua informasi tentang konfigurasi RAID disimpan
dalam interface card dalam bentuk perangkat keras. Keuntungannya adalah
meningkatkan kinerja. Karena semuanya ditangani oleh interface card, sehingga
komputer tidak tidak perlu menggunakan memori atau daya CPU untuk menjalankan
RAID.
Dulu sekali,
Hardware RAID bisa dikatakan jadi primadona. Namun seiring
berkembangnya waktu, multi-core CPU dan memori sudah bisa didapatkan
dengan harga yang semakin terjangkau dan semakin mumpuni kualitasnya. Maka
dengan CPU yang lebih cepat, Software
RAID pun sekarang bisa melakukan kinerja sebaik Hardware RAID dan bahkan
bisa lebih cepat dalam beberapa kasus.
1.) RAID 0 (mode striping)
Pada RAID 0 ini membutuhkan minimal 2 harddisk yang digunakan. Sebenarnya
RAID 0 ini belum bisa dikatakan sebagai RAID karena tidak ada harddisk yang
berfungsi sebagai koreksi errornya. Prinsip dari RAID 0 adalah menggabungkan
kapasitas harddisk satu dengan yang lainnya sehingga secara logika hanya
terlihat satu harddisk yang terbaca pada komputer dengan kapasitas besar. Data
yang ditulis pada harddisk-harddisk tersebut terbagiatas fragmen-fragmen.
Dimana fragmen-fragmen tersebut disebar diseluruh harddisk. Ada keuntungan dan
kekurangan dari pembentukan RAID 0 ini.
Keuntungannya
adalah memungkinkan kita untuk menghemat biaya dan juga dapat membuat harddisk
dalam kapasitas yang besar yang tentunya belum ada dipasaran. Sebagai contoh :
Kita
memerlukan harddisk dalam kapasitas besar yakni 5TB. Sedangkan dipasaran
sekarang harddisk dalam kapasitas tersebut belum tersedia. Jika adapun akan
dibandrol dengan harga yang sangat mahal. Kita dapat mengakalinya untuk membuat
harddisk 5 TB tersebut yakni dengan menggunakan prinsip dari RAID 0 ini. Kita
memerlukan 10 buah harddisk dengan kapasitas 500GB (harga 1 harddisk sekitar
450 ribu) atau memerlukan 5 buah harddisk dengan kapasitas 1TB (harga 1 buah
harddisk sekitar 1juta). Maka untuk membuat haddisk dengan kapasitas 5 TB kita
membutuhkan biaya sekitar 4,5 - 5 juta. Jika dibandingkan dipasaran (jika ada)
sekarangpun harddisk dengan kapasitas 5 TB akan dibandroll dengan harga diatas
5 juta. Nah inilah kenapa disebut sebagai Redundant Array of Inexpensive Disk.
Keuntungan
lainnnya adalah data dapat dibaca secara cepat dengan RAID 0 karena saat
komputer membaca sebuah fragmen di satu harddisk, komputer juga dapat membaca
fragmen lain di harddisk lainnya.
Kekurangannya
adalah karena tidak ada harddisk yang berfungsi sebagai koreksi errornya untuk
mengembalikan data kebentuk semula maka jika salah satu harddisk mengalami
kerusakan fisik maka data tidak akan dapat dibaca sama sekali.
2.) RAID 1 (mode mirroring)
Membutuhkan
ninimal 2 harddisk. Prinsipnya adalah menyalin isi dari sebuah harddisk ke
harddisk lainnya dengan tujuan jika salah satu harddisk rusak secara fisik maka
data tetap dapat diakses dari harddisk lainnya. Mirroring maksudnya setiap
harddisk penyimpan data memiliki satu harddisk sebagai pem-backup data untuk
mengembalikan data yang rusak ke data semula. Kelebihannya adalah keandalan
dalam mengembalikan data lebih baik. Sedangkan kekurangannya adalah
membutuhkan biaya lebih mahal karena membutuhkan biaya 2x lipat. Contoh :
Sebuah
server mempunyai 2 unit harddisk dengan kapasitas masing-masing 80GB dan
dikonfigurasi dengan 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.
3.) RAID 2
Membutuhkan
minimal harddisk sebanyak 5buah (n + 3 dimana n > 1 dengan n = jumlah
hardisk data). Prinsipnya adalah sama dengan menggunakan prinsip stiping. Hanya
saja yang membedakan adalah ditambahkannya 3 harddisk sebagai fungsi parity
hamming yang fungsinya sebagai penyimpan hamming code dari hasil perhitungan
tiap bit-bit yang ada di harddisk untuk koreksi errornya, sehingga data lebih
reliable (handal). Jadi kelebihannya adalah data lebih handal dengan 3 harddisk
sebagai koreksi errornya. Kekurangannya adalah waktu yang dibutuhkan untuk
mengakses data menjadi lama dan RAID 2 tidak digunakan karena kita tidak
memerlukan koreksi error yang terlalu banyak yang malah dapat meyebabkan waktu
akses lebih lama.
4.) RAID 3
Membutuhkan
minimal harddisk sebanyak 3 buah (n + 1 dimana n > 1 dengan n = jumlah
hardisk data). Juga menggunakan sistem striping dengan harddisk tambahan
sebagai reliability, namun disini hanya ditambahkan sebuah harddisk
sebagai parity hamming. Harddisk terakhir inilah yang digunakan untuk menyimpan
parity hamming dari hasil perhitungan tiap bit-bit yang ada di harddisk
lainnya.
Contoh : Kita
mempunyai 4 harddisk (harddisk A, B, C, dan D) dengan ukuran sama 500GB. Jika
kita mengkonfigurasikannya dengan RAID 3, maka kapasitas yang didapatkan adalah
3 x 500GB = 1,5 TB. Sedangkan haddisk D digunakan untuk menyimpan informasi
parity (bukan data) dari ketiga harddisk lainnya. Ketika terjadi kerusakan fisik
dari salah satu harddisk utama (A,B,C) maka data tetap fapat dibaca dengan
memperhitungkan parity yang ada di harddisk D. Jika hardisk D yang mengalami
kerusakan, maka data tetap dapat dibaca dari ketiga harddisk lainnya.
5.) RAID 4
Hampir
sama dengan RAID 4 yang juga membutuhkan minimal harddisk sebanyak 3 buah
(n + 1 dimana n > 1 dengan n = jumlah hardisk data). Juga menggunakan sistem
striping dengan harddisk tambahan sebagai reliability, dan hanya ditambahkan
sebuah harddisk sebagai parity hamming. Yang membedakan adalah pada RAID 4
harddisk terakhir yang digunakan untuk parity hamming bukan berasal dari
perhitungan bit-bit data melainkan dalam ukuran yang lebih besar yakni dalam
ukuran blok-blok data. RAID 4 jarang digunakan karena sering terjadi bottleneck
yaitu penyempitan jalur data saat mengakses data sehingga dapat menyebabkan
komputer hang (bekerja tidak maksimal).
6.) RAID 5
RAID
5 adalah
tingkat atau level yang paling populer digunakan di server saat ini.
Dengan RAID 5 kita bisa memiliki performa dan
efisiensi penggunaan ruang. Dalam RAID 5 redundansi didistribusikan di antara
semua drive. Jumlah minimum dari drive yang dapat digunakan pada RAID 5 adalah
tiga.
Kelebihan:
- Efisiensi penggunaan kombinasi harddisk.
- Toleransi kesalahan: Jika salah satu hard disk down/error maka data tetap aman.
Kekurangan:
- Kecepatan RAID 5 tidak secepat RAID 0 atau 1.
- Jika lebih dari satu hard disk mengalami error, maka data terancam hilang.
Kapan menggunakan: RAID 5
adalah pilihan terbaik untuk data storage, karena efisien dalam penggunaan
ruang dan menyediakan redundansi data.
7.) RAID 6
RAID 6 pada dasarnya sama dengan
RAID 5, dengan perbedaan dua drive bisa down pada saat yang sama bukan hanya
satu. Jumlah minimum dari drive yang dapat digunakan dengan RAID 6 adalah
empat.
Kelebihan:
Meskipun dua hard disk down bersamaan, data kita tetap aman.
Kekurangan:
- Space total hard drive sangat berkurang karena lebih banyak dialokasikan untuk partisi redundansi.
- Kecepatan RAID 6 tidak secepat RAID 0 atau 1.
- Proses rebuilt lebih lambat. Ketika drive down, maka perlu rebuilt kembali. Kinerja akan menurun jauh bila dibandingkan dengan metode RAID lainnya.
Kapan menggunakan:
RAID 6 baik digunakan untuk media
storage. Sebab pada dasarnya RAID 6 sama dengan RAID 5 dengan keamanan data
yang lebih baik. Namun akibatnya, kita akan kehilangan sekitar 40% dari ruang
gabungan total.
8.) RAID Z
Raid Z dan RAID Z2 adalah penemuan
Sun Micro System. RAID Z memiliki semua manfaat dari RAID 5 dan fitur lainnya
yang membuatnya jauh lebih unggul. Seperti dengan RAID 5, RAID Z dapat
mendukung sejumlah hard disk yang bekerja sama dan satu disk untuk redudansi.
Jumlah minimum dari hard disk adalah tiga dan hanya satu yang bisa down pada
suatu waktu. Jika lebih dari satu hard disk rusak pada saat yang sama, maka
kita beresiko kehilangan data.
Kelebihan: Memiliki
semua kelebihan dari RAID 5 dan fitur lainnya.
Kelemahan: Hanya
dapat digunakan dengan OS berbasis Open Solaris seperti Nexenta dan atau sistem
berbasis BSD seperti FreeBSD.
Kapan menggunakan: RAID
Z adalah level RAID terbaik untuk penyimpanan/storage. Pada dasarnya RAID Z
melengkapi hampir semua kekurangan dari RAID tingkat sebelumnya dan menambahkan
banyak fitur baru. Namun hanya bisa digunakan dengan sistem berbasis Solaris
dan BSD. RAID Z sangat baik untuk digunakan dalam NAS / lainnya untuk
penyimpanan data berskala besar.
9.) RAID Z2
Raid Z2 hampir identik dengan Raid Z
dan mirip dengan RAID 6. Dalam RAID Z2, meski dua hard disk bisa down di waktu
bersamaan namun data akan tetap aman dan mudah diakses. Sama seperti RAID Z,
RAID Z2 jauh lebih unggul dengan RAID 6 karena di dalamnya terdapat banyak
fitur lainnya. Jumlah minimum drive untuk menggunakan RAID Z2 adalah empat.
Keuntungan:
- Data lebih aman meski dua drive bisa down pada saat yang sama bukan hanya satu.
- Memiliki semua manfaat dari RAID Z.
Kekurangan:
- Dua hard disk digunakan untuk paritas, sehingga ukuran jumlah gabungan space sangat terbatas.
- Hanya dapat digunakan dengan OS berbasis Open Solaris seperti Nexenta dan atau sistem berbasis BSD seperti FreeBSD.
Kapan menggunakan:Sama seperti
RAID Z tetapi dilengkapi dengan tambahan tingkat keamanan. Tidak untuk
digunakan jika butuh space yang besar.
10.) RAID 10
RAID 10 adalah gabungan dari RAID 1 + RAID 0.
Makanya dia bisa memberikan optimasi untuk toleransi kesalahan. Dimana RAID 0
memiliki kecepatan yang lebih karena lebih banyak ruang dari dua hard disk yang
dijadikan satu, sedangkan RAID 1 memberikan mirroring disk untuk redundansi.
Dalam beberapa kasus, RAID 10 menawarkan data yang lebih cepat membaca dan
menulis daripada RAID 5 karena tidak perlu mengelola paritas. Minimum harddisk
yang bisa digunakan adalah 4 hard disk.
Keunggulan :
- Memiliki manfaat dari kecepatan dari RAID 0 dan Mirroring dari Raid 1.
- Tingkat keamanan terhadap kemungkinan hilangnya data yang lebih baik dari penggunaan sebuah harddisk.
Kelemahan :
- Memiliki segala kekurangan yang dimiliki RAID 1 dan RAID 0.
- Kegagalan disk memiliki efek pada throughput, meskipun hal ini masih dapat ditoleransi.
Daftar Pustaka: