Intel Matrix Storage Manager vs RAID Perangkat Lunak Linux


28

Chipset yang saya gunakan mendukung teknologi Intel RSTe. Ini berarti bahwa saya memiliki dua opsi untuk pengaturan RAID:

  • RAID perangkat lunak linux biasa, menggunakan mdadmperintah.
  • RSTe (baik oleh BIOS atau, sekali lagi, menggunakan mdadmperintah dengan -e imsmsakelar).

Mengingat itu mdadmdapat digunakan untuk keduanya, saya tidak dapat memahami perbedaan antara keduanya.

  • Apa yang diberikan RSTe kepada saya dibandingkan dengan RAID perangkat lunak Linux biasa?
  • Ketika dalam mode RSTe, apakah jalur I / O RAID aktual (mis. Mirroring dan striping) ditangani oleh Linux mdatau oleh BIOS.
  • Secara khusus, ketika saya menggunakan "matriks RAID" (yaitu RAID mencakup partisi tertentu daripada seluruh disk), apakah saya perlu menginstal grub secara manual pada kedua MBR?

Jawaban:


46

Ikhtisar

Ada tiga jenis RAID yang tersedia:

  • Software RAID: Ini berarti bahwa BIOS Anda dan sistem operasi lain berpikir bahwa Anda benar-benar memiliki dua disk terpisah, tetapi murni pada tingkat perangkat lunak, sistem operasi Anda menggunakan beberapa format pada disk khusus OS untuk RAID (mirroring, striping, bit parity, apa pun) . Semua pemrosesan dilakukan oleh CPU tanpa dukungan perangkat keras.

  • BIOS RAID: Juga dikenal sebagai "RAID Palsu" atau "Host RAID", ini berarti bahwa firmware motherboard Anda (lebih khusus, pengontrol SATA / SAS Anda) memiliki dukungan eksplisit untuk mengenali perangkat RAID. Pada tingkat perangkat logis ( lun), banyak hard drive Anda akan muncul sebagai satu drive ke sistem operasi. Ini pada dasarnya adalah pengontrol SATA / SAS yang mengatakan "Saya benar-benar hanya memiliki satu hard drive. Ya, sebenarnya dua, tapi ssst, hanya satu, percayalah". Dengan kata lain sistem operasi dapat mengetahuibahwa ini adalah pengaturan RAID, tetapi sistem operasi * tidak bertanggung jawab atas format on-disk paritas RAID / striping / dll. Namun, bahkan dalam mode ini, CPU melakukan semua perhitungan untuk paritas bit dan striping. Motherboard, BIOS, dan pengontrol SATA hanya memiliki logika yang cukup untuk secara fisik "menggabungkan" perangkat dan menentukan format pada disk untuk RAID. Tetapi mereka tidak memiliki prosesor khusus untuk melakukan perhitungan, dan bergantung pada perangkat lunak dalam sistem operasi untuk memberitahu CPU untuk melakukannya, itulah sebabnya Anda masih harus memberi tahu Linux tentang BIOS RAID Anda. (Intel Matrix / RST adalah jenis BIOS RAID).

  • Hardware RAID: Di sinilah Anda memiliki chip khusus yang tujuan utamanya adalah untuk memproses data yang diperlukan untuk RAID. Chipnya bisa sangat kuat; beberapa pengontrol RAID perangkat keras sebenarnya memiliki dual-core, chip mirip CPU, meskipun secara khusus dioptimalkan untuk menjalankan sistem operasi tertanam yang SANGAT cepat dalam melakukan perhitungan RAID, seperti bit paritas untuk RAID-5, atau striping untuk RAID -0. Hard disk secara fisik dihubungkan ke kartu RAID, yang menyediakan pengontrol SATA / SAS, biasanya cache baca dan tulis dalam DRAM atau Flash, antrian perintah asli, dan prosesor sentral terpasang yang melakukan lebih banyak perhitungan matematis. Chip perangkat keras ini berjalan antara $ 150 di entry level hingga ribuan untuk backplanes RAID pusat data industri.

Kesesuaian

