<p>borg prune: объект с ключом не найден в репозитории</p>

Созданный на 12 апр. 2017  ·  5Комментарии  ·  Источник: borgbackup/borg

Привет,

Я пытаюсь выйти из сложной ситуации.

Несколько недель назад я резко прервал резервное копирование борга. Репозиторий оказался в состоянии, когда мне пришлось несколько раз ремонтировать borg, чтобы резервная копия снова работала.

Но, несмотря на все усилия, я не могу удалить свои старые резервные копии, я получаю множество ошибок, таких как следующие ошибки при попытке:

Удаленный: Borg 1.0.10: исключение в вызове RPC:
Удаленный: Отслеживание (последний вызов последним):
Удаленный: файл "borg / remote.py", строка 145, в службе.
Удаленный: файл "borg / repository.py", строка 550, удален.
Удаленный: borg.repository.Repository.ObjectNotFound: объект с ключом b'xfdx8dx96xd0axdfox85xf6xeexc5xb6xb6 & x15x92rtxe2x8b * Ux96D + dx8axa6Jxe5x14x0e 'не найден в репозитории CUSTER / mail
Удаленный: Платформа: Linux FOO.BAR.fr 3.10.0-514.10.2.el7.x86_64 # 1 SMP Пт 3 марта 00:04:05 UTC 2017 x86_64 x86_64
Удаленный: Linux: CentOS Linux 7.3.1611 Core
Пульт: Borg: 1.0.10 Python: CPython 3.5.3
Пульт ДУ: PID: 11395 CWD: / srv / nas / CUSTOMER
Удаленный: sys.argv: ['/usr/bin/borg1.0.10', 'serve', '--restrict-to-path', '/ srv / nas / CUSTOMER /']
Удаленный: SSH_ORIGINAL_COMMAND: '/usr/bin/borg1.0.10 serve --umask = 077 --info'

borg check --repair фактически очищает некоторые куски, но не может сделать мою резервную копию управляемой

Спасибо за вашу помощь,

С наилучшими пожеланиями

question

Самый полезный комментарий

Исключение ObjectNotFound здесь означает, что он пытался удалить ключ из индекса репо, но ключа не было в индексе. Операция удаления, скорее всего, вызывается из клиента borg, потому что вы сокращаете.

Итак, либо ваше репо повреждено (== в хранилище данных фактически отсутствует то, что должно быть), либо, по крайней мере, индексы каким-то образом несовместимы с репозиторием.

Что можно попробовать ( рискуете - если это важно, проводите все эксперименты на КОПИИ репо ):

  • убить кеши на стороне клиента (не репозиторий): borg delete --cache-only repo
  • попробуйте чернослив снова

Если это по-прежнему вызывает такую ​​же / аналогичную ошибку, существует небольшая вероятность того, что ваш индекс репо поврежден, но данные в репо в порядке. Тогда вы могли бы попробовать:

  • убить индекс репо и файл подсказок (они находятся внутри каталога репозитория, называемого hints.N и index.N)
  • используйте borg check --repair repo чтобы перестроить индекс.
    Если ваше репо большое и вы работаете удаленно, это может занять много времени. Но после этого, ЕСЛИ данные в вашем репо все еще в порядке, ваш индекс репо будет согласован с данными. Если восстановление завершилось сбоем / неудачей, значит, данные в вашем репо повреждены.

Все 5 Комментарий

Исключение ObjectNotFound здесь означает, что он пытался удалить ключ из индекса репо, но ключа не было в индексе. Операция удаления, скорее всего, вызывается из клиента borg, потому что вы сокращаете.

Итак, либо ваше репо повреждено (== в хранилище данных фактически отсутствует то, что должно быть), либо, по крайней мере, индексы каким-то образом несовместимы с репозиторием.

Что можно попробовать ( рискуете - если это важно, проводите все эксперименты на КОПИИ репо ):

  • убить кеши на стороне клиента (не репозиторий): borg delete --cache-only repo
  • попробуйте чернослив снова

Если это по-прежнему вызывает такую ​​же / аналогичную ошибку, существует небольшая вероятность того, что ваш индекс репо поврежден, но данные в репо в порядке. Тогда вы могли бы попробовать:

  • убить индекс репо и файл подсказок (они находятся внутри каталога репозитория, называемого hints.N и index.N)
  • используйте borg check --repair repo чтобы перестроить индекс.
    Если ваше репо большое и вы работаете удаленно, это может занять много времени. Но после этого, ЕСЛИ данные в вашем репо все еще в порядке, ваш индекс репо будет согласован с данными. Если восстановление завершилось сбоем / неудачей, значит, данные в вашем репо повреждены.

Кстати, обычно прерывание борга не должно приводить репо в такое плачевное состояние. Если есть только некоторые незафиксированные данные, они обычно автоматически откатываются, когда вы используете репо в следующий раз.
Так что, возможно, рассмотрите другие причины, например проблемы с оборудованием - проверьте файловую систему, диск (ы) (значения SMART) и оперативную память.

Спасибо за быстрый отзыв, попробую сегодня вечером.

Возможно, репо находится в таком состоянии из-за одновременного выполнения двух резервных копий Borg.

Томас,
Я успешно выполнил ваши инструкции. Мне пришлось проделать весь процесс, включая "уничтожение" файлов индекса и подсказок в репозитории, а затем восстановление.

Затем я смог успешно удалить старые резервные копии.

Весь процесс (удаление локального кеша, попытка удаления, удаление удаленных подсказок и индексного файла, восстановление, удаление --keep-daily20, а затем удаление --keep-daily 7) занял около 120 минут. Размер данных 40 ГБ, репо удаленное.

Спасибо за быстрый и эффективный отзыв.

Продолжайте хорошую работу

Может быть, в сообщении об ошибке напечатано что-то вроде «Попытка запустить проверку borg»?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги