Коды ошибок резервного копирования и восстановления (mpbx-backup)
Возвращаются mpbx backup, mpbx restore, планировщиком и маршрутами /api/v1/system/backups (W4-DEP-06).
Сообщения содержат идентификаторы резервных копий, имена частей, имена таблиц и коды ошибок; они никогда не
содержат парольную фразу, ключ, учётные данные цели или строку данных. Неудачный запуск также записывается в
историю запусков (error_code) и аудируется (backup.failed, backup.restore_failed,
backup.verify_failed). Руководство: резервное копирование и восстановление.
| Код | Тип | Значение | Что делать |
|---|---|---|---|
MPBX-BACKUP-PASSPHRASE-WEAK | invalid_argument | Парольная фраза для создания резервных копий короче 12 символов, пуста или состоит из одного повторяющегося символа. | Выберите более длинную; лучше всего несколько случайных слов. |
MPBX-BACKUP-PASSPHRASE-WRONG | invalid_argument | Парольная фраза не открывает резервную копию, либо её manifest.json изменён (MAC манифеста не проверяется). Ничего не прочитано и не изменено. | Используйте парольную фразу, с которой была создана резервная копия (изменение настроек позже не перешифровывает старые копии). Если вы уверены, что фраза верна, манифест был изменён: восстановите другой набор. |
MPBX-BACKUP-PASSPHRASE-MISSING | invalid_argument | Парольная фраза не передана или пуста. | Передайте --passphrase-file, --passphrase-stdin, задайте MPBX_BACKUP_PASSPHRASE_FILE или запустите в терминале. Флага командной строки для самой парольной фразы намеренно нет. |
MPBX-BACKUP-CORRUPT | invalid_argument | Часть отсутствует, её размер или SHA-256 отличается от манифеста, она усечена либо фрагмент не проходит аутентификацию (повреждён, усечён, переупорядочен или заменён). Ничего не восстановлено. | Восстановите другой набор; проверьте цель (версионирование корзины, диск). mpbx backup verify находит проблему без парольной фразы. |
MPBX-BACKUP-NOT-FOUND | not_found | Набор резервных копий не существует или не содержит manifest.json (неполный), либо идентификатор запуска неизвестен. | Перечислите наборы (mpbx backup list); неполный набор удаляется ротацией через сутки. |
MPBX-BACKUP-FORMAT | invalid_argument | manifest.json не является допустимым манифестом поддерживаемой версии формата или называет неизвестную часть. | Используйте версию mpbx, которая создала копию, либо восстановите другой набор. |
MPBX-BACKUP-SCHEMA-MISMATCH | invalid_argument | Миграции базы данных в копии не совпадают в точности с теми, которые знает эта версия, либо таблица или столбец отличаются. | Восстановите той же версией mpbx, которая создала копию, затем обновите. Откат обновления восстанавливает копию до обновления версией до обновления. |
MPBX-BACKUP-TARGET-NOT-EMPTY | conflict | В установке уже есть пользователи; восстановление заменяет ВСЕ данные. | Восстановите на новую установку либо передайте --force, если нужна замена. |
MPBX-BACKUP-TARGET | unavailable / config | Цель резервного копирования настроена неверно или недоступна (корзина не найдена, неверные конечная точка или учётные данные, каталог недоступен для записи). | Выполните «Проверить цель» в консоли (POST /system/backups/settings/check-target) или mpbx backup list; сообщение называет шаг, на котором произошёл сбой. |
MPBX-BACKUP-BUSY | conflict | Выполняется другое резервное копирование или восстановление (на этом или другом узле). | Подождите или посмотрите GET /system/backups/runs. Запуск, узел которого умер, считается брошенным через 12 часов (MPBX-BACKUP-ABANDONED в этом запуске). |
MPBX-BACKUP-ABANDONED | (запись запуска) | Запуск оставался running 12 часов: его узел умер. Записывается в запуск, а не возвращается запросом. | Ничего; следующий запуск не блокируется. |
MPBX-BACKUP-POSTGRES | unavailable / config / internal | Чтение или загрузка Postgres завершились ошибкой: соединение, таблица, которую логин не может прочитать, цикл в не откладываемых внешних ключах, таблица с секциями, число строк не совпадает. Восстановление полностью откатилось. | Сообщение называет таблицу и ошибку базы данных. |
MPBX-BACKUP-CLICKHOUSE | unavailable | Чтение или загрузка ClickHouse завершились ошибкой. Таблицы, восстановленные до сбоя, остаются восстановленными (у ClickHouse нет транзакции на несколько таблиц). | Исправьте ClickHouse и повторите восстановление; оно заменит таблицы. |
MPBX-BACKUP-VALKEY | unavailable | Чтение или запись Valkey завершились ошибкой в необязательной части Valkey (MPBX_BACKUP_VALKEY=1). Восстановление заменило ключи, записанные до этого момента; остальные не тронуты. | Исправьте Valkey и повторите резервное копирование или восстановление. |
MPBX-BACKUP-SECRETS | config | Секреты установки недоступны для резервного копирования (нет MPBX_MASTER_KEY), непригодны либо не могут быть записаны в приёмник при восстановлении. | Запускайте резервное копирование там, где mpbx run получает свои секреты (то же окружение или --secrets-file). Для восстановления mpbx init должен сначала создать приёмник; после исправления повторите восстановление. |
MPBX-BACKUP-MASTER-KEY-MISMATCH | conflict | Восстановление через консоль из резервной копии, в которой хранится другой мастер-ключ, чем у работающей установки. | Восстановите её командой mpbx restore на хосте: она также записывает секреты резервной копии. |
MPBX-BACKUP-CONFIRM | invalid_argument | confirm при восстановлении через консоль не совпадает с идентификатором копии. | Введите идентификатор резервной копии. |
MPBX-BACKUP-KDF | invalid_argument | Параметры выработки ключа в манифесте выходят за допустимые пределы (подделанный манифест мог бы запросить гигабайты памяти). | Используйте резервную копию, созданную mpbx. |
MPBX-BACKUP-USAGE | invalid_argument | Неверная командная строка, запрос или описание цели. | См. mpbx backup --help. |
MPBX-BACKUP-SETTINGS | invalid_argument | Настройки резервного копирования неверны или неполны: плановые копии без цели или парольной фразы, цель не подходит своему бэкенду, хранение, которое ничего не сохраняет, либо для копирования, списка или восстановления не настроена цель. | Исправьте настройки (PUT /system/backups/settings). |
MPBX-BACKUP-RESTORE-NOT-OWNER | config | Логин базы данных не владеет таблицами, поэтому не может перенять их для восстановления. | Восстанавливайте с логином, который выполнял миграции (наборы Compose и Kubernetes используют его и для приложения). |
MPBX-BACKUP-RESTORE-BAD-TABLE | invalid_argument | Имя таблицы не является простым идентификатором. | Сообщите об ошибке: это дефект или подделанная копия. |
MPBX-BACKUP-RESTORE-PROTECTION | internal | После загрузки триггер или принудительная защита на уровне строк не могли быть восстановлены. Восстановление откатилось. | Сообщите об ошибке: восстановление не фиксирует изменения при отключённой защите. |