I have a server that crashed (don't know why) and it lost access to most of its 24 drives. The server needed a full power cycle to make the disks show up again, except one disk needed a second go (was unplugged and reinserted). Now, while some of the virtual disks went into background initialization, one virtual disk had to rebuild a mirrored disk, and one virtual disk completely lost one of its mirrored disks (the disk that was removed and reinserted, but it was lost before the removal). When I say lost, the raid controller could not see the disk at all.

Now, with the physical disk visible (disk 0:12), can see it is now gone into the Foreign state. And I can't do anything about it (or so it seems). This is my list of tools:

  • iDRAC
  • OMSA
  • omconfig/omreport
  • MegaCLI

The controller is an PERC H710P Mini (Embedded) in a Dell R720xd server.

I tried clearing the foreign configuration this way:

  • iDRAC: Does not see any foreign configuration on the controller even though it displays the physical disk as foreign.
  • OMSA: When I try to open Foreign Configuration options page, it claims there are no foreign configurations. But according to physical disk view, disk 12 is foreign.
  • omconfig storage controller action=clearforeignconfig controller=0 fails after like 1-2 minutes blocking IO with: Failure!
  • omconfig storage pdisk action=clear controller=0 pdisk=0:12 fails fast with Operation not supported. Read, action=clear
  • MegaCli64 -CfgForeign -Scan -aAll reports after 1-2 minutes There are 1 foreign configuration(s) on controller 0.
  • MegaCli64 -CfgForeign -Clear -a0 fails after 1-2 minutes with Failed to clear Foreign configuration on controller 0., exit code 0x01.

How can I get this disk operational again? I must have missed something...


I discovered that MegaCLI has been superseeded by perccli, so I downloaded that, figured out how to use it, and this actually worked! This is what I did:

I deleted the foreign configuration with this command:

perccli64.exe /c0/fall del

Then I assigned disk 12 as hotspare to drivegroup 3 (could probably have chosen global hot spare):

perccli.exe /c0/s12 add hotsparedrive dgs=3

Both commands cause IO to stop for a couple of minutes so be prepared for that, but both commands completed successfully and the controller is rebuilding the array as I type this.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.