Bantu saya memilih kombinasi level RAID untuk contoh SQL Server 2008

11

Saya akan membangun kembali satu server IBM 3400 dari awal. Server ini didedikasikan untuk contoh SQL Server 2008 yang berjalan pada Windows 2008 R2.

Saya akan membuat konfigurasi RAID baru. Saya memiliki 6 SCSI 73 GB drive di dalam mesin dan pengontrol IBM ServerRAID 8K. Apa cara yang baik untuk mengatur level RAID? Haruskah saya memiliki dua, tiga atau satu bidang pada pengontrol saya?

Saya mempertimbangkan untuk membuat salah satu solusi berikut:

  1. Gunakan semua disk dan buat kumpulan RAID 10.
  2. Gunakan 4 disk untuk kumpulan RAID 1e dan gunakan untuk menyimpan data basis data dan OS, dan gunakan 2 disk lainnya dalam kumpulan RAID 0 dan gunakan itu untuk menyimpan log basis data.
  3. Beberapa kombinasi lainnya.

Apakah ukuran unit strip yang lebih besar lebih baik?

Server ini akan menjadi pelanggan ke basis data yang direplikasi. Tugas utamanya adalah pelaporan dan pengambilan data, dengan hanya agen replikasi yang menulis. Ukuran basis data sekitar 90 GB.

adopilot
sumber
Apakah Anda menggunakan istilah RAID1E dan RAID10 interchangebly?
Jack bilang coba topanswers.xyz 11/11
juga, 3x73 ~ 220GB - berapa banyak yang Anda harapkan 90GB DB Anda tumbuh setiap tahun?
Jack bilang coba topanswers.xyz 11/11
@JackDouglas Basis data ini dengan 90 GB adalah dari tahun 2006 hingga sekarang, saya pikir itu dapat tumbuh dalam dua tahun ke depan maks sekitar 30%
adopilot
Saya suka menyediakan penyimpanan berlebih sebanyak mungkin saat membangun server dari awal. Apakah Anda memiliki penyimpanan tingkat kedua juga (misalnya SATA)? Ini bisa sangat berguna untuk jumlah ruang pernapasan yang layak, terutama ketika Anda berakhir dalam situasi DR.
Jack bilang coba topanswers.xyz 11/11

Jawaban:

6

Saya memilih opsi 1. Ingatlah bahwa RAID 0 berarti "tidak ada perlindungan" - apakah log Anda penting? (ya mereka melakukanya).

Itu juga memiliki manfaat kesederhanaan

Dokumen SQL Server mengatakan:

Untuk paralelisme I / O yang dioptimalkan, gunakan ukuran garis 64 KB atau 256 KB.

Tapi biasanya baik untuk pergi dengan IMO default controller

Jack mengatakan coba topanswers.xyz
sumber
5

Catatan:

  • Binari OS + akan mencapai 40GB
  • 6 disk tidak meninggalkan Anda banyak pilihan
  • Di mana Anda ingin backup Anda?
  • Biarkan pengontrol RAID memilih ukuran garis (tergantung pada level RAID). Ini adalah optimasi mikro dan Anda akan melihat data yang bertentangan
  • Kecepatan menulis file log menentukan throughput Anda
  • Anda harus memberikan ruang kosong = 1,2 kali tabel terbesar di dalam MDF Anda untuk pembangunan kembali indeks
  • RAID 0 = bodoh di server yang memiliki data nilai apa pun

Saya akan menggunakan satu array RAID 10

gbn
sumber
4

Saya akan memilih dua volume RAID1 dengan masing-masing tiga mirror, atau RAID10 dengan striping di dua set tiga mirror.

Dasar Pemikiran: dua cermin terlalu sedikit, titik. Server Anda tidak akan dapat melakukan pemeriksaan konsistensi yang tepat lebih dari sebulan sekali, jadi sangat mungkin Anda memiliki beberapa blok buruk. Ini tidak masalah asalkan mirror lainnya masih utuh, tetapi ketika satu disk gagal, kemungkinan Anda tidak akan dapat memulihkan dari yang lain. Karenanya, tiga cermin.

RAID6 adalah ide yang buruk dalam pengaturan database karena penulisan cenderung kecil, yang mengubahnya menjadi operasi baca-modifikasi-tulis di latar belakang.

Apakah dua volume RAID1 atau satu RAID10 lebih baik untuk Anda tergantung pada aplikasi Anda. Jika Anda membutuhkan seluruh ruang, gunakan RAID10, jika tidak saya sarankan satu volume untuk sistem dan indeks, dan satu untuk halaman data. Jika Anda menggunakan dua volume, periksa apakah pengontrol memungkinkan perpanjangan RAID1 ke RAID10 nanti jika Anda perlu melakukan ekspansi.

Simon Richter
sumber
+1 untuk menyebutkan masalah mirroring tidak menyelesaikan (setidaknya sendiri). Dimungkinkan untuk mengkonfigurasi scrubbing agar berlangsung lebih teratur di Linux, apakah hal yang sama berlaku untuk Windows? Namun Anda mengulangi mitos bahwa indeks dan data idealnya harus dipisahkan - ada argumen untuk menjaga log terpisah tetapi indeks dan data sebaiknya digabung bersama-sama (lebih dari spindle sebanyak mungkin)
Jack mengatakan coba topanswers.xyz
Saya pikir seharusnya memungkinkan untuk mengkonfigurasi pemeriksaan yang lebih sering - namun kinerja basis data umumnya turun secara besar-besaran, jadi saya lebih suka menggunakan drive tambahan dan lebih sedikit pemeriksaan.
Simon Richter
Saya biasanya menyimpan indeks secara terpisah sehingga saya dapat menggunakan perilaku cache dan readahead yang berbeda - pemindaian tabel lengkap biasanya mendapat manfaat dari readahead, sedangkan pemindaian indeks lebih jarang dilakukan.
Simon Richter
Pada sistem Debian saya, / usr / share / mdadm / checkarray berjalan dengan flag --idle secara default jadi saya tidak akan mengharapkan hit performa yang nyata. Dalam kasus OPs ini akan ditangani oleh pengontrol RAID dan saya kira itu akan melakukannya terlepas dari apakah Anda memiliki 2 atau 3 mirror sehingga hit (jika ada) tetap ada.
Jack bilang coba topanswers.xyz
ulang pemindaian indeks, titik adil tapi saya akan menyarankan ini adalah optimasi mikro bukan saran tuning umum :) Saya akan bertanya-tanya dalam obrolan untuk melihat apa yang dipikirkan orang lain - jangan ragu untuk chip di ...
Jack mengatakan coba topanswers.xyz
3

Saya setuju dengan Douglas. Satu serangan biasa-10 adalah awal yang baik selama Anda tidak kehabisan ruang disk. Ukuran garis yang lebih kecil akan lebih baik untuk akses DB. Menggunakan partisi yang berbeda hanya membuat Anda kehabisan ruang pada satu partisi lebih cepat.

Masalahnya dengan raid-0 bukan hanya data dapat dibawa dari cadangan atau dihapus, tetapi juga berarti downtime setiap kali disk Anda rusak. Apakah mesin Anda melakukan sejumlah data di mana waktu henti beberapa hari tidak penting? Bahkan dengan dukungan NBD mungkin butuh enam hari untuk mendapatkan disk baru.

Antti Rytsölä
sumber