2

Assuming I have enabled in BIOS a (presumably) hardware RAID in mirror aka RAID1 mode (as opposed to Software-one provided by the OS like Windows Storage Spaces), how is it actually ensuring data consistency between 2, and 3+ drives in the RAID 1 (mirror) configuration:

  • What happens if I replace one of the RAID 1 drives with an identical (same brand, model, capacity) one but different data (maybe empty or just garbage or different data)? How does it know which is the "good/trusty" drive it should read from to reconstruct RAID array? And will it even detect the change at all, or will it assume that nothing was changed and start spitting out garbage (especially when doing parallel reads for performance)?

    • Is it any different if a different drive model is used (but same capacity)?
  • Why is a special AHCI RAID driver needed for such a set up if data duplication (mirroring) is performed at a sub-OS level? And would some kind of messing up with the driver (like it does not load for example) completely break or damage RAID 1 array and lead to data loss?

  • What happens, and how it should be done, if I want to migrate the 2 drives from being attached to on Motherboard to another one? Do I lose my RAID setup, even if both drives at the point of migration contain identical data? Is there a way on the new system to tell BIOS/system in advance that these 2 drives come from RAID 1, they are synced, do not initialize them, simply remember the fact that they are in RAID 1 already?

  • Assuming there is a BIOS-level RAID1 available (say at the motherboard level), and we are talking about 2 similar drives (same tech, i.e. both SATA SSDs or both NVME SSDs or both HDDs) of the same capacity, when (if ever) would it make sense to use Software RAID (like Windows Storage Spaces) instead? Put another way, if available should hardware RAID 1 be always preferred?

Sorry for several related questions, but all of them have to do with RAID 1 data consistency insurance, and so I think deserve to be put together.

Fit Nerd
  • 127

1 Answers1

4

Based on my limited experience with the various BIOS-level hardware RAID systems, I will take a moment to answer here.

  • How does it know about a new disk? As I understand it, the BIOS actually places data in the MBR identifying a disk as part of a RAID set. The new disk doesn't have that marker, so its contents are not RAID, so it gets overwritten.
  • Can you use a different drive model with the same capacity? Yes. I've mixed Seagate and WD drives of the same capacity in RAID sets.
  • Can you move RAID drives from one hardware RAID system to another? In my experience, no. The MBR information mentioned in my first point above varies from one RAID BIOS to another, so unless something has changed about standardization of that data block since I last dared to try this, the new RAID BIOS will not recognize that the drives you're dropping on it are a RAID set, or even contain valid data. Which is the reason for my last point:
  • When does it make sense to use software RAID instead? Well, in my experience, always. I have lost more data due to hardware RAID controllers failing and leaving me two loaded, mirrored, and useless disks than I have to all failures in the much longer time I've been using (specifically Linux mdadm) software RAID.
tsc_chazz
  • 1,791
  • 2
    Almost right. 1) Not the bios - firmware 2) as long as the controller is happy (not all combinations will work) 3) not portable unless exactly like-for-like and see 1) 4) Almost always - the niche applications are not worth discussing here and likely to confuse the issue – symcbean Sep 29 '23 at 17:27
  • Fair comment - though most MBs do say "RAID BIOS" rather than "RAID firmware." And on 4 I did say "in my experience"... which doesn't include that niche. – tsc_chazz Sep 29 '23 at 17:30
  • Thank you for the information and sharing your experience. I presume it works the same way for GPT-partitioned drives as well? – Fit Nerd Sep 29 '23 at 17:48
  • I would assume so, but to be honest I haven't tried "hardware" RAID since before GPT really became a thing. If the BIOS / firmware is handling the RAID, though, the entire disk would be RAIDed and the GPT partitioning would be all on the mirrored area, probably. Firmware would have no need to know about partitioning and data interpretation. – tsc_chazz Sep 29 '23 at 17:57
  • Right, but then in that case it could / should not write anything into the very first sectors since those are part of whatever partition scheme is used. So an open question for now I guess exactly how it is typically done in BIOS/Firmware RAIDs. – Fit Nerd Sep 29 '23 at 20:28
  • 1
    Um. RAID can own the entire disk, and only show (sector 2 -> end) to the boot process and the OS. Or it can report a smaller end cylinder and place its tables and indicators on the final cylinder. Even though it's fake RAID, it sits between hardware and BIOS, and so what the BIOS sees as the first sector is what the RAID firmware chooses to expose to it. At least, that's how it worked when I was using it, and that's a large part of why the RAID controller dying left the disks useless. – tsc_chazz Sep 29 '23 at 20:33