We have a ProLiant ML350P Gen8 server with a P420 controller running ESXi 5.5.
It has a RAID 6 array using 7 disks. One of the disks got marked as Predictive Failure, and in response to this we added an 8th disk to the array as a spare.
We ejected the failing drive, to make the array rebuild on the spare. (Retrospectively, we probably could have achieved this more gracefully by setting the Spare Activation Mode.)
The spare is now active in the array, and the old disk is marked as Failed:
# /opt/hp/hpssacli/bin/hpssacli ctrl slot=2 pd all show
Smart Array P420 in Slot 2
array A
physicaldrive 1I:2:5 (port 1I:box 2:bay 5, SAS, 1200.2 GB, OK)
physicaldrive 1I:2:6 (port 1I:box 2:bay 6, SAS, 1200.2 GB, OK)
physicaldrive 1I:2:7 (port 1I:box 2:bay 7, SAS, 1200.2 GB, OK)
physicaldrive 2I:2:1 (port 2I:box 2:bay 1, SAS, 1200.2 GB, OK)
physicaldrive 2I:2:2 (port 2I:box 2:bay 2, SAS, 1200.2 GB, Failed)
physicaldrive 2I:2:3 (port 2I:box 2:bay 3, SAS, 1200.2 GB, OK)
physicaldrive 2I:2:4 (port 2I:box 2:bay 4, SAS, 1200.2 GB, OK)
physicaldrive 1I:2:8 (port 1I:box 2:bay 8, SAS, 1200.2 GB, OK, active spare for 2I:2:2)
# /opt/hp/hpssacli/bin/hpssacli ctrl slot=2 array all show detail
Smart Array P420 in Slot 2
Array: A
Interface Type: SAS
Unused Space: 0 MB (0.0%)
Used Space: 7.6 TB (100.0%)
Status: Failed Physical Drive
Array Type: Data
Spare Type: dedicated
HP SSD Smart Path: disable
Warning: One of the drives on this array have failed or has been removed.
So the array presumably has two disks' redundancy again, but this is obviously not the ideal state..
We would like to be able to make the active spare permanent, remove the failed drive from the array, and unassign it in the controller.
We tried to remove the ejected drive from the array configuration, but the controller was clearly not happy with this idea:
# /opt/hp/hpssacli/bin/hpssacli ctrl slot=2 array A remove drives=2i:2:2
Error: This operation is not supported with the current configuration. Use the
"show" command on devices to show additional details about the
configuration.
Reason: Array status not ok
Is there any way to do this, or do we just have to add another drive in the failed disk's old slot to relieve the spare, and let the array rebuild a second time?
In my experience, you won't get another rebuild. 2I:2:2 will become the spare.
Is there a reason you fear a rebuild? If you're worried about the performance hit, you could set the rebuild priority lower. Just make sure to switch it back once the rebuild completes. You don't want a drive to fail in the future and still be on a low priority rebuild.
If the array is configured with a dedicated spare, you have the option to install a compatible SAS, 1200.2 GB drive into port 2I:box 2:bay 2. That would trigger a rebuild from the current spare to the new drive. The spare would then become available for future failures.
Needless to say you must leave the spare in place until the rebuild is complete.
If you did not configure the spare as dedicated then it has been assimilated into the array and future drives could then be configured as additional spares.