Secara umum, setiap jenis RAID "terikat" dengan beberapa aspek tertentu yang, ketika aspek itu berubah, Anda mengalami masalah kompatibilitas.

  • RAID perangkat lunak terkait dengan sistem operasi yang menentukan format RAID. Terkadang, di antara dua versi berbeda dari sistem operasi yang sama, format RAID akan rusak, yang menyebabkan ketidakcocokan. Walaupun secara konseptual dimungkinkan untuk format RAID perangkat lunak mana pun untuk didukung oleh sistem operasi lain, karena ini hanya perangkat lunak , dalam praktiknya, sebagian besar sistem operasi menyajikan format RAID yang tidak kompatibel yang hanya dapat dikenali oleh sistem operasi. Namun, kompatibilitas terluas yang diketahui adalah format RAID yang digunakan secara native oleh kernel Linux ( mdseperti yang Anda diskusikan di OP), yang juga dapat mengenali RAID perangkat lunak Windows, yang disebut Dynamic Disks.

  • RAID BIOS terikat pada motherboard yang Anda miliki. Dimungkinkan untuk memindahkan drive yang diformat dengan format RAID BIOS tertentu ke motherboard lain dengan solusi RAID BIOS yang serupa; misalnya, Intel RST ke sistem lain dengan RST. Tetapi Anda perlu meneliti ini dengan seksama sebelum Anda bergerak, untuk memastikan bahwa itu akan kompatibel jika Anda peduli itu kompatibel.

  • RAID Perangkat Keras terkait dengan pengontrol perangkat keras tertentu, atau serangkaian pengontrol perangkat keras yang secara eksplisit dinyatakan oleh pabrikan agar kompatibel. Beberapa vendor mempertahankan format disk RAID perangkat keras yang sangat konsisten yang didukung oleh banyak generasi pengontrol; yang lain mengubah format lebih sering. Sekali lagi, Anda harus merisetnya berdasarkan kasus per kasus.

Performa

Kinerja sangat tergantung pada bagaimana Anda mengonfigurasi parameter dasar array RAID, dan lebih sedikit pada solusi spesifik. Secara umum, pengontrol RAID Perangkat Keras memiliki "plafon" tertinggi untuk kinerja maksimum; mereka juga tidak mengenakan pajak CPU Anda sebanyak solusi lain. Tetapi jika Anda memilih jenis RAID yang salah untuk beban kerja Anda, atau ukuran garis yang salah, atau pendekatan caching yang salah, pengontrol RAID Perangkat Keras juga bisa sangat lambat, lebih lambat dari salah satu drive yang berjalan dalam mode non-RAID. Hal yang sama berlaku untuk solusi lain, yang juga bisa sangat lambat.

  • RAID perangkat lunak paling cocok untuk konfigurasi RAID-1, karena mirroring adalah salinan sederhana dari data yang sama ke dua drive, dan tidak ada bit paritas untuk dihitung. RAID-5 pada Perangkat Lunak RAID mengerikan.

  • Kinerja RAID BIOS secara umum dapat dibandingkan dengan RAID Perangkat Lunak, tetapi pengontrol RAID BIOS tertentu dan format disk telah diketahui berkinerja bermasalah atau buruk. Secara umum, jika Anda harus memilih antara RAID Software dan BIOS RAID, yang pertama lebih menjanjikan untuk kinerja, terutama jika Anda menjalankan distribusi Linux baru-baru ini.

  • Kinerja perangkat keras RAID bisa sangat cepat karena kekuatan pemrosesan yang dioptimalkan dari prosesor pengontrol RAID, yang seperti yang saya katakan dirancang untuk throughput tinggi dan benar-benar dapat datang sebagai chip multi-core - jadi ini adalah besi yang serius. Kelemahan utama adalah Anda kehilangan fleksibilitas - Anda tidak bisa hanya memasukkan drive ke komputer lain tanpa pengontrol RAID Perangkat Keras - dan biaya. RAID Perangkat Keras adalah level terbaik untuk menggunakan RAID-5 atau RAID-6, terutama jika Anda memiliki banyak disk (4 atau lebih).

Secara keseluruhan

Meskipun BIOS RAID didukung oleh Linux, saya tidak bisa merekomendasikan Anda menggunakannya.

Sekarang untuk langsung menjawab pertanyaan Anda, setelah saya memberi Anda jawaban panjang lebar:

Apa yang diberikan RSTe kepada saya dibandingkan dengan RAID perangkat lunak Linux biasa?

Lihat perbandingan di atas antara RAID perangkat lunak dan BIOS RAID. "RSTe" adalah turunan dari BIOS RAID; mdRAID Linux tanpa -e imsmadalah turunan dari perangkat lunak RAID.

Ketika dalam mode RSTe, apakah jalur I / O RAID aktual (mis. Mirroring dan striping) ditangani oleh Linux md atau oleh BIOS.

