Apakah pengontrol RAID dengan cache NV meningkatkan kinerja atau integritas array SSD?

20

Saya berencana untuk membeli server (Dell PowerEdge R740) dengan SSD di RAID 10, dan prioritas saya adalah kinerja penulisan dan integritas data. Ini akan menjalankan Linux. SSD memiliki cache tulis dengan perlindungan kehilangan daya.

Sepertinya ini adalah opsi RAID saya:

  • PERC H330 (tanpa cache), RAID perangkat lunak (pass-through)
  • PERC H330 (tanpa cache), RAID perangkat keras (write-through)
  • PERC H730P (2 Gb NV cache), RAID perangkat keras (write-through)
  • PERC H740P (8 Gb NV cache), RAID perangkat keras (write-through)

Pertanyaan saya:

  • Apakah ada dari konfigurasi ini yang berisiko kehilangan data atau kerusakan pada kehilangan daya?
  • Konfigurasi mana yang harus saya harapkan memiliki kinerja penulisan terbaik?
  • Apakah ada manfaat lain dari cache NV yang belum saya pertimbangkan?

Pertanyaan-pertanyaan Terkait:

M. Dudley
sumber
1
Konter-intuitif, pengaturan pengontrol RAID perangkat keras yang didukung oleh SSD mungkin berkinerja dengan kurang dari throughput maksimum yang diharapkan ketika cache tulis-balik diaktifkan. Tapi saya melihat Anda baru mempertimbangkan untuk menulis-jadi, jadi Anda tampaknya menyadari hal itu.
the-wabbit

Jawaban:

16

Jika digunakan dengan SSD tanpa cache tulis yang dilindungi oleh powerloss, NVCACHE pengontrol RAID sangat penting untuk mendapatkan kinerja yang baik.

Namun, saat Anda menggunakan SSD dengan cache tulis yang dilindungi oleh powerloss, kinerja tidak boleh jauh berbeda di antara berbagai opsi. Di sisi lain, ada faktor-faktor lain yang perlu dipertimbangkan:

  • dengan perangkat keras, RAID seringkali lebih mudah untuk mengidentifikasi dan mengganti disk yang gagal: pengontrol dengan jelas menandai drive yang terpengaruh (misalnya: dengan lampu kuning) dan menggantinya secara umum sesederhana menarik drive lama / memasukkan yang baru. Dengan solusi RAID perangkat lunak, Anda harus memasukkan perintah yang sesuai untuk mengidentifikasi dan mengganti drive yang gagal;
  • RAID perangkat keras menyajikan BIOS volume tunggal untuk boot, sementara RAID perangkat lunak menunjukkan berbagai perangkat komponen;
  • dengan pengontrol yang tepat (yaitu: H730 atau H740) dan disk (SAS 4Kn) Anda dapat dengan mudah mengaktifkan bidang integritas data yang diperluas (T10 / T13);
  • RAID perangkat keras menjalankan gumpalan biner buram yang tidak dapat Anda kendalikan;
  • RAID perangkat lunak Linux jauh lebih fleksibel daripada perangkat keras RAID yang pernah saya gunakan.

Yang mengatakan, pada pengaturan seperti itu saya sangat menyarankan Anda untuk mempertimbangkan menggunakan ZFS di Linux: cache tulis yang dilindungi powerloss berarti Anda dapat terus maju tanpa perangkat ZIL khusus, dan ZFS menambahkan fitur (kompresi, checksumming, dll) dapat sangat berguna .

Untuk langsung menjawab pertanyaan Anda:

  1. Apakah ada dari konfigurasi ini yang berisiko kehilangan data atau kerusakan pada kehilangan daya? Tidak: karena setiap cache dilindungi, Anda seharusnya tidak merusak data kehilangan daya.
  2. Konfigurasi mana yang harus saya harapkan memiliki kinerja penulisan terbaik? H740P yang dikonfigurasi dalam mode cache write-back harus memberi Anda kinerja penulisan maksimum absolut. Namun dalam beberapa keadaan, tergantung pada beban kerja spesifik Anda, write-through bisa lebih cepat. Pengontrol DELL (dan LSI) bahkan memiliki beberapa fitur SSD tertentu (yaitu: CTIO dan FastPath) yang dibangun dengan proses tulis-dan dapat meningkatkan kinerja penulisan acak Anda.
  3. Apakah ada manfaat lain dari cache NV yang belum saya pertimbangkan? Ya: pengontrol dengan NVCACHE yang tepat tidak akan pernah membiarkan kedua RAID1 / 10 kaki memiliki data yang berbeda. Dalam beberapa keadaan, RAID perangkat lunak Linux rentan terhadap ketidakcocokan RAID1 (tidak berbahaya) . ZFS tidak menderita masalah itu.
