nvme nvme0: Controller Fatal Status (CFS) triggered — Решение сбоя NVMe в Linux
Архитектура ошибки и симптомы сбоя
Критический аппаратный сбой «nvme nvme0: Controller Fatal Status (CFS) triggered» означает, что контроллер NVMe-накопителя установил флаг CFS (Controller Fatal Status) в регистре состояния CSTS (Controller Status). Накопитель информирует драйвер ядра о том, что произошла внутренняя неустранимая фатальная ошибка аппаратной логики, контроллер прекратил обработку очередей команд (Submission/Completion Queues) и перешел в режим блокировки или перезагрузки.
Диагностическая таблица параметров сбоя
| Параметр | Значение | Инженерный смысл сбоя |
|---|---|---|
| nvme0 | NVMe Controller ID | Экземпляр NVMe-контроллера в операционной системе. |
| CFS (Controller Fatal Status) | CSTS.CFS bit = 1 | Контроллер SSD находится в состоянии критического аппаратного отказа. |
| Consequence | I/O Failure / Device Drop | Файловая система перемонтируется в Read-Only или завершает все операции с ошибкой I/O. |
Пошаговое дерево решений и сценарии траблшутинга
Сценарий 1: Проверка здоровья и логов ошибок через nvme-cli
# Установка пакета управления NVMe:
sudo apt-get install nvme-cli || sudo dnf install nvme-cli
# Просмотр смарт-логов и температуры накопителя:
sudo nvme smart-log /dev/nvme0
# Просмотр журнала аппаратных ошибок контроллера:
sudo nvme error-log /dev/nvme0Обратите внимание на температуру (temperature) и признак critical_warning.
Сценарий 2: Тюнинг энергосбережения (APST / Non-Operational Power States)
Большинство падений потребительских и серверных NVMe вызвано сбоями перехода между фазами питания APST:
# Добавьте в /etc/default/grub для полного отключения глубоких состояний сна NVMe:
GRUB_CMDLINE_LINUX="nvme_core.default_ps_max_latency_us=0 pcie_aspm=off"
# Обновите конфигурацию GRUB:
sudo update-grub
sudo rebootСценарий 3: Обновление прошивки (Firmware Update) накопителя
# Проверка текущей ревизии прошивки:
sudo nvme list
# Пример обновления прошивки вендора (при наличии файла бинарника):
sudo nvme fw-download /dev/nvme0 --fw=firmware_image.bin
sudo nvme fw-commit /dev/nvme0 --slot=1 --action=3ITSTM выполнит аудит инфраструктуры СХД, обновление микрокодов enterprise-накопителей (Samsung, Intel/Solidigm, Kioxia) и перенос нагрузок без простоя.
Частые вопросы (FAQ)
Почему после ошибки CFS диск полностью исчезает из lsblk?
При установке бита CFS контроллер SSD прекращает отвечать на транзакции шины PCIe. Драйвер ядра Linux фиксирует таймаут и инициирует процедуру удаления узла устройства из дерева блочных устройств.
Помогает ли перезагрузка вернуть накопитель в работу?
Обычная мягкая перезагрузка (Warm Reboot) часто не помогает, так как питание с линий PCIe не снимается, и контроллер остается в зависшем состоянии. Требуется полное выключение питания сервера (Cold Power Cycle) или сброс через IPMI.
Может ли перегрев вызвать ошибку Controller Fatal Status?
Да. Если температура контроллера превышает критический порог (обычно 75–85°C), а механизм Thermal Throttling не успевает охладить кристалл, контроллер аварийно глушит работу для защиты ячеек памяти NAND.
Что делать, если NVMe перешел в статус CFS и доступен только для чтения?
Немедленно выполните снятие резервной копии данных через dd/ddrescue, так как контроллер включил аварийный режим Read-Only и может окончательно выйти из строя при следующем выключении питания.