Опыты можно проводить на той же машине(пользовательский ПК)?
да
теперь уточним:
- Вы на HP сервере bootable-freebsd-hdd вставляли только в Tray'и, а в SATA порты на материнке - нет?
идем дальше, на текущий момент можно сделать такие выводы:
- есть проблемы с gptzfsboot (вопрос - почему с другими дисками нет проблем)
- есть проблемы с WD Blue - тут может быть что угодно: firmware, spin-up (apm), idle timeout...
Однако, стоило бы попробовать с разными дисками:
- Seagate
- WD RE
- HGST
и выяснить, данная проблема наблюдается только с конкретной моделью WD Blue и только на конкретной модели HP
или на разных десктопных PC?
И после выяснения, Вам стоило бы написать bugreport в FreeBSD со всеми данными:
- сервер модель
- настройки BIOS
- контроллер
- модель диска
- dmesg
- zpool list -v
- zpool status
- gpart show | gpart show -l
- cat /boot/loader.conf*
- camcontrol devlist
...
И заполнить case на WD с описанием проблемы:
https://support.wdc.com/support/case.aspx
если у Вас диск Retail - попросить более свежую прошивку, спросить как изменить timeout для TLER, отключить APM
Что такое TLER/CCTL/ERC?
https://en.wikipedia.org/wiki/Error_recovery_control
TLER (Time-Limited Error Recovery
CCTL (Command Completion Time Limit)
ERC (Error Recovery Control)
У разных производителей, разные названия:
WD - TLER
Samsung, Hitachi - CCTL
Seagate - ERC
Как изменить TLER без фирменных утилит производителей, на вменяемых дисках:
# camcontrol devlist | grep ada
<ST1000DM003-1ER162 CC45> at scbus0 target 0 lun 0 (pass0,ada0)
<ST31000340NS SN06> at scbus1 target 0 lun 0 (pass1,ada1)
<ST3500514NS SN11> at scbus4 target 1 lun 0 (pass3,ada2)
# smartctl -l scterc /dev/ada2
smartctl 6.6 2017-11-05 r4594 [FreeBSD 11.2-RELEASE amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke,
www.smartmontools.org
SCT Error Recovery Control:
Read: 100 (10.0 seconds)
Write: 100 (10.0 seconds)
# smartctl -l scterc,70,70 /dev/ada2
smartctl 6.6 2017-11-05 r4594 [FreeBSD 11.2-RELEASE amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke,
www.smartmontools.org
SCT Error Recovery Control set to:
Read: 70 (7.0 seconds)
Write: 70 (7.0 seconds)
# smartctl -l scterc /dev/ada0
smartctl 6.6 2017-11-05 r4594 [FreeBSD 11.2-RELEASE amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke,
www.smartmontools.org
SCT Error Recovery Control command not supported
#
Выше видно что десктопный Seagate (ada0) не дает изменить таймауты ERC, а Enterprise (NS) - позволяет.
Большинство HW и программных RAID, и ZFS - ориентируются на таймаут не больше 10 сек, некоторые, когда 3ware
- 30 сек, далее RAID сообщает о проблемах с диском, переводит RAID в Degrade режим и требует замены диска.
Проблему для RAID и ZFS могут составлять:
- APM
- TLER/CCTL/ERC
а для ZIL -> включение WRITE CACHE на HDD.
Верхнее, это лишь часть подводных камней, остаются еще проблемы:
- SATA cable (с SAS пока не сталкивался)
- длина SATA cable (с SAS пока не сталкивался)
- недостаточная мощность БП ( производители HW RAID контроллеров рекомендуют переходить с 3.5" HDD
на 2.5" HDD, последние существенно меньше потребляют мощности)
- в случае больших СХД по кол-ву дисков, менять firmware чтобы шпиндели асинхронно раскручивались
Если используете Backplane с SAS-Expander, желательно чтобы все диски работающие через Expander,
были одинаковые, лучше одной модели, лучше одной линейки, ну или одного ряда по скоростям.
Если контроллер SAS3, то крайне желательно Expander SAS3 или можно нарваться на грабли типа:
SAS2 Controller <-- >SAS3 Expander <--> SAS2 HDD ужасно договариваются с контроллером
по скоростям и жутко тормозят и невозможно работать в случае микста: SAS2 HDD + SAS3 HDD.
Желательно использовать либо только SATA HDD через Expander, либо только SAS HDD.
И снова напоминание:
- лейблы для загрузки, удобно использовать в случае UFS, позволяет избежать disk renumbering
На gptzfsboot это не влият. Но для ZFS - удобно использовать лейблы GPT, чтобы не работать с adaX/daY,
а метить диски как disk00, disk01 и тд или hdd00, hdd01 и тд.