Jadi saya memutuskan untuk membuat 2 kelompok RAID6 16HDD atau 4 dari 8 HDD.
Itu bukan cara terbaik untuk melakukan sesuatu. Ini mungkin bekerja cukup baik, tetapi tergantung pada persyaratan kinerja Anda, mungkin tidak.
Ukuran ideal untuk array RAID5 / 6 akan sedemikian rupa sehingga kelipatan tepat dari jumlah data yang "merentang" array cocok dengan ukuran blok sistem file yang dibangun di atasnya.
RAID5 / 6 array berfungsi sebagai perangkat blok - satu blok data merentang disk dalam array, dan blok itu juga berisi data paritas. Sebagian besar pengontrol RAID akan menulis sejumlah besar data berukuran dua untuk setiap disk dalam array - nilai persisnya dapat dikonfigurasi dalam sistem RAID yang lebih baik - dan unit Dot Hill Anda adalah salah satu dari "sistem RAID yang lebih baik". Itu penting.
Jadi dibutuhkan N x (jumlah data yang disimpan per keping disk) untuk menjangkau array, di mana N adalah jumlah disk data. Array RAID5 5-disk memiliki 4 "data" disk, dan array RAID6 10-drive memiliki 8 disk data.
Karena ketika data ditulis ke array RAID5 / 6, jika blok data sedemikian rupa sehingga cukup besar untuk menjangkau seluruh array, paritas dihitung untuk data itu - biasanya dalam memori pengontrol - maka seluruh strip ditulis untuk disk. Sederhana, dan cepat.
Tetapi jika potongan data yang ditulis tidak cukup besar untuk menjangkau seluruh array, apa yang harus dilakukan oleh pengontrol RAID untuk menghitung data paritas yang baru? Pikirkan tentang hal ini - perlu semua data di seluruh strip untuk menghitung ulang data paritas baru .
Jadi jika Anda membuat 16-drive RAID6 array dengan default per-disk chunk 512kb, itu berarti dibutuhkan 7 MB untuk "span" array.
ZFS bekerja dalam blok 128kb, umumnya.
Jadi ZFS menulis blok 128kB - ke array RAID6 16-drive. Dalam konfigurasi yang Anda usulkan, itu berarti pengontrol RAID perlu membaca hampir 7 MB dari array dan menghitung ulang paritas di 7 MB tersebut. Kemudian tulis ulang seluruh 7 MB itu kembali ke disk.
Jika Anda beruntung, semuanya ada dalam cache dan Anda tidak mendapatkan kinerja yang luar biasa. (Ini adalah salah satu alasan utama mengapa posisi "jangan gunakan RAID5 / 6" memiliki pengikut seperti ini - RAID1 [0] tidak menderita karena hal ini.)
Jika Anda kurang beruntung dan Anda tidak benar-benar menyelaraskan partisi sistem file Anda, blok 128kB itu mencakup dua garis RAID yang tidak ada dalam cache, dan pengontrol perlu membaca 14 MB, menghitung paritas, kemudian menulis 14 MB. Semua untuk menulis satu blok 128kB.
Nah, itu yang perlu terjadi secara logis . Ada banyak optimisasi yang dapat dilakukan oleh pengontrol RAID yang baik untuk mengurangi IO dan beban komputasi dari pola IO tersebut, sehingga mungkin tidak terlalu buruk.
Tetapi di bawah beban berat penulisan blok 128kB ke lokasi acak, ada peluang yang sangat bagus bahwa kinerja array RAID6 16-drive dengan ukuran 7 MB akan sangat mengerikan.
Untuk ZFS, "ideal" yang mendasari RAID5 / 6 LUN untuk sistem file tujuan umum di mana sebagian besar akses secara acak acak akan memiliki ukuran garis yang bahkan pembagi 128kB, seperti 32kB, 64kB, atau 128kB. Dalam hal ini, yang membatasi jumlah disk data dalam array RAID5 / 6 menjadi 1 (yang tidak masuk akal - bahkan jika mungkin untuk mengkonfigurasi, lebih baik menggunakan RAID1 [0]), 2, 4, atau 8. Kinerja terbaik dalam skenario kasus terbaik adalah dengan menggunakan ukuran garis 128kB untuk array RAID5 / 6, tetapi kasus terbaik tidak sering terjadi dalam sistem file tujuan umum - seringkali karena sistem file tidak menyimpan metadata sama seperti mereka menyimpan data file.
Saya akan merekomendasikan pengaturan array RAID5 5-disk atau array RAID6 10-disk, dengan ukuran potongan per-disk yang cukup kecil sehingga jumlah data untuk menjangkau seluruh strip array adalah 64kB (ya, saya sudah melakukan ini sebelum untuk ZFS - berkali-kali). Itu berarti untuk array RAID dengan 4 disk data, ukuran chunk per-disk harus 16kB, sedangkan untuk array RAID 8-data-disk, ukuran chunk per-disk harus 8kB.
Kemudian memungkinkan ZFS untuk menggunakan seluruh array yang - jangan tidak partisi itu. ZFS akan menyelaraskan dirinya dengan benar ke seluruh drive, apakah drive tersebut adalah disk tunggal sederhana atau array RAID yang disajikan oleh pengontrol RAID.
Dalam hal ini, dan tanpa mengetahui ruang yang tepat dan persyaratan kinerja Anda, saya sarankan menyiapkan tiga array RAID6 10-drive atau enam array RAID5 5-drive dengan ukuran garis 64kB, mengkonfigurasi beberapa suku cadang panas, dan menyimpan empat dari Anda disk untuk apa pun yang muncul di masa depan. Karena sesuatu akan terjadi.
Saya pasti tidak akan menggunakan sistem disk dalam mode JBOD - ini adalah perangkat yang sepenuhnya memenuhi standar NEBS Level 3 yang menyediakan keandalan signifikan dan perlindungan ketersediaan yang terpasang langsung ke perangkat keras. Jangan buang itu hanya karena "ZFS !!!!". Jika itu adalah perangkat keras komoditas murah yang Anda kumpulkan dari komponen? Ya, mode JBOD dengan ZFS menangani RAID adalah yang terbaik - tapi itu BUKAN perangkat keras yang Anda miliki. GUNAKAN fitur yang disediakan perangkat keras.