Назад | Перейти на главную страницу

Как определить, какой диск вышел из строя при установке FreeNAS / ZFS

Я собираю сервер на базе FreeNAS в корпусе Supermicro X6DHE-XB 3U с 4G оперативной памяти, 16 отсеками SATA для горячей замены. Он поставляется с 2х8 портовыми картами 3Ware RAID, но я планирую просто использовать возможности ZFS вместо аппаратного RAID. Мой начальный набор дисков - это диски HITACHI Deskstar 7K3000 HDS723020BLA642 емкостью 8x2 ТБ.

Если бы я использовал аппаратный RAID, я бы загорелся красным светом на отсеке для диска, где диск вышел из строя. Как это работает с ZFS при выходе из строя диска? Я не думаю, что есть гарантия, что sda = bay1, sdb = bay2 и т. Д., Так как же определить, какой диск нужно заменить? Может ли ZFS сообщить контроллеру SATA, чтобы загорелся индикатор неисправности диска? Он просто сообщает серийный номер диска? Что, если диск выйдет из строя настолько, что не сможет сообщить серийный номер? Я полагаю, что было бы неплохо записать серийный номер каждого диска и то, в какой отсек он был установлен, прежде чем вы начнете работать. Есть ли еще какие-то «предпроизводственные» задачи, которые упростят замену дисков в будущем?

Текущая версия FreeNAS (на данный момент версия 9.3) будет создавать gptid для каждого диска, добавленного в zpool. Сразу после создания "zpool status" будет выглядеть примерно так (в зависимости от конфигурации вашего пула) ...

# статус zpool
бассейн: myzfstest
состояние: ONLINE
сканирование: нет
запрошенная конфигурация:

    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

ошибки: нет известных ошибок данных

К сожалению, в веб-интерфейсе эти числа не отображаются. Итак, если вы получаете сообщение об ошибке, что «gptid / 6557b52d-7b7f-11e4-9585-de9b81338d40» - это плохо ... как узнать, какой диск вытащить? Чтобы понять, что это за деталь, нужно немного потрудиться во время установки.

  1. Когда вы строите свою систему. Запишите серийный номер каждого диска, а также место, где этот диск был вставлен. Например, в случае двустороннего JBOD вы можете отметить переднюю / заднюю часть, строку и столбец.
  2. Когда вы загружаете FreeNAS, в веб-интерфейсе выберите «хранилище> тома / просмотреть диски». На этой вкладке у вас должен быть список всех ваших дисков и их серийных номеров. Обратите внимание на имя диска, указанное для каждого серийного номера, который у вас был в предыдущем списке. Если вы не видите серийные номера, вам придется зайти в оболочку и ввести 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. В списке в веб-интерфейсе отображается только метка «da3» для диска.

Теперь, когда появляется ошибка, говоря диск с номером gptid xyz произошла ошибка, вы сможете сослаться на свой лист и узнать, какой диск нужно вытащить / заменить.

Я знаю, что для оригинального плаката это уже поздно; но, возможно, другие сочтут это полезным.

Что вам нужно, это sas2ircu утилита от LSI (ныне Avago). LSI поддерживает версии для FreeBSD, Linux и Windwos. Для FreeNAS вам понадобится версия FreeBSD.

Чтобы попробовать это, вы должны поместить его в каталог / tmp и сначала сделать его исполняемым.

Шаг первый - узнайте идентификатор своего SAS HBA (пример):

/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: найти корпус № 4, слот № 0

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

Чтобы выключить светодиод после замены:

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

Надеюсь, это поможет!

zpool status -v должен сказать вам, какой диск в сети или нет.

Посмотрите на объемы.

Выберите том, который ухудшился.

Внизу экрана есть три варианта ... нажмите Состояние тома

Теперь вы увидите крупный план тома и его отдельных жестких дисков, перечисленных что-то вроде ada3p2, ada5p2, ada6p2, ada4p2 и т. Д.

Выберите деградированный диск.

Внизу экрана вы увидите две опции; Отредактируйте диск и замените

Выберите Edit Disk

Теперь вы должны увидеть серийный номер деградированного диска.

Выключите сервер FreeNAS и найдите этот диск.

Предполагается, что у вас есть корпус с отдельными HD-лампами (он же серверный корпус).

Найдите в списке плохой диск. Пример / dev / da9, /dev/sda...etc

Выключите этот диск с помощью графического интерфейса пользователя или команд терминала FreeNAS.

Выполните DD, чтобы прочитать этот диск в / dev / null, в то время как вы смотрите на переднюю часть сервера в поисках индикатора, который теперь безумно мигает.

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

Обратите внимание на расположение диска, отмените команду DD (ctrl-c) и перейдите к способу замены. Для freeNAS загрузите новый диск, затем нажмите кнопку GUI Replace и завершите этот процесс. Когда закончите, удалите плохой диск и делайте с ним все, что хотите. Протестируйте его еще раз, нажмите Secure Erase, физически уничтожьте, отправьте на гарантийный ремонт ... и т. Д.

самый простой способ нашел.

щелкните хранилище щелкните просмотреть диски.

отсоедините один кабель sata. распечатать этикетку с отсутствующим диском с диска просмотра, также известного как ada1, приклеить этикетку к боковой стороне диска.

повторно подключить диск. вытащите второй кабель sata с печатной этикетки ada2 и т. д.

тогда, когда диск выходит из строя, вы знаете его ada2