Satu RAID 10 besar vs beberapa array yang lebih kecil?


10

Pertanyaan saya adalah: kapan waktu yang tepat untuk membuat satu array besar dengan kinerja baca-tulis yang cepat, seperti RAID 10, daripada membuat array yang lebih kecil untuk aplikasi tertentu?

Menurut saya, jika keseluruhan persyaratan I / O saya tidak terlalu berat, satu array dengan kinerja baca dan tulis yang sangat baik dapat memberikan kinerja yang lebih baik secara keseluruhan untuk semua aplikasi kecuali pada saat-saat (mungkin jarang) ketika aplikasi dengan pola akses berbeda memuncak pada pada saat yang sama (menyalin sejumlah besar file besar saat database dibanting).

Jika saya mendedikasikan sepasang spindel untuk tugas tertentu, seperti log transaksi, dan mereka bahkan tidak berkeringat dengan beban kerja ... mengapa tidak hanya menempatkan beban kerja itu ke RAID 10 yang lebih besar? Spindle-spindle tersebut kemudian dapat berkontribusi pada beban kerja lain alih-alih duduk sambil menggaruk sendiri 60% dari waktu.

PS, dalam kasus khusus saya biaya overhead RAID 10 bukan merupakan faktor, karena saya sedang mencari untuk membuat beberapa array RAID 1 dan satu RAID yang lebih kecil 5. Pergi RAID 10 untuk jumlah ruang yang saya butuhkan akan sebanding.

Jawaban:


10

Mengetahui cara mengatur penyimpanan Anda adalah tentang mengukur dan menganggarkan IOPS dan bandwidth. (Saya menjadi sederhana di sini karena ukuran campuran persentase baca / tulis, IO rata-rata, ukuran RAID stripe, dan persentase hit cache sangat penting. Jika Anda bisa mendapatkan angka-angka itu, Anda dapat membuat perhitungan Anda lebih akurat.)

Ada kalkulator IO kecil yang sangat bagus di sini yang sering saya gunakan ketika merencanakan penyimpanan. direktori penyimpanan wmarow juga bagus untuk mendapatkan beberapa angka kinerja disk yang cukup kontemporer.

Jika saya mendedikasikan sepasang spindel untuk tugas tertentu, seperti log transaksi, dan mereka bahkan tidak berkeringat dengan beban kerja ... mengapa tidak hanya menempatkan beban kerja itu ke RAID 10 yang lebih besar?

Ingatlah bahwa menempatkan IO berurutan ke spindle dengan IO acak membuat IO berurutan itu acak. Disk log transaksi Anda mungkin terlihat tidak berkeringat karena Anda melihat operasi IO berurutan. Sequential membaca dan menulis ke volume RAID-1 akan cukup cepat, jadi jika Anda mendasarkan "tidak berkeringat" pada panjang antrian disk, misalnya, Anda tidak mendapatkan keseluruhan cerita.

Ukur atau hitung IOPS acak maksimum yang mungkin untuk volume tujuan yang diinginkan, ambil garis dasar dari beban kerja saat ini pada volume itu, dan kemudian putuskan apakah Anda memiliki cukup ruang kepala untuk memasukkan IOPS log transaksi itu ke dalam IO acak yang tersisa dalam volume tujuan. Juga, pastikan untuk menganggarkan ruang yang diperlukan untuk beban kerja (jelas). Jika Anda cenderung, buat persentase "ruang kepala" tambahan dalam alokasi ruang kerja / ruang kerja IO Anda.

Lanjutkan dengan metodologi ini untuk semua beban kerja lain yang ingin Anda masukkan ke volume RAID-10 tujuan. Jika Anda kehabisan IOPS acak maka Anda menumpuk terlalu banyak ke dalam volume - tambahkan lebih banyak disk atau masukkan beberapa beban kerja pada volume khusus. Jika Anda kehabisan ruang, tambahkan lebih banyak disk.


Satu masalah adalah bahwa dengan konfigurasi saya saat ini, saya benar-benar hanya bisa mendapatkan pengukuran yang baik pada total IOPS, yang hanya sekitar 300 (baca 60%) dengan rata-rata 14K byte per transfer. RAID 10 array besar yang saya pertimbangkan harus dapat melakukan 758 IOPS 16k acak (60% dan memfaktorkan cache). Namun, perhitungan ini tidak mempertimbangkan beban kerja campuran, dan itulah yang saya perjuangkan.
Boden

4

