如何确定FreeNAS / ZFS设置中哪个磁盘发生故障


12

我正在Supermicro X6DHE-XB 3U机柜中构建基于FreeNAS的服务器,该机柜具有4G RAM,16个SATA热插拔托架。它带有2x8端口3Ware RAID卡,但是我打算仅使用ZFS功能而不是硬件RAID。我的初始驱动器将是8x2TB HITACHI Deskstar 7K3000 HDS723020BLA642驱动器。

如果我使用的是基于硬件的RAID,它将在驱动器发生故障的驱动器托架上给我一个红灯。当驱动器发生故障时,它如何与ZFS一起使用?我认为无法保证sda = bay1,sdb = bay2等,那么您如何确定需要更换哪个驱动器?ZFS可以报告给SATA控制器以打开“驱动器故障”指示灯吗?它只是报告驱动器序列号吗?如果驱动器严重故障而无法报告其序列号怎么办?我认为最好记下每个驱动器的序列号,以及在投入使用之前将其插入哪个托架。还有其他“生产前”任务可以使将来更换驱动器更加容易吗?

Answers:


4

zpool status -v 应该告诉您哪个磁盘在线。


3
+1 FreeNAS是基于FreeBSD的,驱动器将按照卡所提供的顺序进行。如果只有一个8端口SAS控制器,则驱动器将为/ dev / da0到/ dev / da7,并且编号与卡相同(每个驱动器上也都标有好电缆)。如果您有多个控制器,或者有任何复杂的控制器,则可以运行camcontrol devlist以获取所有SAS / SCSI驱动器以及它们所使用的卡,目标,LUN的列表。
克里斯·S

1
克里斯S不正确。驱动器并不总是按照卡提供的顺序显示。例如,我们的“ da7”在8个驱动器的列表中排名第二。此外,zpool状态仅给出标签,而不是实际磁盘。
Brian Knoblauch 2015年

8

当前版本的FreeNAS(目前为9.3版)将为添加到zpool的每个驱动器创建一个gptid。创建后,“ zpool status”将立即如下所示(取决于您的池配置)...


#zpool 状态池:myzfstest
状态:在线
扫描:无
请求配置:

    NAME                                            STATE     READ WRITE CKSUM
    myzfstest                                       ONLINE       0     0     0
      raidz-0                                       ONLINE       0     0     0
        gptid/4fc2b789-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/51d38480-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/54c672cc-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/56a07638-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
      raidz2-1                                      ONLINE       0     0     0
        gptid/630e1317-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/6557b52d-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/667a1318-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/68cadf75-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
    logs
      mirror-2                                      ONLINE       0     0     0
        gptid/8839f22e-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/8a6d0b14-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
    cache
      gptid/8c2f3824-7b7f-11e4-9585-de9b81338d40    ONLINE       0     0     0
      gptid/8da9ba80-7b7f-11e4-9585-de9b81338d40    ONLINE       0     0     0
    spares
      gptid/72f039f2-7b8a-11e4-9585-de9b81338d40    AVAIL
      gptid/750df91d-7b8a-11e4-9585-de9b81338d40    AVAIL

错误:无已知数据错误

不幸的是,Web GUI不会显示这些数字。因此,如果收到错误消息说“ gptid / 6557b52d-7b7f-11e4-9585-de9b81338d40”不好,那么您怎么知道要拉哪个驱动器?在安装时,弄清楚该零件需要一些繁琐的工作。

  1. 当您构建系统时。记下每个驱动器的序列号,并记下该驱动器的插入位置。例如,在双面JBOD外壳上,您可能需要注意正面/背面,行和列。
  2. 引导FreeNAS时,在Web GUI中,转到“存储>卷/查看磁盘”。在该选项卡上,您应该具有所有驱动器及其序列号的列表。请注意为您在上一个列表中具有的每个序列号指定的驱动器名称。如果看不到序列号,则必须放到外壳上并键入smartctl -a /dev/ada0 | grep ^Serial(用列表中的每个驱动器名称替换“ / dev / ada0”)
  3. 现在,在外壳上,我们需要将驱动器名称与所有gptid号进行匹配。因此,输入glabel status,您应该会得到这样的内容...

    # glabel status
    
    CORRECT>glabel status (y|n|e|a)? yes    
                                          Name  Status  Components  
                                 ufs/FreeNASs3     N/A  ada0s3  
                                 ufs/FreeNASs4     N/A  ada0s4  
                                ufs/FreeNASs1a     N/A  ada0s1a
    gptid/616cddb6-7b7f-11e4-9585-de9b81338d40     N/A  ada0p2  
    gptid/630e1317-7b7f-11e4-9585-de9b81338d40     N/A  da1p1   
    gptid/6557b52d-7b7f-11e4-9585-de9b81338d40     N/A  da2p1   
    gptid/667a1318-7b7f-11e4-9585-de9b81338d40     N/A  da3p1   
    gptid/68cadf75-7b7f-11e4-9585-de9b81338d40     N/A  da4p1   
    
  4. 现在,输入所有gptid号,以将它们与驱动器名称相关联,从而将其与序列号及其位置相关联。 注意:当您看到类似“ da3p1”的内容时,该分区将标识为da3的驱动器之一分区。Web GUI中的列表将仅显示磁盘标签“ da3”。

现在,当出现错误说gptid号为xyz的磁盘出现错误时,您将能够引用工作表并知道需要拉/更换哪个驱动器。

我知道这对于原始海报来说已经为时已晚。但是,也许其他人会发现这很有用。


1
对于原始问题,“ glabel状态”是关键部分。这将使您找出古怪的ID与物理设备之间的映射。
Brian Knoblauch'3

