nvme-linux-smart-health
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| nvme-linux-smart-health [2026/02/27 00:48] – admin | nvme-linux-smart-health [2026/02/27 01:04] (текущий) – admin | ||
|---|---|---|---|
| Строка 139: | Строка 139: | ||
| ====NVMe error log: быстрый способ понять «что именно болит»==== | ====NVMe error log: быстрый способ понять «что именно болит»==== | ||
| - | Даже когда critical_warning ещё нулевой, | + | |
| + | Даже когда | ||
| <code bash> | <code bash> | ||
| nvme error-log /dev/nvme0 | nvme error-log /dev/nvme0 | ||
| </ | </ | ||
| + | |||
| Если хотите увидеть больше записей: | Если хотите увидеть больше записей: | ||
| Строка 148: | Строка 150: | ||
| nvme error-log /dev/nvme0 -e 256 | nvme error-log /dev/nvme0 -e 256 | ||
| </ | </ | ||
| + | |||
| На что смотреть в первую очередь: | На что смотреть в первую очередь: | ||
| Строка 154: | Строка 157: | ||
| * появление ошибок после обновления ядра или изменения прошивки/ | * появление ошибок после обновления ядра или изменения прошивки/ | ||
| - | > Если error log растёт, | + | |
| + | > Если error log растёт, | ||
| + | |||
| + | |||
| + | ====Self‑test для NVMe: когда он полезен и как запускать==== | ||
| + | |||
| + | Многие NVMe поддерживают self‑test. Наличие и поведение зависят от модели и платформы, | ||
| + | |||
| + | Просмотр self‑test log: | ||
| + | <code bash> | ||
| + | nvme self-test-log / | ||
| + | </ | ||
| + | |||
| + | Запуск короткого теста (если поддерживается): | ||
| + | <code bash> | ||
| + | nvme device-self-test /dev/nvme0 --self-test-code=1 | ||
| + | </ | ||
| + | |||
| + | Запуск расширенного теста: | ||
| + | <code bash> | ||
| + | nvme device-self-test /dev/nvme0 --self-test-code=2 | ||
| + | </ | ||
| + | |||
| + | ====Температура и троттлинг: | ||
| + | |||
| + | NVMe чувствительны к перегреву: | ||
| + | |||
| + | Базовая проверка — снова SMART/ | ||
| + | <code bash> | ||
| + | nvme smart-log / | ||
| + | </ | ||
| + | |||
| + | Если температура регулярно высокая: | ||
| + | * на «железе» проверьте airflow, радиатор и расположение рядом с горячими компонентами; | ||
| + | * оцените, | ||
| + | * в виртуальной среде зафиксируйте симптомы и планируйте миграцию нагрузки до того, как начнутся таймауты. | ||
| + | |||
| + | |||
| + | ====Практический чек‑лист алертов: | ||
| + | |||
| + | |||
| + | Если нужна простая схема «без переусложнения», | ||
| + | * **critical_warning ≠ 0** — критический алерт; | ||
| + | * **media_errors** растёт — критический алерт; | ||
| + | * **available_spare ≤ available_spare_threshold** — критический алерт; | ||
| + | * **percentage_used** — warning на вашем пороге (часто 80–90), critical при 100+; | ||
| + | * **Температура** — warning/ | ||
| + | * **num_err_log_entries** растёт — warning, далее сверяйте с kernel log и latency. | ||
| + | |||
| + | |||
| + | |||
| + | =====Сбор метрик одной командой (удобно для cron)===== | ||
| + | |||
| + | Чтобы ловить тренды, | ||
| + | <code bash> | ||
| + | date -Is; nvme smart-log /dev/nvme0; echo | ||
| + | </ | ||
| + | |||
| + | Альтернатива через smartmontools: | ||
| + | <code bash> | ||
| + | date -Is; smartctl -a /dev/nvme0; echo | ||
| + | </ | ||
| + | |||
| + | Дальше можно парсить конкретные строки (grep/awk) или подключить агент мониторинга, | ||
| + | |||
| + | ====Типовые сценарии и быстрые решения==== | ||
| + | |||
| + | =====Сценарий 1: | ||
| + | * Сразу снимите **nvme smart-log** и **nvme error-log**. | ||
| + | * Проверьте, | ||
| + | * Проверьте актуальность бэкапов и план миграции. | ||
| + | * Если есть RAID/ | ||
| + | |||
| + | |||
| + | =====Сценарий 2: | ||
| + | * Считайте это деградацией и практическим *predictive failure*. | ||
| + | * Снимите динамику: | ||
| + | * Проверьте ФС по вашим регламентам, | ||
| + | * Планируйте замену/ | ||
| + | |||
| + | =====Сценарий 3: | ||
| + | * Проверьте температуру и косвенные признаки троттлинга. | ||
| + | * Проверьте kernel log на AER/PCIe ошибки. | ||
| + | * Снимите **nvme error-log** и посмотрите динамику **num_err_log_entries**. | ||
| + | * Если доступно в рамках change‑процесса — обновите прошивку/ | ||
| + | |||
| + | ====Частые вопросы==== | ||
| + | |||
| + | |||
| + | =====Можно ли полностью доверять percentage_used? | ||
| + | |||
| + | Это хороший индикатор направления и тренда, | ||
| + | |||
| + | |||
| + | =====Нормально ли, что num_err_log_entries не ноль? | ||
| + | |||
| + | Иногда да: единичные записи могли появиться из‑за редких событий (например, | ||
| + | |||
| + | |||
| + | =====Чем полезен nvme-cli, если уже есть smartctl? | ||
| + | |||
| + | **smartctl** удобен для унификации, | ||
| + | |||
| + | |||
| + | ====Итог==== | ||
| + | |||
| + | |||
| + | Базовый мониторинг NVMe в Linux строится вокруг SMART/ | ||
| + | |||
nvme-linux-smart-health.1772142535.txt.gz · Последнее изменение: 2026/02/27 00:48 — admin · В данный момент заблокировано пользователем 216.73.216.52
