﻿# NVMe Available Spare: это не свободное место файловой системы

Диагностика: NVMe Available Spare: это не свободное место файловой системы. Признаки, последовательность проверки, рабочий пример и критерии восстановления.

Автор: Команда Retrivium
Обновлено: 2026-11-01
Канонический URL: https://retrivium.ai/ru/journal/nvme-spare-threshold-capacity/
Language: ru

Available Spare в NVMe SMART — нормализованный показатель оставшегося резервного ресурса накопителя, а не свободные гигабайты файловой системы. Рядом отдельно читают Spare Threshold, Percentage Used и critical warnings. Эти поля отвечают на разные эксплуатационные вопросы и не взаимозаменяемы.

## Сохраните identity и scope

Запишите модель, serial в разрешённой области отчёта, firmware revision, controller/namespace и версию инструмента. У NVMe часть SMART информации относится к controller, а поддержка per-namespace reporting зависит от устройства. Не сравнивайте показатели разных scope как одну историю. Сохраните raw values и единицы, чтобы обновление parser не изменило смысл данных. Для чтения используйте документированный SMART log механизм установленного инструмента; имя команды и форматы могут различаться между версиями CLI.


[Официальный источник 1](https://github.com/linux-nvme/libnvme/blob/master/doc/rst/types.rst).

## Различайте три процента

Available Spare показывает нормализованный остаток spare capacity. Spare Threshold задаёт связанную границу предупреждения. Percentage Used — vendor-specific оценка использованного endurance; достижение 100 не обязано означать немедленный отказ, и значение может превышать 100 согласно определению. Ни одно из этих полей не сообщает напрямую, сколько места осталось для нового файла модели. Для логической ёмкости отдельно изучают namespaces, block device, filesystem и квоты, сохраняя их собственные области учёта.


[Официальный источник 2](https://github.com/linux-nvme/nvme-cli/blob/master/Documentation/nvme-log-smart.txt).

## Разберите независимые состояния

В учебном случае filesystem заполнена почти полностью, но Available Spare остаётся высоким: удаление временного кеша освобождает логическое место, не являясь «пополнением spare». В другом случае логического места достаточно, однако SMART показывает снижение reserve и warning по соответствующей границе. Здесь освобождение каталога не заменяет оценку состояния накопителя. Пример не задаёт универсальные пороги замены и не утверждает точное оставшееся время работы по одному процентному значению.

| Показатель | Какой вопрос решает |
| --- | --- |
| Filesystem available | Можно ли записать нужный файл |
| Available Spare | Каков нормализованный резерв |
| Spare Threshold | Пересечена ли заявленная граница |
| Percentage Used | Какова оценка расхода endurance |

## Оцените warning в контексте

Сопоставьте critical_warning bits, media errors, ошибки I/O и рекомендации производителя. Поле warning отражает соответствующее текущее состояние и не заменяет исторический журнал. Для принятия решения сохраните trend и подтверждение поддержки полей. Не обнуляйте неподдерживаемое значение ради зелёного dashboard. Также не выполняйте format, sanitize или другие изменяющие операции для «проверки spare»: эта статья описывает чтение и интерпретацию, а не восстановление накопителя разрушительными командами.

## Сохраните два отдельных плана

При нехватке filesystem capacity исследуйте размещение данных и storage lifecycle. При warning состояния накопителя следуйте плану резервного копирования и обслуживания, учитывая важность артефактов. Отдельно проверяйте фактическую доступность восстановительной копии. Артефакт должен содержать SMART scope, raw fields, filesystem usage и принятое решение с основанием. Так следующий инженер не перепутает освобождение логических блоков с изменением аппаратного резерва и не примет нормальный объём свободного места за доказательство здоровья NVMe.

Связанные разборы: [nvme for model serving](/ru/journal/nvme-for-model-serving/); [storage optimized hosting](/ru/journal/storage-optimized-hosting/).