Jika Anda maksud jalur data, selalu ditangani oleh CPU (dan dengan demikian, sistem operasi) kecuali jika Anda memiliki kartu RAID perangkat keras khusus. Saya tidak berpikir ini datang pada motherboard apa pun, meskipun beberapa chipset server kelas atas di luar sana mungkin mengejutkan saya ...

Secara khusus, ketika saya menggunakan "matriks RAID" (yaitu RAID mencakup partisi tertentu daripada seluruh disk), apakah saya perlu menginstal grub secara manual pada kedua MBR?

Tidak. Faktanya, Anda tidak perlu menginstal GRUB di kedua MBR. Mari kita bawa kasus demi kasus:

  • RAID Perangkat Lunak: Cukup pilih satu disk secara acak untuk menginstal GRUB, dan atur dalam urutan BIOS agar boot terlebih dahulu. Ingat, Anda dapat mem-mirror partisi individu jika Anda mau, sehingga disk tidak harus sedikit untuk sedikit identik dalam perangkat lunak RAID. Seseorang dapat memiliki MBR dengan bootloader dan yang lainnya tidak memiliki apa-apa di MBR.

  • BIOS RAID: BIOS akan memberi tahu Anda bahwa itu adalah satu "disk" (sebenarnya akan menyebutnya apa itu, array RAID), sehingga Anda tidak bisa memilih di mana menginstal GRUB. Ketika Anda menginstal Linux untuk ini, MBR (termasuk bootloader) dan setiap sektor lain dari kedua disk akan disalin antara dua disk. Jadi tidak seperti RAID perangkat lunak, BIOS RAID tidak menegakkan bahwa kedua disk harus diblokir untuk blok yang sama, karena Anda tidak dapat memisahkannya sebagai dua perangkat logis; pengontrol disk mengatakan bahwa mereka SATU perangkat logis, bukan dua. Jadi Anda tidak bisa hanya mengatakan "Saya ingin menulis beberapa data ke drive 0 tetapi tidak untuk drive 1". Tidak memungkinkan. Tetapi sepenuhnya mungkin dengan RAID Perangkat Lunak.

  • RAID Perangkat Keras: BIOS akan memberi tahu Anda bahwa ini adalah satu "disk", dan sejauh menyangkut BIOS, bahkan tidak sepenuhnya sadar bahwa Anda sedang berurusan dengan banyak disk. Pengontrol RAID sepenuhnya mengabstraksi semua detail RAID dari sistem operasi dan BIOS, kecuali sejauh Anda dapat mengonfigurasi beberapa pengontrol RAID perangkat keras menggunakan semacam protokol khusus dalam sistem operasi. Tetapi perangkat tersebut benar-benar tidak dapat dipisahkan dari lapisan perangkat lunak, mirip dengan BIOS RAID.

Sunting: Memperbarui untuk lebih banyak jawaban pertanyaan

Saya masih gagal memahami beberapa hal. Pertama, tentang BIOS RAID: Saya dapat membuatnya menggunakan mdadm, jadi Linux tidak menyembunyikan disk yang mendasarinya dari saya.

Aneh dan sulit dijelaskan. Pada dasarnya disk muncul sebagai satu di lapisan tertentu, dan sebagai dua di lapisan lain. Tetapi saya bertaruh bahwa dengan BIOS RAID bahwa setiap disk tidak akan memiliki simpul perangkat yang terpisah, misalnya /dev/sdadan /dev/sdb. Jika ya, well, BIOS RAID Anda berbeda dari yang saya lihat.

tentang grub dan MBR: jika RAID mencakup partisi daripada disk, maka saya masih dapat melihat disk yang mendasarinya. MBR tidak berada di bawah RAID dan oleh karena itu Anda perlu menginstal bootloader dua kali untuk bisa boot jika terjadi kegagalan disk. Apakah ini benar?

Tidak ada salahnya untuk menginstal salinan lain, tetapi dalam kasus kegagalan disk, booting akan menjadi perhatian Anda. Singkatnya, silakan dan lakukan jika Anda mau, tapi itu bukan hal yang paling penting. Menginstal grub dari CD langsung ke HDD mudah.

