1. Ikhtisar RAID
Pada tahun 1988, University of California, Berkeley, mengusulkan konsep RAID (RedundantArrayofInexpensiveDisks), dan karena biaya disk terus menurun, RAID menjadi (RedundantArrayofIndependentDisks), tetapi substansinya tidak berubah. SNIA, Berkeley, dan organisasi lain telah menetapkan tujuh level RAID0 ~ RAID6 sebagai level RAID standar, dan RAID standar dapat digabungkan ke level RAID lainnya, dan level yang paling banyak digunakan adalah RAID0, RAID1, RAID3, RAID5, RAID6 dan RAID10. Setiap tingkat RAID mewakili metode dan teknologi implementasi, dan tidak ada perbedaan antar level. Dalam aplikasi praktis, tingkat RAID yang sesuai dan metode implementasi khusus harus dipilih berdasarkan karakteristik aplikasi data pengguna, dengan mempertimbangkan ketersediaan, kinerja, dan biaya.
Dari perspektif implementasi, RAID terutama dibagi menjadi tiga jenis: RAID lunak, RAID keras, dan RAID hibrida. Semua fungsi soft RAID dilakukan oleh sistem operasi dan CPU, yang secara alami paling tidak efisien. Hard RAID dilengkapi dengan chip kontrol/pemrosesan RAID khusus dan chip pemrosesan I/O dan buffer array, yang tidak memakan sumber daya CPU tetapi mahal. RAID hibrida memiliki chip kontrol/pemrosesan RAID, tetapi tidak memiliki chip pemrosesan I/O, yang memerlukan CPU dan driver untuk menyelesaikannya, dan kinerja serta biayanya antara RAID lunak dan keras.
2. Prinsip dasar
RAID adalah subsistem disk yang terdiri dari beberapa drive disk independen berkinerja tinggi, sehingga memberikan kinerja penyimpanan dan teknologi redundansi data yang lebih tinggi daripada satu disk. RAID adalah kelas teknologi manajemen multi-disk yang menyediakan penyimpanan berkinerja tinggi dengan keandalan data tinggi dengan biaya yang terjangkau untuk lingkungan host. Dua tujuan utama RAID adalah untuk meningkatkan keandalan data dan kinerja I/O. Dalam array disk, data tersebar di beberapa disk, tetapi untuk sistem komputer, itu seperti satu disk. Redundansi dicapai dengan menulis data yang sama ke beberapa disk secara bersamaan (biasanya seperti pencerminan) atau dengan menulis data cek yang dikomputasi ke array, memastikan bahwa kehilangan data tidak disebabkan ketika satu disk gagal.
Ada tiga konsep dan teknik utama dalam RAID: Pencerminan, DataStripping, dan Dataparity:
Pencerminan, yang mereplikasi data ke beberapa disk, meningkatkan keandalan di satu sisi dan meningkatkan performa baca dengan membaca data dari dua replika atau lebih secara bersamaan. Jelas, performa tulis gambar sedikit lebih rendah, dan dibutuhkan lebih banyak waktu untuk memastikan bahwa data ditulis dengan benar ke beberapa disk. Data striping, yang menyimpan serpihan data pada beberapa disk yang berbeda, dan beberapa serpihan data bersama-sama membentuk salinan lengkap data, yang berbeda dari beberapa salinan pencerminan, dan sering digunakan untuk pertimbangan performa. Strip data memiliki granularitas konkurensi yang lebih tinggi, dan ketika data diakses, strip data dapat membaca dan menulis data pada disk yang berbeda secara bersamaan, menghasilkan peningkatan kinerja I/O yang sangat signifikan. Verifikasi data, menggunakan data redundan untuk deteksi dan perbaikan kesalahan data, data redundan biasanya dihitung dengan kode Hemingway, operasi XOR dan algoritme lainnya. Fungsi verifikasi dapat sangat meningkatkan keandalan, perampokan, dan toleransi kesalahan array disk. Namun, validasi data mengharuskan data dibaca dari berbagai sumber, dihitung, dan dibandingkan, yang dapat memengaruhi kinerja sistem. Tingkat RAID yang berbeda menggunakan satu atau beberapa dari tiga teknologi untuk mencapai keandalan, ketersediaan, dan performa I/O data yang berbeda. Adapun RAID mana yang akan dirancang (atau bahkan kelas atau tipe baru) atau mode RAID apa yang akan digunakan, perlu untuk membuat pilihan yang masuk akal berdasarkan pemahaman mendalam tentang kebutuhan sistem, dan untuk mengevaluasi keandalan, kinerja, dan biaya secara komprehensif untuk membuat kompromi.
Secara umum, keuntungan utama RAID adalah: kapasitas besar, kinerja tinggi, keandalan, dan pengelolaan.
3. Peringkat RAID
JBOD (JustaBunchOfDisks) bukanlah tingkat RAID standar, sering digunakan untuk mewakili kumpulan disk yang tidak memiliki perangkat lunak kontrol untuk memberikan kontrol terkoordinasi. JBOD menghubungkan beberapa disk fisik secara seri untuk menyediakan disk logis yang besar. Performa penyimpanan persis sama dengan satu disk, dan tidak memberikan keamanan data. Kapasitas penyimpanan yang tersedia sama dengan jumlah ruang penyimpanan semua disk anggota.
RAID0, yang disebut striping, adalah teknologi striping data yang sederhana dan tidak tercekap. Performa adalah yang tertinggi dari semua tingkat RAID. Tidak ada kebijakan redundansi dalam bentuk apa pun yang disediakan. Pemanfaatan ruang penyimpanan 100%.
RAID1 disebut pencerminan, dan menulis data ke disk kerja dan disk cermin secara konsisten, dan memiliki pemanfaatan ruang disk sebesar 50%. Performa dipengaruhi saat data ditulis, tetapi data tidak dibaca. Ini memberikan perlindungan data terbaik, setelah disk kerja gagal, sistem secara otomatis membaca data dari disk cermin, yang tidak akan memengaruhi pekerjaan pengguna.
RAID2 disebut Heming Code Disk Array, dan ide desainnya adalah menggunakan Heming Code untuk mencapai redundansi verifikasi data. Semakin besar lebar data, semakin tinggi pemanfaatan ruang penyimpanan, tetapi semakin banyak disk yang Anda butuhkan. Ini memiliki kemampuan untuk memperbaiki kesalahan, tetapi overhead redundansi data Hemingcode terlalu besar dan rekonstruksi data sangat memakan waktu, sehingga RAID2 jarang digunakan dalam praktiknya.
RAID3 disebut strip paritas khusus, yang menggunakan disk khusus sebagai disk cek, dan disk lainnya sebagai disk data, dan data disimpan silang di setiap disk data dalam bit dan byte. RAID3 membutuhkan setidaknya tiga disk.
RAID4 dan RAID3 bekerja dengan prinsip yang hampir sama. Memberikan kinerja membaca yang sangat baik, tetapi kinerja tulis yang buruk. Dan seiring bertambahnya jumlah disk anggota, kemacetan sistem disk checksum akan menjadi lebih menonjol. Ini jarang terjadi dalam aplikasi dunia nyata, dan produk penyimpanan arus utama jarang menggunakan perlindungan RAID4.
RAID5 disebut strip checksum paritas terdistribusi, yang seharusnya menjadi tingkat RAID yang paling umum saat ini, dan prinsipnya mirip dengan RAID4, tetapi tidak ada kemacetan dalam kinerja disk periksa selama operasi tulis bersamaan di RAID4.
RAID6, yang disebut strip paritas ganda, memperkenalkan konsep pemeriksaan ganda untuk memecahkan masalah integritas data ketika dua disk gagal pada saat yang sama sehingga kelas RAID lain tidak dapat diselesaikan. Namun, biayanya jauh lebih mahal daripada RAID5, memiliki kinerja tulis yang buruk, dan sangat kompleks untuk dirancang dan diterapkan. Oleh karena itu, RAID6 jarang digunakan dalam praktik, dan umumnya merupakan alternatif ekonomis untuk solusi RAID10.
Tingkat RAID standar memiliki kekuatan dan kelemahannya masing-masing. Gabungkan beberapa tingkat RAID untuk mencapai keunggulan yang saling melengkapi dan menutupi kekurangan satu sama lain, sehingga dapat mencapai sistem RAID dengan kinerja yang lebih tinggi, keamanan data, dan indikator lainnya. Tentu saja, biaya implementasi tingkat kombinasi umumnya sangat mahal dan hanya digunakan dalam beberapa kasus tertentu. Faktanya, hanya RAID01 dan RAID10 yang banyak digunakan.
RAID01 bergaris terlebih dahulu dan kemudian dicerminkan, yang pada dasarnya untuk mencitrakan disk fisik; RAID10 adalah untuk gambar terlebih dahulu dan kemudian stripe, yaitu untuk citra disk virtual. Di bawah konfigurasi yang sama, RAID01 biasanya memiliki toleransi kesalahan yang lebih baik daripada RAID10. RAID01 menggabungkan keunggulan RAID0 dan RAID1, dengan pemanfaatan disk keseluruhan hanya 50%.
4. Perbandingan level RAID arus utama
Konfigurasi RAID
Tingkat / Deskripsi: | Toleransi kesalahan | Merit | Kekurangan | RAID 0
Petakan data di seluruh drive untuk membuat disk virtual besar. Karena setiap disk fisik hanya memproses sebagian permintaan, disk tersebut dapat memberikan performa yang lebih tinggi. Namun, jika satu drive gagal, disk virtual (VD) akan menjadi tidak dapat diakses dan data akan hilang secara permanen. | tidak | Performa yang lebih baik Penyimpanan tambahan | Itu tidak boleh digunakan untuk data penting | RAID 1
Cerminkan data, simpan redundansi data di dua drive. Jika satu disk gagal, disk lainnya akan mengambil alih sebagai drive utama. | Kesalahan disk Kegagalan disk tunggal | Performa baca tinggi Pulihkan dengan cepat setelah kegagalan hard disk Redundansi data | Overhead disk besar Kapasitas terbatas | RAID 5
Petakan data di seluruh drive dan simpan bit paritas setiap strip data pada drive yang berbeda di VD. Bit paritas berisi informasi yang dapat digunakan untuk merekonstruksi data dari disk yang gagal dari disk lain jika terjadi kegagalan disk tunggal. | Kesalahan disk Kegagalan disk tunggal | Penggunaan kapasitas penggerak yang efisien Performa baca tinggi Performa tulis sedang hingga tinggi | Dampak kegagalan disk sedang Karena perhitungan ulang paritas, waktu rekonstruksi lebih lama | RAID 6
Petakan data di seluruh drive dan simpan bit paritas setiap strip data pada drive yang berbeda di VD. Tidak seperti RAID 5, RAID 6 melakukan dua perhitungan paritas (P dan Q), memungkinkannya menahan kegagalan disk ganda. | Redundansi data Performa baca tinggi | Kesalahan disk Kegagalan disk ganda | Performa tulis berkurang karena dua perhitungan paritas Karena setara dengan menggunakan 2 disk untuk paritas, ada biaya tambahan | RAID 10
Strip pada set cermin. Overhead disk tinggi, tetapi ini adalah solusi yang bagus untuk kinerja tinggi, redundansi, dan pemulihan cepat jika terjadi kegagalan drive. | Kesalahan disk Satu kegagalan disk per set gambar | Performa baca tinggi Grup RAID dengan hingga 192 drive dapat didukung | Biaya tertinggi | RAID 50
Strip RAID 5 di set. Dengan mengurangi pembacaan disk per perhitungan paritas, performa dapat ditingkatkan dengan RAID 5, tergantung pada konfigurasinya. | Kesalahan disk Satu kegagalan disk per rentang | Performa baca tinggi Performa tulis sedang hingga tinggi Grup RAID dengan hingga 192 drive dapat didukung | Dampak kegagalan disk sedang Karena perhitungan ulang paritas, waktu rekonstruksi lebih lama | RAID 60
Strip RAID 6 di set. Dengan pembacaan disk yang lebih sedikit per perhitungan paritas, performa dapat ditingkatkan dengan RAID 6, tergantung pada konfigurasinya. | Kesalahan disk Dua disk gagal per rentang | Performa baca tinggi Grup RAID dengan hingga 192 drive dapat didukung | Performa tulis berkurang karena dua perhitungan paritas Karena setara dengan menggunakan 2 disk untuk paritas, ada biaya tambahan |
5. Perbedaan perangkat lunak dan perangkat keras RAID
RAID lunak
Soft RAID tidak memiliki chip kontrol khusus dan chip I/O, dan sistem operasi serta CPU mengimplementasikan semua fungsi RAID. Sistem operasi modern pada dasarnya menawarkan dukungan RAID lunak, memberikan abstraksi antara drive fisik dan logis dengan menambahkan lapisan perangkat lunak di atas driver perangkat disk. Saat ini, peringkat RAID paling umum yang didukung oleh sistem operasi adalah RAID0, RAID1, RAID10, RAID01, dan RAID5. Misalnya, Windows Server mendukung RAID0, RAID1 dan RAID5, Linux mendukung RAID0, RAID1, RAID4, RAID5, RAID6, dll., dan Mac OS X Server, FreeBSD, NetBSD, OpenBSD, Solaris, dan sistem operasi lainnya juga mendukung tingkat RAID yang sesuai.
Manajemen konfigurasi dan pemulihan data RAID lunak relatif sederhana, tetapi semua tugas RAID sepenuhnya diselesaikan oleh CPU, seperti menghitung nilai pemeriksaan, sehingga efisiensi eksekusi relatif rendah.
Soft RAID diimplementasikan oleh sistem operasi, sehingga partisi tempat sistem berada tidak dapat digunakan sebagai disk anggota logis RAID, dan soft RAID tidak dapat melindungi disk sistem D. Untuk beberapa sistem operasi, informasi konfigurasi RAID disimpan dalam informasi sistem, bukan sebagai file terpisah pada disk. Dengan cara ini, ketika sistem mogok secara tak terduga dan perlu diinstal ulang, informasi RAID hilang. Selain itu, teknologi toleransi kesalahan disk tidak sepenuhnya mendukung penggantian online, hot swapping atau hot swapping, dan apakah dapat mendukung hot swap disk yang salah terkait dengan implementasi sistem operasi.
RAID Keras
Hard RAID memiliki pemrosesan kontrol RAID dan chip pemrosesan I/O sendiri, dan bahkan buffering array, yang merupakan yang terbaik dari tiga jenis implementasi dalam hal penggunaan CPU dan kinerja keseluruhan, tetapi juga memiliki biaya implementasi tertinggi. Hard RAID biasanya mendukung teknologi hot-swapping, yang menggantikan disk yang gagal saat sistem berjalan.
Hard RAID terdiri dari kartu RAID dan chip RAID yang terintegrasi pada motherboard, dan platform server sering menggunakan kartu RAID. Kartu RAID terdiri dari 4 bagian: chip pemrosesan inti RAID (CPU pada kartu RAID), port, cache, dan baterai. Di antara mereka, port mengacu pada jenis antarmuka disk yang didukung oleh kartu RAID, seperti IDE/ATA, SCSI, SATA, SAS, FC, dan antarmuka lainnya.
RAID keras dan lunak campuran
Soft RAID tidak terlalu bagus dan tidak melindungi partisi sistem, sehingga sulit diterapkan pada sistem desktop. Hard RAID sangat mahal, dan RAID yang berbeda independen satu sama lain dan tidak dapat dioperasikan. Oleh karena itu, orang mengadopsi kombinasi perangkat lunak dan perangkat keras untuk menerapkan RAID, sehingga mendapatkan kompromi antara kinerja dan biaya, yaitu kinerja berbiaya tinggi.
Meskipun RAID ini menggunakan chip kontrol pemrosesan, untuk menghemat biaya, chip seringkali lebih murah dan memiliki daya pemrosesan yang lebih lemah, dan sebagian besar pemrosesan tugas RAID masih dilakukan oleh CPU melalui driver firmware.
6. Pemilihan aplikasi RAID
Ada tiga faktor utama dalam memilih tingkat RAID: ketersediaan data, kinerja I/O, dan biaya. Jika ketersediaan tidak diperlukan, pilih RAID0 untuk performa tinggi. Jika ketersediaan dan performa penting dan biaya bukan faktor utama, pilih RAID1 berdasarkan jumlah disk. Jika ketersediaan, biaya, dan performa sama pentingnya, pilih RAID3 atau RAID5 berdasarkan transfer data umum dan jumlah disk. Dalam aplikasi praktis, tingkat RAID yang sesuai harus dipilih berdasarkan karakteristik dan kondisi spesifik aplikasi data pengguna, dengan mempertimbangkan ketersediaan, kinerja, dan biaya.
|