Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I need to replace a bad disk in a zpool on FreeNAS.

zpool status shows

gptid/5fe33556-3ff2-11e2-9437-f46d049aaeca  UNAVAIL      0     0     0  cannot open

How do I find the serial # of that disk?


More:

glabel status gives:

                                      Name  Status  Components
                             ufs/FreeNASs3     N/A  da0s3
                             ufs/FreeNASs4     N/A  da0s4
                    ufsid/4fa405ab96518680     N/A  da0s1a
                            ufs/FreeNASs1a     N/A  da0s1a
                            ufs/FreeNASs2a     N/A  da0s2a
gptid/5f3c0517-3ff2-11e2-9437-f46d049aaeca     N/A  ada1p2
gptid/60570005-3ff2-11e2-9437-f46d049aaeca     N/A  ada3p2
gptid/60ebeaa5-3ff2-11e2-9437-f46d049aaeca     N/A  ada4p2
gptid/a767b8ef-1c95-11e2-af4c-f46d049aaeca     N/A  ada6p2
gptid/61925b86-3ff2-11e2-9437-f46d049aaeca     N/A  ada9p2
gptid/4599731b-8f15-11e1-a14c-f46d049aaeca     N/A  ada10p2

I don't see gptid/5fe33556 in there.

And camcontrol devlist gives:

<Hitachi HDS723030BLE640 MX6OAAB0>  at scbus0 target 0 lun 0 (pass0,ada0)
<ST3000VX000-9YW166 CV13>          at scbus4 target 0 lun 0 (pass1,ada1)
<ST3000VX000-9YW166 CV13>          at scbus6 target 0 lun 0 (pass3,ada3)
<Hitachi HDS723030BLE640 MX6OAAB0>  at scbus7 target 0 lun 0 (pass4,ada4)
<ST3000DM001-9YN166 CC4C>          at scbus8 target 0 lun 0 (pass5,ada5)
<WDC WD30EZRX-00MMMB0 80.00A80>    at scbus8 target 1 lun 0 (pass6,ada6)
<WDC WD30EZRX-00MMMB0 80.00A80>    at scbus9 target 0 lun 0 (pass7,ada7)
<ST3000DM001-9YN166 CC4C>          at scbus9 target 1 lun 0 (pass8,ada8)
<Hitachi HDS723030BLE640 MX6OAAB0>  at scbus10 target 0 lun 0 (pass9,ada9)
<Hitachi HDS5C3030ALA630 MEAOA580>  at scbus11 target 0 lun 0 (pass10,ada10)
< USB Flash Memory 1.00>           at scbus12 target 0 lun 0 (pass11,da0)

Does that mean that ada2 is the bad disk?


UPDATE:

OK, I'm pretty sure that ada2 is the bad disk. And I have my notes, so I know which disk that is.

But it appears that I left a spare in there - ada0 - last time I was in the box. Can I replace ada2 with ada0 remotely? Until someone gets to the office?

share|improve this question
    
So here the question is more about how to identify which disk this partition is from ? (as disk serials can be found in dmesg) –  Ouki Apr 4 at 21:18
    
My bad about dmesg: there is the drive model, but not its serial. It's seems only smartcl -i can give you that kind of info. Why do you need it by the way, as once you remove the disk from its enclosure it's written on the disk label?! –  Ouki Apr 4 at 23:24
    
I need the serial # so I know which disk to pull out ... I don't know what that long gptid string refers to ... it used to say "ada" something, but no more. –  Ze'ev Apr 5 at 0:43
2  
The gptid is GEOM unique id. Now that your disk is down, you cannot get the serial, but you can still figure it out which "adaX" to pull out. –  Ouki Apr 5 at 0:49

2 Answers 2

To get a disk serial requires that it is running and available:

  • camcontrol identify <device> |grep ^serial (this might be (S)ATA specific)
  • smartcl -i <device> |grep ^Serial
  • reading the disk label once removed from the enclosure

In your case, I think the 3rd solution is the only available. So, Assuming you just want first identify the disk:

Try first a glabel status (as your drive is not shown as DOWN or REMOVED):

$ glabel status
gptid/c7868819-ddc1-11e2-8c3e-00138f3fd9c7     N/A  da0p1
gptid/c96da0bc-ddc1-11e2-8c3e-00138f3fd9c7     N/A  da2p1
  1. You can see your partition with glabel status

    Then you can easily identify the disk device name (ex: da0 for the gptid/c7868819-ddc1-11e2-8c3e-00138f3fd9c7 partition).

    You can have a look at your system starting log from /var/log/messages (aka "dmesg"):

    $ dmesg | grep ^da0
    da0 at mps0 bus 0 scbus0 target 0 lun 0
    da0: <ATA ST3000DM001-1CH1 CC26> Fixed Direct Access SCSI-6 device
    da0: 600.000MB/s transfers
    da0: Command Queueing enabled
    da0: 2861588MB (5860533168 512 byte sectors: 255H 63S/T 364801C)
    
  2. You cannot see your partition with glabel status

    $ camcontrol devlist
    <ATA ST3000DM001-1CH1 CC26>        at scbus0 target 0 lun 0 (pass0,da0)
    <ATA ST3000DM001-1CH1 CC26>        at scbus0 target 4 lun 0 (pass2,da2)
    

    From there, you can easily spot which one is missing (da1 in this case), then have a look at dmesg to identify that disk.

So, no real solution here. I just hope that it help you see things a bit more clear.

To know more:

share|improve this answer
    
Please see added notes above ... is ada2 the bad disk? –  Ze'ev Apr 5 at 1:00
    
Yep. Looks that is the one. –  Ouki Apr 5 at 8:16

Assuming you need uuid of the particular disk on Linux based system you can get with:

ls -la /dev/disk/by-uuid/

or by fs label:

 ls -la /dev/disk/by-label/ 

or by hardware connectivity :

ls-la /dev/disk/by-path/
share|improve this answer
1  
This is NOT Linux. udev is Linux specific, as many fancy /proc stuff ... unfortunately here. –  Ouki Apr 4 at 21:50
    
By the way, I am not sure Linux would keep a disk down in its udev anyway. –  Ouki Apr 4 at 23:30

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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