Minggu, 16 November 2014

RAID



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 datadan 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
 

Referensi    :




Tidak ada komentar:

Posting Komentar