SOLVED Safest way to figure out which disks in my array not working

Status
Not open for further replies.

scott2500uk

Dabbler
Joined
Nov 17, 2014
Messages
37
I have an 8 SSD array setup in RAID 10.

At some point in time two off the SSDs became unavailable. Luckily from different pairs of mirrors so my data is still intact and accessible but in a degraded state:

Screen Shot 2014-11-17 at 15.04.44.png

The problem is I cannot tell which two physical disk have become unavailable. If I turn off FreeNAS and plug each SSD into another computer they all can be read and the SMART status for all drives read as OK. I plug them back into FreeNAS in the same order I took them out making sure they go back into the same port they came out of. Still FreeNAS fails to see two of the disks.

To me it shows that I have two faulty connections somewhere between the SSD's and SATA controller.

So with this how can I tell which two disks are the unvailable ones without further damaging the raid 10 array?

I have tried using the output from dmesg to map the drives to physical ports to determine the unavailable drives but the output of drive information doesn't seem to add up in any logical way that I can reliably map which drive is connected to which sata port.
 

fracai

Guru
Joined
Aug 22, 2012
Messages
1,212
You should be able to use smartctl to get the serial number from the device name.
I use the following script to list the serial numbers of my drives.

Code:
#!/bin/bash
for N in $(seq 0 5);
do
    echo -n "/dev/ada$N"
    smartctl -a /dev/ada$N | grep Serial
done


It looks like you'd need to at least changed the sequence to account for your eight drives, but the device prefix looks like it might need to change as well. You can always use "glabel status" to map between the label and the device.
 

scott2500uk

Dabbler
Joined
Nov 17, 2014
Messages
37
Thank you very much for this.

Had to slightly alter your script for my needs but I have now the drive serials which I can map to physical disks.
 
Status
Not open for further replies.
Top