哇。很好的答案,但是有点令人失望的是,ZFS没有半透明的方式来跟踪磁盘。
mikato

5

您需要的是LSI(现为Avago)的sas2ircu实用程序。LSI维护FreeBSD,Linux和Windwos的版本。使用FreeNAS,您将需要FreeBSD版本。

要尝试使用它,可以将其放在/ tmp目录中,然后使其首先可执行。

第一步是发现SAS HBA的ID(示例):

/tmp# ./sas2ircu list
LSI Corporation SAS2 IR Configuration Utility.
Version 19.00.00.00 (2014.03.17)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved.


         Adapter      Vendor  Device                       SubSys  SubSys
 Index    Type          ID      ID    Pci Address          Ven ID  Dev ID
 -----  ------------  ------  ------  -----------------    ------  ------
   0     SAS2008     1000h    72h   00h:04h:00h:00h      1000h   3020h
SAS2IRCU: Utility Completed Successfully.

第二步将生成您稍后可以检查的所有设备的列表:

/tmp# ./sas2ircu 0 display > disklist.txt

步骤3正在检查您的磁盘列表。它看起来类似于:

/tmp# vi disklist.txt
LSI Corporation SAS2 IR Configuration Utility.
Version 19.00.00.00 (2014.03.17)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved.

Read configuration has been initiated for controller 0
------------------------------------------------------------------------
Controller information
------------------------------------------------------------------------
  Controller type                         : SAS2008
  BIOS version                            : 7.37.00.00
  Firmware version                        : 19.00.00.00
  Channel description                     : 1 Serial Attached SCSI
  Initiator ID                            : 0
  Maximum physical devices                : 255
  Concurrent commands supported           : 3432
  Slot                                    : 4
  Segment                                 : 0
  Bus                                     : 4
  Device                                  : 0
  Function                                : 0
  RAID Support                            : No
------------------------------------------------------------------------
IR Volume information
------------------------------------------------------------------------
------------------------------------------------------------------------
Physical device information
------------------------------------------------------------------------
Initiator at ID #0

Device is a Enclosure services device
  Enclosure #                             : 2
  Slot #                                  : 24
  SAS Address                             : 5003048-0-00d3-a87d
  State                                   : Standby (SBY)
  Manufacturer                            : LSI CORP
  Model Number                            : SAS2X36
  Firmware Revision                       : 0717
  Serial No                               : x36557230
  GUID                                    : N/A
  Drive Type                              : Undetermined

Device is a Enclosure services device
  Enclosure #                             : 3
  Slot #                                  : 0
  SAS Address                             : 5003048-0-00ca-7bfd
  State                                   : Standby (SBY)
  Manufacturer                            : LSI CORP
  Model Number                            : SAS2X28
  Firmware Revision                       : 0717
  Serial No                               : x36557230
  GUID                                    : N/A
  Drive Type                              : Undetermined

Device is a Hard disk
  Enclosure #                             : 4
  Slot #                                  : 0
  SAS Address                             : 5003048-0-00d3-a8cc
  State                                   : Ready (RDY)
  Size (in MB)/(in sectors)               : 1907729/3907029167
  Manufacturer                            : ATA
  Model Number                            : WDC WD20EARS-00M
  Firmware Revision                       : AB51
  Serial No                               : WDWCAZA1037887
  GUID                                    : N/A
  Drive Type                              : Undetermined

Device is a Hard disk
  Enclosure #                             : 4
  Slot #                                  : 1

步骤4识别出故障的驱动器-您将通过在驱动器上报告的丢失或损坏的信息来知道哪一个。获取机箱号和插槽号,并在步骤5中使用它们来闪烁托盘LED:查找机箱号4,插槽号0

 /tmp# ./sas2ircu 0 locate 4:1 ON

更换后要关闭LED:

/tmp# ./sas2ircu 0 locate 4:1 OFF

我希望这有帮助!


一些freeNAS系统可能需要sas3ircu
Brian Minton

2

看卷。

选择降级的卷。

在屏幕底部,有三个选择...单击“音量状态”

现在,您将看到该卷的特写,并且列出了其各个硬盘驱动器,例如ada3p2,ada5p2,ada6p2,ada4p2等。

选择降级的驱动器。

在屏幕底部,您将看到两个选项;编辑磁盘并替换

选择编辑磁盘

现在,您应该看到降级磁盘的序列号。

关闭您的FreeNAS服务器并寻找该磁盘。


这应该是正确的答案,当我这样做时,我发现了所有附件的完整列表,因此未附件的肯定是错误的!非常感谢@ wri7913
Delta_zulu

1

假设您的机箱带有单独的高清灯(又名服务器机箱)

查找损坏的驱动器列表。例如/dev/da9、/dev/sda...etc

使用GUI或FreeNAS终端命令使该磁盘脱机。

执行DD将磁盘读到/ dev / null,同时查看服务器正面的指示灯,该指示灯现在正在疯狂闪烁。

sudo dd if=/dev/da# of=/dev/null

记下磁盘的位置,取消DD命令(ctrl-c),然后执行替换方法。对于freeNAS,请加载新磁盘,然后单击GUI Replace按钮并完成该过程。完成后,卸下损坏的驱动器,然后对其进行任何处理。对其进行更多测试,安全擦除,将其物理销毁,将其送去保修维修.....等等。


0

我找到的最简单的方法。

单击存储,单击查看驱动器。

拔掉一根sata电缆。从视盘aka ada1粘贴标签将缺少驱动器的标签打印到驱动器的侧面。

重新连接驱动器。将第二根sata电缆拉出打印标签ada2等

然后,当驱动器发生故障时,您知道其ada2

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.