Короткий ответ

Команда — smartctl -a / nvme smart-log на стабильном имени (/dev/disk/by-id/...). За RAID укажите -d megaraid,N или -d cciss,N и сверьте SN. Читайте RAW: Pending, Offline uncorrectable, Reallocated, CRC, для NVMe percentage_used и media_errors. Overall PASSED при Pending>0 — предупреждение, готовьте замену. CRC без media — кабель. Как интерпретировать длиннее: SMART ошибки.

Не запускайте -t long на единственном диске degraded RAID 5 «для отчёта».

Симптомы и как отличить

Зачем эта статья: нужен воспроизводимый съём, не вердикт вендора в три строки. GUI TrueNAS «Failed» может быть температура. Windows «ОК» в управлении дисками SMART не показывает.

ИсточникОграничение
smartctl на HBAлучший
MegaRAID -dнужен верный ID
USB-мостчасто ложь
iLO «predictive»верьте, даже если smartctl PASS

Возможные причины

  1. Нет smartmontools.
  2. RAID не passthrough.
  3. NVMe vs SCSI путаница устройства.
  4. Права root.
  5. Диск уже Offln, SAS не отвечает.

Диагностика

1. Установка и список

Ubuntu 22.04/24.04:

sudo apt-get update
sudo apt-get install -y smartmontools nvme-cli
ls -l /dev/disk/by-id/

TrueNAS: Shell, пакеты обычно есть. Не ставьте случайный PPA.

2. Прямой SCSI/SATA/NVMe

sudo smartctl -i /dev/disk/by-id/wwn-0x5000c500example
sudo smartctl -H /dev/disk/by-id/wwn-0x5000c500example
sudo smartctl -a /dev/disk/by-id/wwn-0x5000c500example | tee /root/smart-wwn.txt

NVMe:

sudo nvme id-ctrl /dev/nvme0n1
sudo nvme smart-log /dev/nvme0n1
sudo smartctl -a /dev/nvme0n1

Сохраните файл в заявку.

3. MegaRAID

storcli /c0/eall/sall show
sudo smartctl -a -d megaraid,0 /dev/sda

Перебор DID 0,1,2… пока SN не совпадёт. /dev/sda здесь — SCSI-узел контроллера, не «первый диск ОС».

Иногда нужен -d sat+megaraid,N. Если smartctl пишет «Unknown USB bridge» — вы не на том device.

HPE:

sudo smartctl -a -d cciss,0 /dev/sg0

sg узел Smart Array. Индекс = PD.

4. Short test (когда можно)

Массив Optimal, есть избыточность, окно I/O:

sudo smartctl -t short /dev/disk/by-id/wwn-0x5000c500example
sudo smartctl -l selftest /dev/disk/by-id/wwn-0x5000c500example

Дождитесь конца. FAILED selftest = замена, даже при странных атрибутах.

Не long test на Dgrd vd0.

5. Windows

Полноценный smartctl — с Windows-сборки smartmontools или с Linux live/HBA. Get-PhysicalDisk / Get-StorageReliabilityCounter — дополнение, не замена полного ATA SMART. Не Initialize disk.

Решение

Таблица для заявки:

  1. Замена скоро: Pending>0, Offline uncorrectable>0, selftest FAIL, NVMe media_errors рост, overall FAILED с media-атрибутами.
  2. Наблюдение: Reallocated стабильный малый, CRC не растёт после нового кабеля, температура была пиком.
  3. Не диск: не сняли SMART, неверный -d, USB.
  4. Износ SSD: percentage_used — TBW, не «сыпется пластина».

Дальше замена. ZFS CKSUM при чистом SMART — checksum, не игнор.

Автоматизация: userparameter с smartctl -A по списку WWN из /dev/disk/by-id. Не итерируйте /dev/sd[a-z]: после ребута буквы уедут и вы будете алертить чужой диск. Для MegaRAID храните карту DID на SN и обновляйте после каждой замены.

Пороги: Pending не меньше 1 — crit; рост Reallocated за неделю — crit; рост CRC за сутки — warn на кабель; percentage_used от 80 — warn. Overall FAILED — crit плюс разбор атрибута. Температура HDD от 55 градусов — вентиляция, не замена диска первым шагом.

Когда диск Offln, smartctl часто не открывает устройство. Тогда истина — storcli и iLO. Не пишите «SMART снять не смогли, диск живой»: Offln и есть состояние, дальше замена, не USB-адаптер на живом массиве.

Как проверить, что проблема устранена

После замены: новый файл smart-*.txt, PASSED, Pending=0, selftest без FAIL. Мониторинг прироста 7 дней. Для кабеля: CRC не растёт (абсолют может остаться старым).

Сам метод проверки SMART «устранён», когда любой админ по SN повторяет ту же команду.

Если не помогло

  • Permission denied: sudo, устройство занято экзотическим драйвером.
  • INQUIRY failed: диск не отвечает, смотрите RAID state, не -a.
  • TrueNAS UI ≠ файл smartctl: разные пороги, приложите оба.
  • SAS tape/enclosure в списке: не тот sg.

Профилактика

  • Ежедневный smartctl -A в мониторинг (Zabbix smartmontools).
  • Алерт на прирост, не на CRC с 2018 года.
  • Имена только by-id в скриптах.
  • Документ DID MegaRAID ↔ слот.
  • Не SMART с USB-доков для прод-решения.

Раз в квартал сверяйте, что мониторинг SMART вообще собирает те же WWN, что в пуле tank и в storcli. После замены диска агент часто продолжает опрашивать старый DID и молчит о новом. Это слепая зона: следующий Pending вы увидите только когда контроллер уже Failed.

Для NVMe через PCIe switch смотрите ещё nvme error-log: единичные ошибки транспорта не всегда в percentage_used. Их рост — кабель/слот, как CRC на SATA. Не лечите firmware update «с сайта» без HCL контроллера/сервера.

Копия полного -a в тикете важнее скриншота UI TrueNAS: скрин не содержит ID атрибутов и порогов, по которым через месяц будут спорить с вендором RMA.

Не используйте SMART с USB-переходника как основание снять диск из vd0. Переходник врёт атрибуты, а массив в это время degraded без нужды. Снимайте на месте через -d megaraid,N или с HBA.

Если smartctl -H FAILED, а -A пустой — это не «диск мёртв по overall», это часто неверный -d или зависший SAS. Сначала -i и SN, потом вердикт. Запишите в runbook три рабочих команды под ваши контроллеры: прямой by-id, megaraid, cciss.

Для RMA сохраняйте сырой лог, серийник, часы Power_On и SMART selftest. Вендор просит их чаще, чем скрин TrueNAS. Не запускайте long test на последнем живом члене RAID 5 ради красивого вложения в письмо.

FAQ

-H PASSED достаточно?

Нет. Читайте -A/-a.

NVMe available_spare 10%?

Порог критичности, планируйте замену, не ждите 0.

Можно ли smartctl с Windows на iSCSI LUN?

Вы снимете SMART не того (часто виртуального) объекта. SMART диска — на NAS01/HBA, не на SQL01 LUN.

Temperature 46 °C HDD?

Высоковато, не FAILED само по себе. Вентиляция.

Нужен ли -x всегда?

Для NVMe/логов ошибок полезен. Для заявки HDD хватает -a плюс selftest при сомнении.