shodanshok
sumber
2
ZFS benar-benar lebih dari sebuah RAID: ia memiliki strip paritas variabel sehingga tidak ada ready-memodifikasi-tulis atau "lubang tulis". Juga alih-alih cache halaman, ARC canggih. Ada satu hal yang terlewat: NV RAM ... yang dapat diselesaikan dengan integrasi NV DIMM :)
BaronSamedi1958
13

T1: Apakah ada dari konfigurasi ini yang berisiko kehilangan data atau rusaknya kehilangan daya?

A1: Anda seharusnya tidak memiliki masalah, kecuali Anda akan mengkonfigurasi cache dalam mode write-back, dan w / out NV RAM.

T2: Konfigurasi mana yang harus saya harapkan memiliki kinerja penulisan terbaik?

A2: Yang jelas memiliki jumlah cache terbesar! ... dan tidak ada paritas RAID, tapi tentu saja RAID10.

T3: Apakah ada manfaat lain dari cache NV yang belum saya pertimbangkan?

A3: Menulis penggabungan, spoofing dll. Tapi ini benar-benar kecil.

BaronSamedi1958
sumber
Saya tidak yakin apakah cache akan membantu karena saya membaca bahwa penulisan ulang penulisan tidak banyak berdampak pada SSD, dan karena SSD memiliki cache tulis sendiri.
M. Dudley
@ M. Dudley ya, mereka memiliki cache, tetapi Anda tidak dapat memiliki cache terlalu banyak . Cache bagus, semakin banyak cache semakin baik.
ThoriumBR
7
@ M. Dudley: Pengontrol RAID memiliki cache gigabyte yang berada di belakang bus jalur PCIe x4-x8 laten yang relatif cepat dan rendah, sementara cache SSD berada dalam megabita dan berada di belakang tautan SATA / SAS 6-12 Gbps.
BaronSamedi1958
@ BaronSamedi1958 tidak masalah sebanyak yang kelihatannya. "Gigabytes cache" tersebar di seluruh volume logis yang telah Anda tetapkan, jadi jika dipecah menjadi satu disk, mungkin hanya beberapa megabyte per disk. Juga, bahkan Samsung 850 Pro yang bertanggal datang dengan 1 GB cache DRAM, hanya sekitar setengah dari seluruh cache H730P. Terakhir tetapi tidak kalah pentingnya: antarmuka SAS3 menghasilkan 12GB / s melalui satu tautan, mengungguli jalur x8 PCIe 3 yang biasanya disambungkan oleh pengontrol RAID.
the-wabbit
2
@ the-wabbit sementara saya umumnya setuju dengan Anda, perhitungan bandwidth Anda salah: SAS3 memiliki 12 Gb / s atau 1,5 GB / s maksimum per-arah. PCI-E 8x memiliki bandwidth maksimum 128 Gb / s atau 16 GB / s per-arah. Selain itu, pengontrol SAS sendiri biasanya tergantung dari tautan PCI-E hulu, seperti halnya pengontrol RAID.
shodanshok
0

Anda mungkin ingin menggunakan Bonnie ++ untuk melakukan tes pada kartu raid server / Perc vs SSD. HDD kecepatan 5k / 10 / 16k rpm atau drive hybrid akan memvariasikan statistik dan penggunaan cache.

advokat lain untuk ZFS .. Saya mulai menggunakan server SGI pada pertengahan 90-an dan ZFS mengetuk tempat dari apa pun yang terkait UFS / ext2 / 3 .. itu tahan bom.

Munkeh72
sumber
0

Selain jawaban yang baik di atas: item yang sering dilupakan tetapi diperlukan untuk integritas yang diperluas dari setiap RAID adalah penggosokan data alias patroli media atau patroli baca . Ini memastikan bahwa semua data pada semua disk dapat dibaca dalam waktu lama.

Tanpa menggosok, adalah mungkin - dan setelah periode waktu yang panjang dan sejumlah besar sektor bahkan memungkinkan - bahwa sektor data yang belum pernah digunakan untuk waktu yang sangat lama tidak dapat dibaca lagi. Dalam mode operasional normal ini bukan masalah karena bad sector dapat direkonstruksi menggunakan data redundansi. Namun, jika disk gagal Anda sudah kehilangan kelebihan (kecuali untuk RAID 6 atau tingkat RAID bersarang) dan ketika sektor buruk muncul selama pembangunan kembali Anda mati di air.

Jadi, selalu aktifkan penggosokan data kecuali jika Anda menyukai kejutan yang tidak menyenangkan.

Zac67
sumber