Disk dalam RAID (terutama jika mereka memiliki merek dan model yang sama, diproduksi di pabrik yang sama, dan beroperasi tepat di samping satu sama lain pada suhu yang sama) cenderung gagal secara berurutan, satu demi satu. Jadi jika sebuah disk gagal, mungkin tidak apa-apa untuk hanya mengangkat bahu dan memasukkan disk baru dan memulai pembangunan kembali: ada peluang yang wajar bahwa, selama pembangunan kembali, disk terakhir yang berisi salinan data yang konsisten akan gagal. Ini pada titik ini ketika Anda turun ke disk terakhir yang tersisa yang saya sarankan memiliki seorang ahli (atau melakukannya sendiri jika Anda pandai perangkat keras) menghapus piring-piring dari disk asli, membeli disk baru yang identik membuat / model , letakkan piring-piring di sana dan baca data menggunakan disk baru. Ini mahal dan memakan waktu,

Jadi itulah lima pertanyaan yang saya jawab untuk Anda; jika Anda menemukan nilai dalam informasi ini, tandai jawabannya dengan tepat. Terima kasih.


1
terima kasih atas jawaban terperinci dan wawasan Anda. Saya masih gagal memahami beberapa hal. Pertama, tentang BIOS RAID: Saya bisa membuatnya menggunakan mdadm, jadi Linux sebenarnya tidak menyembunyikan disk yang mendasarinya dari saya. Kedua, tentang grub dan MBR: jika RAID mencakup partisi daripada disk, maka saya masih bisa melihat disk yang mendasarinya. MBR tidak berada di bawah RAID dan oleh karena itu Anda perlu menginstal bootloader dua kali untuk bisa boot jika terjadi kegagalan disk. Apakah ini benar?
Leonid99

1
Saya memiliki PCH 6-seri, dan mdadm --detail-platformmenunjukkan bahwa Intel Matrix Storage Manager adalah versi 11.0.0.1339. Saya dapat sebenarnya melihat drive individu saya sebagai /dev/sdcdan /dev/sdd. Array RAID1 palsu saya kemudian /dev/md126.
Jonathon Reinhart

1
Ketika kernel Linux aktif dan berjalan, kode firmware / BIOS tidak lagi dijalankan. Jadi apa yang harus dilakukan oleh kernel? Segala sesuatu? Jika itu masalahnya, lalu apa yang sebenarnya dilakukan IMSM ? Tampaknya itu tidak lebih dari Linux dengan RAID perangkat lunak dengan sendirinya? Saya kira saya bertanya, apa sebenarnya yang dilakukan BIOS / Chipset?
Jonathon Reinhart

Yah itu tampaknya hibrida: Ketika komputer pertama kali boot (ketika BIOS masih aktif), BIOS menyediakan logika RAID lunak. Saat OS melakukan booting, driver-drivernya kemudian bertanggung jawab untuk mempertahankan array RAID. 1 , 2
Jonathon Reinhart

2

Jawaban allquixotic terlalu panjang:

  1. Apa yang diberikan RSTe kepada saya dibandingkan dengan RAID perangkat lunak Linux biasa?

Dukungan boot dan set fitur yang sedikit berbeda. Pada intinya itu adalah format data. - Anda bahkan dapat menggunakannya tanpa ROM Opsi RST Intel (maka Anda tidak memiliki dukungan boot khusus). Apa artinya format tertulis di mdadmhalaman manual.

  1. Ketika dalam mode RSTe, apakah jalur I / O RAID aktual (mis. Mirroring dan striping) ditangani oleh Linux md atau oleh BIOS.

Oleh Linux md (yaitu kernel seluruhnya).

Ini membuat satu pertanyaan terbuka: Mengapa RST Intel hanya terbatas pada beberapa chipset? Mereka tidak berpartisipasi dalam RAID sama sekali. Paling-paling mereka menyimpan sedikit, yang memberi tahu ROM Opsi untuk menolak berjalan pada chipset yang tidak didukung.


1
Ini jauh lebih baik daripada jawaban yang diterima, yang panjang, bertele-tele, sebagian besar salah, dan tidak menjawab pertanyaan. (Poin kuncinya adalah bahwa RSTe menggunakan format yang dimengerti oleh BIOS, memungkinkan Anda untuk mem-boot dari RAID yang rusak.)
Nemo

1

Hmmm satu jawaban terlalu panjang yang lain terlalu pendek.

RST "raid" terutama untuk digunakan jika Anda melakukan dual-boot workstation karena Intel menghasilkan driver windows dan Linux dan Anda dapat mengkonfigurasi raid di BIOS. Anda mengkonfigurasi RAID, mempartisi disk virtual dan dapat melakukan boot ganda dengan kedua OS yang memahami banyak partisi.

