Saya baru-baru ini diberitahu tentang beberapa masalah tentang Parity-RAID tanpa cache yang tidak mudah menguap. Kontroler HW yang lebih canggih memiliki cache bertenaga baterai untuk menyelesaikan operasi penulisan jika terjadi kegagalan daya. Sekarang, beberapa orang mengatakan bahwa kegagalan seperti itu, mungkin dalam kombinasi dengan array yang rusak, dapat membunuh seluruh sistem file Anda. Lainnya mengklaim bahwa masalah-masalah itu sudah ketinggalan zaman dan / atau kesalahpahaman .
Sayangnya, tidak ada yang memberikan referensi keras dan pencarian untuk md RAID dan cache yang tidak mudah menguap , atau untuk caching bitmap memberikan jawaban yang andal tentang apakah md-RAID5 disarankan atau tidak.
Ada informasi tentang itu?
Jawaban:
Saya menganggap RAID perangkat lunak Linux sama andalnya dengan kartu RAID perangkat keras tanpa BBU dan dengan cache tulis-balik diaktifkan. Lagi pula, data yang tidak terikat dalam sistem RAID perangkat lunak berada di dalam cache buffer kernel, yang merupakan bentuk caching balasan tanpa cadangan baterai.
Karena setiap kartu RAID-5 perangkat keras yang pernah saya gunakan memungkinkan Anda untuk mengaktifkan cache tulis-kembali tanpa memiliki BBU, saya berharap perangkat lunak RAID-5 dapat bekerja dengan baik untuk orang dengan tingkat toleransi risiko tertentu.
ObWarStory:
Yang telah dikatakan, saya secara pribadi mengalami kehilangan data yang serius karena tidak memiliki BBU yang diinstal pada kartu RAID-5 meskipun cache write-back diaktifkan. (Tidak ada UPS, juga. Jangan meneriaki saya, bukan panggilan saya.)
Bos saya memanggil saya dengan panik ketika saya sedang berlibur karena salah satu sistem produksi kami tidak akan muncul kembali setelah listrik padam. Dia kehabisan hal untuk dicoba. Saya harus menarik ke sisi jalan, mengeluarkan laptop, nyalakan WiFi tethering di ponsel saya,
ssh
ke sistem yang dilanda, dan memperbaikinya, sementara keluarga saya duduk di sana bersama saya di sisi jalan sampai saya selesai mengembalikan tabel basis data roasted dari cadangan. (Kami sekitar satu mil jauhnya dari kehilangan penerimaan sel pada saat itu.)Jadi, beri tahu saya: berapa banyak yang akan Anda bayarkan untuk kartu RAID + BBU sekarang ?
sumber
Hanya pemberitahuan peringatan: operasi penulisan RAID-5/6 membutuhkan waktu CPU yang signifikan saat array Anda menurun. Jika server Anda sudah dimuat penuh ketika disk gagal, itu mungkin jatuh ke dalam jurang tidak responsif. Masalah seperti itu tidak akan terjadi dengan pengontrol RAID perangkat keras. Jadi saya sangat menyarankan agar tidak menggunakan perangkat lunak RAID-5/6 pada server produksi. Untuk workstation atau server yang sedikit dimuat, tidak masalah.
sumber
RAID RAID memang memiliki mode kegagalan - jika server turun setengah jalan menulis Anda bisa mendapatkan strip rusak. Kontroler HW RAID dengan BBU tidak semahal itu, dan itu akan mempertahankan blok-blok kotor sampai Anda dapat memulai ulang disk.
BBU pada cache tidak menjamin penulisan jika terjadi kegagalan daya (misalnya, tidak memberi daya pada disk). Ini menggerakkan cache selama beberapa hari sampai Anda dapat memulai ulang disk. Kemudian controller akan membersihkan buffer yang kotor ke disk.
Beberapa catatan tentang SW vs. HW RAID-5
Menulis pada volume SW RAID-5 bisa lambat jika cache write-through digunakan dengan memblokir I / O, karena panggilan tidak kembali sampai semua I / O telah selesai. Kontroler HW RAID dengan BBWC dapat mengoptimalkan ini secara signifikan, sehingga Anda dapat melihat kinerja yang jauh lebih baik.
Terakhir kali saya melihat Anda tidak dapat melakukan I / O langsung (yaitu zero-copy DMA) pada volume SW RAID. Ini mungkin telah berubah dan benar-benar hanya relevan untuk aplikasi seperti manajer basis data yang menggunakan partisi mentah.
Pengontrol SAS RAID modern dapat menarik atau mendorong 1GB / detik atau lebih data dari array disk, terutama jika diformat dengan ukuran garis besar (katakan 256kb). Saya bahkan telah membuat benchmark Adaptec ASR-2200 yang lebih lama pada kecepatan yang mengindikasikan cukup jenuhnya kedua saluran scsi pada 600MB / detik + secara agregat (10x 15k disk) dengan beban CPU yang sangat sedikit pada mesin host. Saya tidak yakin Anda bisa mendapatkan itu dari perangkat lunak RAID-5 tanpa banyak beban CPU jika sama sekali, bahkan pada mesin modern. Mungkin Anda bisa membacanya dengan cepat.
Konfigurasi untuk mem-boot off volume HW RAID sederhana - volume RAID transparan ke O / S.
Pengontrol RAID tingkat rendah dari vendor tingkat-1 seperti adaptec tidak semahal itu dengan harga eceran dan dapat dibeli untuk kacang tanah di ebay. Tapi ingat, jika Anda membeli barang bekas, tetap gunakan vendor tingkat-1 dan pastikan Anda tahu modelnya dan pastikan avialabilitas driver dari situs web mereka.
Sunting: Dari komentar @ psusi, pastikan Anda tidak mendapatkan pengontrol fakeraid (SW RAID transparan yang tersembunyi di driver), tetapi sebagian besar penawaran dari nama yang lebih besar (Adaptec, 3Ware atau LSI) bukan unit palsu. Apa pun yang bisa mengambil BBU tidak akan palsu.
sumber
Jika Anda mendapatkan data dalam cache tetapi belum pada disk, dan daya gagal, maka data akan hilang, dan disk Anda kemungkinan besar akan berada dalam keadaan tidak konsisten. Probabilitasnya tidak terlalu tinggi kecuali Anda memiliki sistem yang terus-menerus menulis, tetapi saya masih tidak ingin mempertaruhkan data saya pada permainan probabilitas.
Sebuah twist yang menarik adalah membuat sistem file utama pada RAID5 / 6 tetapi meletakkan jurnal pada drive biasa, sehingga data pertama kali dibuang pada drive biasa. Kinerja mungkin akan pergi ke crapper karena Anda akan dibatasi pada kecepatan tulis satu drive, tetapi keandalannya akan naik. Jadi saya kira dalam situasi di mana kinerja penulisan Anda tidak penting, tetapi bacaan Anda, itu mungkin bekerja dengan baik.
Atau Anda bisa menghabiskan $ 100 lagi dan mendapatkan kartu dengan BBU, atau UPS kecil, dan hindari semua komplikasi ini sama sekali;)
sumber
Linux mdadm software raid dirancang agar dapat diandalkan seperti serangan perangkat keras dengan cache yang didukung baterai. Tidak ada masalah dengan kehilangan daya secara tiba-tiba, di luar yang juga berlaku untuk kehilangan daya tiba-tiba pada satu disk.
Ketika sistem kembali setelah daya mati, array akan disinkronkan kembali, yang pada dasarnya berarti bahwa paritas dihitung ulang untuk mencocokkan data yang ditulis sebelum kegagalan daya. Butuh waktu, tapi sungguh, bukan masalah besar. Waktu sinkronisasi ulang dapat sangat dikurangi dengan mengaktifkan bitmap write-intent.
sumber
Berikut adalah blog yang menjelaskan masalah dengan RAID5 dan bagaimana ZFS RAIDZ menyelesaikannya .
Poin utamanya adalah:
dan
sumber