我需要更换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 (因为你的驱动器没有显示为DOWN或REMOVED ):
$ glabel status gptid/c7868819-ddc1-11e2-8c3e-00138f3fd9c7 N/A da0p1 gptid/c96da0bc-ddc1-11e2-8c3e-00138f3fd9c7 N/A da2p1
你可以看到你的分区与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)
你不能看到你的分区与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 我只是希望它能帮助你看清楚一些事情。
了解更多 :
你可以尝试这样的事情。 它为我工作:
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/