Unavailable spare drive - How to handle this

Hi, I’m not sure how to deal with this. I’m having a spare drive unavailable it’s da57. I’m also having da60 unavailable. It’s part of the RAIDz1 but it’s also state in the spare at the bottom of the report.

There is not flashing light on the server or beep.

On the da57, I’m clearly unable to access to it, I’ve try to run a SMART test on it and it’s unreachable. On the da60 I’ve been able to run a short SMART test on it and it was successful.

Any clue on the process to do?

Thank you for your help!


zpool detach Archives da60, but… can you please post the output of camcontrol devlist first? Knowing your hardware would also help.

1 Like

Here it is

Hi Davvo,
Following the list I’ve forward, is detach da60 is still the thing to do? I detach it, replace the drive in the physical bay and re attach a new drive?
Thank you!

So da60 looks fine. da60 is your hot-spare and although it’s now UNAVAILABLE (as your hot-spare) it is now a member of your pool which is perfectly normal behaviour with hot-spares when a drive in your pool fails.

You need to replace /dev/gptid/324…

  1. Identify your failed drive and pull it.
  2. Insert your new replacement drive.
  3. From the UI click the three dots to the right hand side of /dev/gptid/324… and select replace and then choose your new drive.

Once the resilver is complete your hot-spare should auto return to being a hot-spare and the UNAVAILABLE status should change to ONLINE.

PS: the wording of being UNAVAILABLE to both a failed drive in your pool and an IN-USE hot-spare is poor I agree, perhaps a feature request. Im sure back in the day it used to say IN-USE. Anyone remember those good old days or am I showing my age :grinning:

Thank you Johnny,
from my search it looks like it’s da57 but how I can identify the slot of the drive? and why it’s listed their as /dev/gptid/324… and not da57. And when I look in my drive list, I do see the da57?
Thank you!

It’s listed as /dev/gptid/… because it’s been kicked out of the pool. That’s normal don’t ask me why it just is.

How you identify it is the million dollar question. This depends on your hardware and how it’s configured. Do you have any lights on your drives that you can see? Are they hot-swappable? Did you make notes of serial numbers or do anything clever in preparation for this day? As you can see it’s complicated and no one size fits all.

So you can see da57? Have your ran a smartctl -a /dev/da57 on it? If not do that and post the output. Take a note of the serial number while you’re at it.

Note sure about your hardware but I use a 9300-8e based on the 3008 chip so I tend to use sas3ircu tools to identify my drives. For newer cards like the 9500 storcli does a similar job. This allows you to see the physical location of your drives in their chassis and blink locate lights when needed.

Hi, this is the output of the smartctl command:

smartctl 7.2 2020-12-30 r5155 [FreeBSD 12.2-RELEASE-p9 amd64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               SEAGATE
Product:              ST2000NM0023
Revision:             0004
Compliance:           SPC-4
LU is fully provisioned
Rotation Rate:        7200 rpm
Form Factor:          3.5 inches
Logical Unit id:      0x5000c5008496efbf
Serial number:        Z1X619130000R617UB6T
Device type:          disk
Transport protocol:   SAS (SPL-3)
Local Time is:        Thu Sep 12 16:33:07 2024 EDT
device is NOT READY (e.g. spun down, busy)
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

That doesn’t look good. If you run the same command on another drive I presume you get a better output? If so this probably confirms it’s your bad drive so just need to locate it and pull it.

1 Like

Or, you could detach your hotspare and then use it to replace the bad drive in the pool, then you can find the disertor.

sesutil is another good one.

sesutil show

sesutil locate da57 on

sesutil fault da57 on

You could even

sesutil show | grep Z1X619130000R617UB6T

To find your faulty drive more easily.