Raid fuck up supermicro H12SSL-C

Hi Guys,

I have a supermicro h12ssl motherboard which has a Broadcom (LSI) 3008 SAS3 raid controller.
On this raid controller I had a raid10 setup with 4 disks.

Unfortunately, after adding new hardware to the server, I accidentally started the server with the power to two of the disks disconnected.
This resulted in the disks being marked as degraded, also after reconnecting the power to the drivers.

Anyone else been in this position before? and is there a good way to recover from this?
I was hoping that there is a command that can run with storcli to set the two degraded disk in to a good state, but I’m not sure if that’s the way too go…

2 Likes

Dont ever do hardware raid or fakeraid.

I suggest you try to convert and import to mdadm to recover your data. Mdadm definitley has ways to force mark as good.

3 Likes

The funny thing is, I was on my way to get rid of the hardware raid :smiling_face_with_tear:
That’s why I needed to add new hard disks to create a ZFS to migrate the data too, but sadly I messed up by not checking all of the old hard drives before powering on the system…

At the moment I’m migrating data away from other hard disks, to create spacer to where i can recover the data that was on the array, and in the meantime looking from a good tutorial/guide on how to do the raid recovery with mdadm or dmsetup, not sure which one would be better in this case.

1 Like

-use ddrescue to copy the contents of each drive to another drive the exact same size or larger
-ONLY work with the copies
-connect copied drives and destination drive to modern linux installation with mdadm installed and active (Fedora 41 live meets this criteria)
-mount RAID volume from file manager
-copy contents from RAID array to destination drive

hollar if you get stuck

3 Likes

If your RAID 10 array is degraded after starting the server with two disks disconnected, you can try recovering it using storcli. First, check the RAID status with storcli /c0 /vall show and identify the degraded disks. Use storcli /c0 /e<enclosure_id>/s<slot_id> set good to mark them as “good.”

Once marked, the controller should automatically start rebuilding the array. If it doesn’t, manually initiate it with storcli /c0 /v<number> start rebuild and monitor progress with storcli /c0 /vall show rebuild.

If the disks are detected as “foreign,” clear the foreign configuration using storcli /c0 /fall delete. If the array still doesn’t recover, you may need to recreate it without data loss using the “No Initialization” option, but proceed carefully.

After recovery, it’s a good idea to set up a solid backup strategy to avoid issues in the future. Let me know if you need more help.

1 Like

The strange thing is, If I go in to the bios, it shows the virtualdisk ID as Volume 323, with status failed.

But if I try to get the virtual disk information with StorCLI nothing is returned.

I believe it should work with
/opt/lsi/storcli64] ./storcli64 /c0/vall show all

but that only returns:
Controller = 0
Status = Failure
Description = Un-supported command

If I try to execute ./storcli64 /c0/v323 show all
it returns
Invalid object range or count

But if I execute
./storcli64 /c0/s0 show all

it does return information of the drivers, and it does this for all the disks

But trying to set the state of a disk to good returns:
Controller = 0
Status = Failure
Description = Un-supported command

So I think that in the current state the set command won’t work on the disks with the current state of the raid set