RAID: Data Striping

From OnnoWiki
Jump to navigation Jump to search

Dasar dari teknik RAID adalah “striping”, sebuah metoda untuk menyatukan beberapa harddisk untuk menjadi sebuah harddisk virtual. Striping pada dasarnya membuat partisi pada setiap harddisk menjadi banyak stripe (potongan kecil) yang mulai dari 512byte atau beberapa megabyte. Masing-masing stripe ini akan di tumpuk satu sama lain secara berputar / bergilir antar harddisk, oleh karena itu gabungan tempat penyimpanan di harddisk akan berurutan (berselang seling) dalam bentuk stripe dari setiap harddisk. Tergantung pada kebutuhan aplikasi, I/O atau data intensif, akan menentukan besar atau kecil-nya stripe yang akan digunakan.

Raid-konsep.jpg

Umumnya sistem operasi multiuser yang ada pada hari ini, seperti Unix, Linux, NT, mendukung operasi I/O harddisk yang overlap di banyak harddisk. Untuk memaksimalkan throughput dari harddisk, beban I/O harus dibuat seimbang pada semua harddisk, jadi semua harddisk harus dibuat sibuk semua jangan sampai ada yang idle. Membuat operasi balance seperti ini hanya mungkin terjadi kalau dilakukan proses striping. Karena pada banyak harddisk yang tidak di-striping, kemungkinan ada file yang sering di akses tapi berada pada satu harddisk saja. Oleh karena itu beban terberat hanya terjadi pada harddisk yang mempunyai file favorit saja, striping memungkinkan beban mejadi merata ke semua harddisk

Pada lingkungan yang lebih intensif I/O, performance di optimisasi dengan cara menggunakan strip yang cukup besar sehingga sebuah file / record akan masuk ke sebuah strip. Hal ini akan menjamin bahwa data dan I/O akan tersebar secara merata di kumpulan harddisk, memungkinkan setiap harddisk untuk melakukan operasi I/O yang berbeda-beda dan akan memaksimalkan operasi I/O simultan yang dapat dilakukan oleh kumpulan harddisk.

Pada lingkungan yang lebih intensif melakukan pemrosesan data atau pada sistem single user yang mengakses ke record yang besar, strip kecil (biasanya dengan panjang sekitar 512 byte per sector) akan digunakan dalam setiap record. Masing-masing record di tersebar di kumpulan haddisk, jadi setiap harddisk akan menyimpan bagian data. Teknik ini menyebabkan data yang besar / panjang akan di akses lebih cepat, karena transfer data di lakukan secara paralel dari kumpulan harddisk. Sayang sekali, strip pendek / kecil akan mendominasi di bandingkan operasi multiple I/O yang overlap, karena setiap I/O akan melibatkan semua harddisk. Memang, sistem operasi seperti DOS tidak mengijinkan untuk melalukan operasi I/O overlap, tapi ini tidak akan menimbulkan dampak negatif. Aplikasi seperti video / audio on demand, citra kedokteran dan akusisi data, yang biasanya memanfaatkan akses dengan record panjang akan memperoleh performance yang optimum dengan kumpulan harddisk yang menggunakan stripe pendek.

Salah satu hal kesulitan dengan menggunakan stripe pendek adalah perlu harddisk yang putarannya di sinkronkan satu sama lain untuk menjaga agar performance tidak turun pada saat record pendek di akses. Tanpa putaran yang di sinkronkan maka setiap harddisk di kumpulan harddisk akan berputar dengan posisi yang random. Karena I/O tidak dapat di akses sampai setiap harddisk telah mengakses bagian dari record-nya, maka harddisk yang membutuhkan waktu terlama yang akan menentukan kapan selesai operasi I/O harddisk. Semakin banyak harddisk di kumpulan harddisk, semakin parah rata-rata waktu akses dari kumpulan harddisk, pada kondisi paling buruh akan sama dengan waktu akses paling jelek sebuah harddisk. Dengan mensinkronkan putaran harddisk akan menjamin bahwa setiap harddisk di kumpulan harddisk akan menyelesaikan transfer data-nya pada saat yang sama. Dengan cara ini maka waktu akses kumpulan harddisk akan sama dengan waktu akses sebuah harddisk jauh lebih baik dari waktu akses terburuk dari harddisk.

Pranala Menarik