mdam adalah untuk jika server didedikasikan untuk Linux. Ini "lebih baik" karena jika Anda membangun kembali array Anda melakukannya dari OS bukan dari BIOS sehingga kecepatan membangun kembali jauh lebih cepat. Dengan disk besar, pembuatan ulang serangan BIOS dapat memakan waktu beberapa HARI.

Tetapi kenyataannya adalah Anda memilih antara Sepotong C hijau atau Sepotong C biru. Kenyataannya adalah bahwa peranti lunak RAID pada dasarnya adalah serangan "parit terakhir CYA".

Jika Anda kehilangan disk di array RAID perangkat lunak pada dasarnya ini memungkinkan Anda untuk segera menghentikan server, membuat cadangan lengkap, mengganti disk yang gagal dan mungkin sisa disk, kemudian membuat ulang array atau mencoba membangun kembali. Cukup sering lebih cepat untuk mengganti disk kemudian menghapus semua yang ada di dalamnya dan membuat ulang array dan kemudian boot dari disk pemulihan cadangan kemudian memulihkan dari cadangan.

Dengan chip array perangkat keras, semua disk dapat masuk ke nampan hot-swap dan ketika salah satu gagal, lampu merah menyala, pada disk yang gagal, Anda mengeluarkannya, menggantinya dengan disk baru, maka kartu serangan perangkat keras secara otomatis membangun kembali array saat server masih berjalan.

Sementara secara teori dimungkinkan untuk melakukan ini jika Anda memiliki nampan swap panas dan array perangkat lunak Linux mdam dalam prakteknya Anda berisiko panik dan server dapat dengan mudah gagal untuk boot pada disk yang tersisa.

Masalah lainnya menyangkut JENIS disk yang digunakan. Disk workstation biasa seiring bertambahnya usia mulai mengembangkan bad sector yang secara internal dipetakan ulang oleh disk menjadi sektor cadangan. Masalahnya adalah bahwa remap ini hanya terjadi pada penulisan - disk akan menunda memetakan kembali jika pembacaan terjadi pada sektor yang buruk dan pada beberapa model disk akan berulang kali membaca kembali sektor yang buruk atau gagal, membandingkan hasilnya setiap kali hingga diputuskan. memiliki data terbaik yang bisa didapat dari sektor itu sebelum memetakannya kembali. Proses ini dapat memakan waktu satu menit atau lebih dan selama waktu itu sekarang Anda memiliki 1 disk dalam array mengabaikan kode perintah sehingga perangkat lunak serangan perangkat lunak akan macet dan menandai array sebagai terdegradasi. Saat reboot Anda sekarang memiliki 2 disk dengan sektor yang sama yang mungkin memiliki data yang berbeda antara disk, jadi sekarang perangkat lunak manajer RAID tidak tahu mana yang "baik", disk yang tidak memiliki kesalahan atau disk yang memetakan ulang sektor dengan perkiraan terbaik dari data yang dimilikinya. Western Digital membuat "Merah" drive yang seharusnya digunakan dalam perangkat lunak RAID array yang tidak melakukan ini, mereka hanya gagal sektor membaca segera ketika mereka mendeteksi sektor yang buruk dan memetakannya kembali sehingga array palungan dapat mengambil data dari sektor ini pada drive yang baik dan tulis ke drive dengan sektor gagal. Tidak perlu dikatakan bahwa mereka mengenakan biaya tambahan untuk disk ini. mereka hanya gagal membaca sektor ketika mereka mendeteksi sektor yang buruk dan memetakannya kembali sehingga array palang dapat mengambil data dari sektor pada drive yang baik dan menulisnya ke drive dengan sektor yang gagal. Tidak perlu dikatakan bahwa mereka mengenakan biaya tambahan untuk disk ini. mereka hanya gagal membaca sektor ketika mereka mendeteksi sektor yang buruk dan memetakannya kembali sehingga array palang dapat mengambil data dari sektor pada drive yang baik dan menulisnya ke drive dengan sektor yang gagal. Tidak perlu dikatakan bahwa mereka mengenakan biaya tambahan untuk disk ini.

Singkatnya, jangan gunakan serangan perangkat lunak untuk server yang tidak dapat mentolerir downtime jika disk gagal. Ini terutama ditujukan untuk workstation di mana orang tidak secara teratur melakukan backup, dan untuk server SOHO kecil yang dicadangkan dan dapat mentolerir downtime sehari atau lebih jika disk crash.

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.