Kamis, 04 Oktober 2012

Pengertian RAID (Redundant Array of Independent Drive/Disk)

RAID adalah kependekan dari Redundant Array of Independent Drive/Disk. Ada juga yang menyebutnya sebagai kependekan dari Redundant Array of Inexpensive Drive/Disk. Secara sedehana, RAID bisa diartikan sebagai cara menyimpan data pada beberapa harddisk. Dengan begini, kinerja PC bisa meningkat. Selain itu, salinan data juga bisa dijadikan back-up. Implementasi RAID membutuhkan minimal 2 harddisk. Ketika RAID digunakan, sistem operasi akan membaca kedua harddisk sebagai 1 harddisk. Jadi, meskipun ada 2 harddisk, drive yang tampak pada Windows Explorer hanya 1. C saja, misalnya. Sebagai perbandingan, kalau RAID tidak digunakan, drive pada Windows Explorer muncul C dan D. Setiap drive untuk 1 harddisk. Karakteristik umum disk RAID : • RAID adalah sekumpulan disk drive yang dianggap sebagai sistem tunggal disk. • Data didistribusikan ke drive fisik array. • Kapasitas redudant disk digunakan untuk menyimpan informasi paritas, yang menjamin recoveribility data ketika terjadi masalah atau kegagalan disk. Jadi RAID merupakan salah satu jawaban masalah kesenjangan kecepatan disk memori dengan CPU dengan cara menggantikan disk berkapasitas besar dengan sejumlah disk – disk berkapasitas kecil dan mendistribusikan data pada disk – disk tersebut sedemikian rupa sehingga nantinya dapat dibaca kembali. RAID menggunakan teknik stripping, yang membuat partisi pada ruang dengan ukuran mulai dari 512 byte hingga ke beberapa megabyte. Tiap partisi itu mengandung pecahan data yang akan dibaca bersamaan untuk mempercepat pembacaan data. RAID memiliki beberapa level, RAID0 sampai RAID7 plus RAID 10 dan beberapa RAID kombinasi. Setiap level RAID memiliki fungsi yang berbeda. Penjelasannya ada di tabel level RAID. Selain RAID yang ada di tabel, RAID punya beberapa level lagi. Misalnya Level 10 yang artinya kombinasi antara RAID0 dan RAID1. Ada juga RAID 50 yang merupakan kombinasi antara RAID5 dan RAID0. Kombinasi ini mengawinkan fungsi antara kedua RAID. RAID dapat dibagi lagi dalam 2 yaitu Hardware RAID dan software RAID, Untuk fitur Hardware RAID, motherboard server anda harus mendukung PCI64bit (socketnya lebih panjang 2x dari PCI biasa, bukan PCI-X ya) dan tentunya RAID Card dan harddisk. Unntuk Software RAID secara standard didukung oleh OS seperti Windows2000 server, Windows2003Server, Windows2008server dan linux. Raid Levels 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. 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 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 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 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 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 menghindari bottleneck 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. RAID mana yang paling aman dan cepat? Berdasarkan theory of concatenate yang saya baca, komparasi performance Raid 1+0 vs Raid 5 dengan jumlah disk yang sama per raid group (2D+2D vs 3D+1P atau 4D+4D vs 7D+1P) disebutkan bahwa RAID 1+0 mengungguli raid 5 dalam proses random writing. Tetapi Raid 5 lebih cepat pada proses sequential writing dibanding RAID 1+0. Untuk proses sequential/random reading performancenya similar alias sama saja. raid-performance-comparison Kalau sudah yakin akan prilaku aplikasinya & yang dikejar adalah random write performance maka gunakanlah RAID 1+0. Tetapi kalau aplikasinya read intensive atau write intensive yang sequential write, gunakan RAID 5 saja karena performancenya bisa lebih cepat dari pada RAID 1+0 & lebih ekonomis pula. Untuk RAID 5 ini sayaprefer untuk di configure dengan mengaktifkan write cache yang cukup di storage controller ( cache write pending dibawah 30% ) & menggunakan konfigurasi multiple 7D+1P untuk mendapatkan spindle yang lebih banyak dalam satu raid group as many as possible. Penggunaan disk spindle yang lebih banyak dalam 1 raid group akan membuat performance yang lebih baik. 14D+2p atau 28D+4p secara IOPS bisa 2x dan 4x lebih cepat dibanding 7D+1P. btw, log file di oracle itu adalah type data yang write intensive. Oleh oracle log writer ditulis secara sequential write. Jadi menurut saya penggunaan RAID 5 masih lebih tepat daripada raid 1+0 untuk archive log maupun redo log. Teori ini memang agak berbalikan dengan suggestion SAME (Stripe and Mirror Everything) dari oracle. Buat saya pendekatan SAME yang di release tahun 2000 lalu ini lebih tepat untuk tradisional RAID yang menggunakan software base namun tidak untuk SAN based storage yang sudah menggunakan hardware untuk perhitungan RAID dan cache yang cukup besar. Pendapat ini juga diperkuat oleh test yang dilakukan oleh IBM tentang perbandingan Raid 5 dan raid 10 untuk oracle di sini. Salah satu point yang disimpulkan dari hasil test tersebut adalah “The performance of RAID 10 may be better for very high random write workloads. The amount of improvement will vary”. Jadi??.. Yaa RAID 5 lebih tepat dan lebih cepat untuk log file oracle yang sequential. Karena workloadnya sangat tinggi, penempatan log filenya bisa diatur dengan mengggunakan beberapa LUN dari raid group terpisah. Kalau masih kurang juga??.. bisa juga menggunakan solusi SSD doong. :) Peningkatan performance menggunakan pendekatan hardware memang bisa dan biasa dilakukan. Tetapi berdasarkan pengalaman selama ini sih pendekatan performance dari sisi aplikasi memberikan efek lebih dahsyat daripada performance tuning di sisi hardware lho. Bukan berarti hardware tidak perlu jadi concern yaa.. Banyak sekali yang bisa dilakukan dari sisi hardware selain RAID ini. Kesimpulan dan Saran Banyak manfaat yang didapat dengan konfigurasi RAID, yakni kecepatan, reliabilitas data, dan toleransi kesalahan.

Tidak ada komentar: