Я собираю сервер на базе 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» - это плохо ... как узнать, какой диск вытащить? Чтобы понять, что это за деталь, нужно немного потрудиться во время установки.
smartctl -a /dev/ada0 | grep ^Serial
(заменяя "/ dev / ada0" на каждое из имен дисков из списка)Теперь в оболочке нам нужно сопоставить имена дисков со всеми номерами 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
Теперь введите все номера 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