BIOS RAID0 And Differences Between Disks

Home » CentOS » BIOS RAID0 And Differences Between Disks
CentOS 5 Comments

My computer running CentOS 7 is configured to use BIOS RAID0 and has two identical SSDs which are also encrypted. I had a crash the other day and due to a bug in the operating system update, I am unable to boot the system in RAID mode since dracut does not recognize the disks in grub. After modifying the grub command line I am able to boot the system from one of the harddisks after entering the LUKS password, seemingly without any problems but am obviously not running in RAID0 mode. When I booted in single-disk mode I am sure there were some new files created on the single SSD the system sees but I fairly quickly shut it down until this can be fixed.

 

My question is: once the operating system fix has been released and I can once again boot in BIOS RAID0 mode and decrypting both SSDs (same password entered only once of course), how will the BIOS RAID0 react? How will it handle new files on one disk, altered timestamps etc.?

Thanks.

5 thoughts on - BIOS RAID0 And Differences Between Disks

  • is it RAID 0 (striped) or raid1 (mirrored) ??

    if you wrote on half of a raid0 stripe set, you basically trashed it. blocks are striped across both drives, so like 16k on the first disk, then
    16k on the 2nd then 16k back on the first, repeat (replace 16k with whatever your raid stripe size is).

    if its a raid 1 mirror, then either disk by itself has the complete file system on it, so you should be able to remirror the changed disk onto the other drive. you MUST do that re-mirror because your two disks are no longer identical, and reads will alternate between them, so some reads will get new data and others will get old data, which will be highly chaotic.

  • John, I figure, BIOS RAID is essentially software RAID (handled by Linux kernel’s md module, or whatever module’s name is). I have a question then. If it were RAID-1, and one of the drives was mounted, would the kernel’s md (?) module recognize that the other drive is out of sync, – there should be timestamp when each of RAID members was last in sync/used. Right? Or I am mistaken?

    If I understand correctly, OP has, or rather had (uh-huh), RAID-0.

    Valeri

    PS. I thought I was wrong, but I was mistaken ;-)

  • Gentlemen, I misspoke, it is RAID1, ie mirroring, not striping, RAID0. If it had been the latter, I would not have been able to boot from one of the two disks.

    With that said, I have now rebooted my system from one disk and am making a backup to a separate harddisk using dd. I am not sure how the BIOS RAID – don’t know if it is hardware or software – will handle the difference between the two disks when I am being able to reboot again once the CentOS bug has been fixed…

  • How do I do the remirroring once the system is working again? I filed a bug report on bugs.CentOS.org (https://bugs.CentOS.org/view.php?id830#c37850) but I could use some more assistance to take this further…

    It was suggested that “if no kernel boots any more, I am pretty sure that your initial ramdisks were rebuild without including a kernel module required by LUKS.you should rebuild them , forcing dracut to include the missing driver. And in the process you might as well upgrade to CentOS 7.9, kernel 3.10.0-1160.2.2.el7.x86_64 is already available in the CR repository.”

    Unfortunately I do not know how do the above… And I do not know which drivers are missing that I need to include…

    If anyone would be able to tell me the specific steps I will attempt to do the above.

    Thank you in advance.