Статусы и ошибки
Ошибки копий
Копия — это бэкап в одном хранилище. Если копия не сохранилась, агент записывает код ошибки и строку restic как есть. Где это видно:
- в журнале сервера и хранилища — строка «Бэкап не сохранён», в подробностях — ответ хранилища и лог restic;
- у сервера на вкладке «Хранилища» — почему копия отстаёт;
- на самом сервере —
sudo arcula backupиsudo arcula statusпишут то же по-английски.
Для части кодов ЛК пишет понятную фразу, для остальных — строку restic: она точнее любого пересказа. arcula не гадает о причине. 403 бывает и от отозванного ключа, и от политики bucket, и от сбитых часов.
Как агент повторяет
- restic сам повторяет каждый неудачный запрос — в логе «returned error, retrying after …». Если отправка не продвигается 10 минут, агент останавливает его.
- Ошибки, которые повтор не исправит, — неверный ключ, нет прав, нет bucket, расходятся часы — агент останавливает после трёх таких ответов подряд.
- Следующая попытка — с более новым бэкапом. Если нового ещё нет, тот же бэкап повторяется: через 1, 2, 4 минуты и дальше, пауза растёт до 30 минут.
- Очереди из пропущенных нет: хранилище догоняет только последний готовый бэкап. Остальные хранилища не ждут — у каждого своя очередь.
Соединение обрывается
В ЛК: «соединение обрывается при отправке (i/o timeout), повторы не помогли».
restic не достучался до хранилища. В логе — dial tcp: i/o timeout, connection refused, connection reset, no such host, network is unreachable, TLS handshake timeout, unexpected EOF и похожее.
Повторяется само: да — повторы restic, затем следующий бэкап.
Что делать: проверьте, открывается ли хранилище с сервера.
curl -sI https://<адрес хранилища>
sudo arcula doctorВ arcula doctor смотрите строку repo:<хранилище>. Обычные причины — DNS, файрвол, исходящий трафик сервера, сбой у провайдера.
403 AccessDenied
Хранилище ответило 403 AccessDenied, например client.PutObject: Access Denied. ЛК показывает строку restic как есть.
Ключ есть, но работать с этим bucket или папкой ему нельзя: не хватает прав, их ограничивает политика bucket, или ключ сервера выдан не на его папку.
Повторяется само: агент прекращает отправку после трёх отказов подряд и пробует снова со следующим бэкапом. Пока права не исправлены, это не поможет. В sudo arcula status такая копия — unavailable.
Что делать: проверьте права ключа у провайдера: список, чтение, запись и удаление в префиксе хранилища. Для режима «свой ключ у каждого сервера» — в папке сервера arcula/<id сервера>/. Затем «Проверить доступ» у хранилища и «Бэкап сейчас» у сервера.
Хранилище не принимает ключ
Ответ 403 InvalidAccessKeyId или 403 SignatureDoesNotMatch, у MinIO — Your account is disabled. ЛК показывает строку restic как есть.
Ключа больше нет — его удалили, отозвали или отключили, — или секрет не тот.
Повторяется само: агент прекращает после трёх отказов подряд. Следующие бэкапы будут падать так же, пока ключ не заменят.
Что делать: выпустите новый ключ у провайдера и задайте его в хранилище, вкладка «Подключение». Для режима «свой ключ у каждого сервера» — «Ключи серверов» → «Заменить». Панель проверит ключ, а агенты получат его со следующим сигналом.
Bucket нет
В ЛК: «такого bucket в хранилище нет — создайте его у провайдера или подключите хранилище заново с верным именем». Ответ хранилища — NoSuchBucket.
Bucket удалили или переименовали.
Повторяется само: агент прекращает после трёх отказов подряд, дальше — так же, пока bucket нет.
Что делать: сверьте имя на вкладке «Подключение» с тем, что есть у провайдера. Если bucket удалили, бэкапов в нём больше нет. Создайте его заново с тем же именем — агент сам создаст в нём репозиторий при следующей отправке. Или подключите другое хранилище и замените им это в плане: адрес и bucket у подключённого хранилища в ЛК не меняются.
Часы расходятся с хранилищем
Ответ 403 RequestTimeTooSkewed: время в запросе слишком далеко от времени хранилища. ЛК показывает строку restic как есть.
Повторяется само: агент прекращает после трёх отказов подряд. Пока часы не исправлены, следующие бэкапы падают так же.
Что делать: включите синхронизацию времени на сервере.
sudo timedatectl set-ntp trueЕсли часы сервера расходятся с панелью больше чем на 2 минуты, у сервера уже есть замечание — Часы сервера отстают или спешат.
503 SlowDown
В ЛК: «хранилище отвечает 503 SlowDown — просит присылать запросы реже; повторы restic не помогли». В логе — 503 SlowDown: Please reduce your request rate.
Хранилище ограничивает частоту запросов.
Повторяется само: да. restic повторяет с паузами; если за 10 минут отправка не продвинулась, агент останавливает её и пробует со следующим бэкапом.
Что делать: обычно проходит само. Если повторяется каждый день, ограничьте скорость отправки в это хранилище или отправляйте ночью: сервер → «Настройки защиты» → «Отправка». Узнайте у провайдера его лимит запросов.
Ошибка на стороне хранилища
Ответ 500 InternalError, 502 Bad Gateway, 503 Service Unavailable или 504 Gateway Timeout. ЛК показывает строку restic как есть.
Повторяется само: да — повторы restic, затем следующий бэкап.
Что делать: подождать и посмотреть страницу статуса провайдера. Держится часами — пишите провайдеру. Остальные хранилища в это время сохраняют бэкапы как обычно.
Репозиторий заблокирован
В логе — repository is already locked exclusively или unable to create lock.
Репозиторий занят другой операцией, и агент не дождался её за 30 минут. Обычно это сама панель — ночная проверка данных или очистка хранилища. Реже — restic, запущенный вручную.
Повторяется само: да, со следующим бэкапом.
Что делать: посмотрите журнал хранилища — шла ли в это время проверка данных или очистка. Если блокировка осталась от упавшего ручного restic, снимите её на сервере:
sudo sh -c 'set -a; . /etc/arcula/repos/<id хранилища>.env; set +a; /var/lib/arcula/bin/restic unlock'restic unlock снимает только устаревшие блокировки: работающую операцию он не прервёт.
Набор удалён из staging
В логе — например, staging 0 of 40 GB free, set removed. ЛК показывает строку как есть.
Набор бэкапа — дампы и настройки хоста — ждал отправки в это хранилище, но его пришлось удалить из staging: не хватило места для нового. Или набора нет после перезапуска агента.
Повторяется само: да, следующий бэкап уйдёт сюда новым набором. Этого бэкапа в этом хранилище уже не будет.
Что делать: если повторяется, staging мал для медленного хранилища — В staging не хватит места.
Нет ключа к хранилищу
В ЛК: «у сервера нет ключа к этому хранилищу — задайте его: хранилище → «Подключение» → «Ключи серверов»».
У хранилища режим «свой ключ у каждого сервера», а для этого сервера ключа нет. restic даже не запускается — копия сразу не сохранена.
Повторяется само: без ключа — нет смысла. Как только ключ задан, следующий бэкап уйдёт сюда.
Что делать: Для сервера не задан ключ.
Другая ошибка
Всё, что агент не узнал. ЛК показывает последнюю строку restic как есть. Сюда же попадает набор, который вы удалили сами командой sudo arcula clean --waiting: «point set removed by the owner».
Повторяется само: да, со следующим бэкапом.
Что делать: прочитайте строку и лог в подробностях строки журнала. На сервере:
sudo arcula doctor
sudo journalctl -u arcula-agent --since "1 hour ago"Та же статья — в панели, в разделе «Справка».