Saya telah membaca lebih banyak artikel akhir-akhir ini yang mengatakan bahwa RAID 5 adalah cara yang buruk untuk mendapatkan keandalan. Saya percaya itu lebih setelah memiliki disk yang rusak dalam array RAID 5, menggantikan drive, dan tidak bisa pulih karena disk kedua memiliki kesalahan baca terpendam laten yang memaksa kami untuk memformat ulang dan memulihkan dari cadangan.

Ketika drive semakin besar, kemungkinan memiliki kesalahan baca yang tidak dapat dipulihkan yang tidak dapat dipulihkan pada disk besar ini juga meningkat, dan dengan RAID 5 keandalan tidak memotongnya lagi. Jika Anda tidak melakukan mirroring, ternyata sarannya adalah menggunakan RAID 10.

Kecuali jika Anda melakukan sesuatu yang sangat sensitif terhadap masalah kecepatan, saya tidak akan khawatir tentang memecah hal-hal menjadi array kecil atau sesuatu seperti itu. Masukkan ke dalam RAID 10 dan lihat apakah kinerja Anda siap. Dengan caching dan memori yang tepat dalam sistem itu harus baik-baik saja. Angka untuk tolok ukur tidak akan pernah seperti yang Anda dapatkan karena tergantung pada penggunaan aktual, beban aktual, kinerja disk drive, caching pengontrol, caching disk, fragmentasi, dll.

Aturan praktis terbaik adalah menyederhanakan konfigurasi sebanyak mungkin karena bahkan jika Anda tenggelam dalam satu atau dua hari dalam keringat pada pengaturan ini dalam satu atau dua tahun Anda harus memecahkan masalah beberapa pada server ini yang akan meninggalkan Anda bertanya-tanya mengapa Anda mengaturnya seperti yang Anda lakukan jika Anda menambahkan kompleksitas yang tidak perlu ke konfigurasi.


1
Ya, saya pindah dari RAID 5 ke RAID 6, dan hukuman tulis membunuh saya. Saya menyukai gagasan satu RAID besar 10. Apa yang dapat saya gunakan untuk membandingkan berbagai jenis beban I / O secara bersamaan?
Boden

1
Stopwatch adalah yang paling akurat :-)
Bart Silverstrim

1
Jangan meremehkan pentingnya drive dan pengontrol. Kami memiliki Dell NAS dengan RAID 5 dan tersedak ketika pengguna masuk dan menarik profil darinya dan kami menyimpulkan bahwa itu karena drive bukan 10.000 RPM, setelah meneliti sedikit ke nomor monitor kinerja. Kami akhirnya memindahkan data tertentu ke server terpisah untuk melepas sebagian beban kerja.
Bart Silverstrim

2
Jujur, saya tidak mengerti mengapa ada orang yang menggunakan RAID 5 di lingkungan perusahaan. Kami RAID 10 sepanjang jalan.
Bip bip

2
Karena pada saat itu RAID 5 tidak jahat :-) RAID 10 dianggap sebagai barang mewah yang tidak diperlukan di tingkat bisnis kami, saya kira Anda bisa mengatakannya. Harga benar-benar jatuh, waktu telah bergeser, dan kami masih mendukung apa yang "berfungsi" di ruang server.
Bart Silverstrim

2

Bagaimana Anda bisa memperkirakan latensi untuk aplikasi Anda?

Katakanlah, misalnya, Anda memiliki satu aplikasi yang sangat sensitif terhadap latensi, dan aplikasi ini berbagi sistem file dengan basis data keuangan Anda. Pada penutupan fiskal, tiba-tiba Anda mendapat panggilan tentang waktu aplikasi sensitif latensi keluar. Bagaimana Anda akan mengetahuinya?

Di sisi lain, saya penggemar berat menyederhanakan semuanya, jadi saya akan memverifikasi bahwa Anda tidak memiliki persyaratan yang luar biasa, dan mengkonsolidasikan dan menyederhanakan konfigurasi Anda jika persyaratan Anda tidak jatuh ke dalam kasus khusus yang aneh.


0

Tentu, mengapa tidak. masalahnya, ingatlah untuk membangun array multi-disk besar Anda dengan benar, salah dan Anda berada dalam waktu yang lama untuk membangun kembali.

RAID 10 hadir dalam 2 rasa:

  • RAID 1 + 0 tempat Anda membuat 2 array RAID 1, lalu luruskan.
  • RAID 0 +1 di mana Anda membangun 2 array RAID 0, lalu mirror mereka.

Setelah disk mati, dalam satu Anda hanya perlu membangun kembali array raid1 tunggal. Dengan yang lain Anda harus membangun kembali seluruh array raid0.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.