Система загрузилась в состоянии degraded
Состояние degraded означает, что система загрузилась, но одна или несколько служб не запустились. Работать она будет, а вот что именно сломано — нужно выяснять, потому что молча это не проявится.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Одна или несколько служб в состоянии failed
Любая упавшая служба переводит систему в это состояние. Это удобный признак для мониторинга: одна команда отвечает, всё ли в порядке.
-
Осталась запись о давнем сбое
Состояние failed сохраняется до сброса. Служба может работать нормально, а метка о прошлом сбое остаётся.
-
Служба падает при каждой загрузке
Часто это остаток от удалённого пакета или служба, которой не хватает чего-то при загрузке.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Одно слово о состоянии системы: running, degraded, maintenance.
systemctl is-system-runningЧто именно не запустилось.
systemctl --failed --no-pagerОшибки текущей загрузки.
journalctl -b -p err --no-pager | head -30Решение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- Любая упавшая служба переводит систему в это состояние. Это удобный признак для мониторинга: одна команда отвечает, всё ли в порядке.
- Как проверить
-
Посмотрите список упавших unit.
systemctl is-system-running systemctl --failed --no-pager
- Как исправить
-
Разберитесь с каждой упавшей службой. После исправления сбросьте состояние:
systemctl reset-failed.
- Почему происходит
- Состояние failed сохраняется до сброса. Служба может работать нормально, а метка о прошлом сбое остаётся.
- Как проверить
-
Посмотрите, работает ли служба сейчас.
systemctl is-active имя.service; systemctl is-failed имя.service
- Как исправить
-
Сбросьте состояние после разбора:
systemctl reset-failed имя.service. Делать это не разобравшись — значит прятать сбой.
- Почему происходит
- Часто это остаток от удалённого пакета или служба, которой не хватает чего-то при загрузке.
- Как проверить
-
Посмотрите журнал текущей загрузки по уровню ошибок.
journalctl -b -p err --no-pager | head -30
- Как исправить
-
Либо исправьте службу, либо отключите её, если она больше не нужна:
systemctl disable --now имя.
Пример вывода
Система работает, но одна служба упала. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
$ systemctl is-system-running
degraded
$ systemctl --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
× backup.service loaded failed failed Nightly backup
Связанные ошибки
- Failed with result 'exit-code' Состояние exit-code: служба завершилась с ненулевым кодом. Что это сообщение значит и где искать настоящую причину.
- Dependency failed for … и результат 'dependency' Сообщение Dependency failed for: служба не запускалась, потому что упала её зависимость. Как найти настоящего виновника.
- Таймер срабатывает, но задача падает незаметно Таймер работает исправно, а задача каждый раз завершается ошибкой, и об этом никто не узнаёт. Как настроить оповещение через OnFailure.
- A start job is running: загрузка висит на одной службе Загрузка останавливается с обратным отсчётом: служба не укладывается в таймаут. Как найти виновника и не ждать.
- Cannot assign requested address при привязке Ошибка 99 при привязке: адрес не принадлежит машине или ещё не поднят. Разбор с network-online.target и ip_nonlocal_bind.
- Mount process exited, code=exited, status=32: не найдено устройство Монтирование не проходит: устройство или UUID не найдены, неверная файловая система, недоступен сетевой ресурс. Код 32 от команды mount.
- Temporary failure in name resolution в журнале службы Служба не может разрешить имя: не готова сеть, нет сервера имён, мешает изоляция. Разбор при загрузке и в работе.
- You are in emergency mode: система не загрузилась Загрузка остановилась в аварийном режиме. Что проверять: fstab, файловые системы, цель по умолчанию. Как войти и починить.
Источники
-
systemctl(1)
Команда is-system-running и её значения. -
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Проверено: одна упавшая служба переводит систему в degraded до сброса состояния.