需要在zpool中识别磁盘…如何?

我需要更换FreeNAS zpool上的坏磁盘。

zpool status显示

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

如何find该磁盘的序列号?


更多:

glabel status给出:

  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 

在那里我没有看到gptid/5fe33556

camcontrol devlist给出:

 <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) 

这是否意味着ada2是坏的磁盘?


更新:

好的,我敢肯定, ada2是坏的磁盘。 我有我的笔记,所以我知道是哪个磁盘。

但是,我似乎在那里留下了一个备用 – ada0 – 上次我在箱子里。 我可以用ada0远程replaceada2吗? 直到有人到办公室?

要获得磁盘序列,需要它正在运行并可用:

  • camcontrol identify <device> |grep ^serial (这可能是(S)ATA特定的)
  • smartcl -i <device> |grep ^Serial
  • 读取从磁盘盒中取出的磁盘标签

在你的情况下,我认为第三个解决scheme是唯一可用的。 所以,假设你只是想先识别磁盘:

首先尝试一下glabel status (因为你的驱动器没有显示为DOWNREMOVED ):

 $ glabel status gptid/c7868819-ddc1-11e2-8c3e-00138f3fd9c7 N/A da0p1 gptid/c96da0bc-ddc1-11e2-8c3e-00138f3fd9c7 N/A da2p1 
  1. 你可以看到你的分区与glabel status

    然后,您可以轻松识别磁盘设备名称(例如: gptid/c7868819-ddc1-11e2-8c3e-00138f3fd9c7分区的da0 )。

    你可以看看你的系统从/var/log/messages (又名“ dmesg ”)开始logging:

     $ 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. 你不能看到你的分区与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) 

    从那里,你可以很容易地发现哪一个丢失(在这种情况下da1 ),然后看看dmesg来识别该磁盘。

所以这里没有真正的解决scheme 我只是希望它能帮助你看清楚一些事情。

了解更多

  • FreeBSD的GEOM
  • 男人glabel
  • 男子camcontrol
  • 人smartcl

你可以尝试这样的事情。 它为我工作:

 devlist=$(sudo camcontrol devlist | awk ' { print $NF } ' | cut -f 2 -d , | sed 's/)//'g) for device in $devlist; do sudo camcontrol identify $device | grep serial; done 

应该输出整个序列号的列表。

假设你需要基于Linux系统的特定磁盘的uuid,你可以得到:

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

或者通过fs标签:

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

或通过硬件连接:

 ls-la /dev/disk/by-path/