Как восстановить архив borgbackup, если возникает ошибка "аутентификация архива не прошла проверку"?

У меня есть два сервера: server1 и server2, оба на CentOS 7, и я использую Borg версии 1.1.18. server1 выполняет резервное копирование на server2 через SSH. После возникновения ошибки ввода-вывода во время операции prune, я выполнил команду `borg check --repair` на server2. 

Теперь при выполнении команд `borg info` и `borg prune` возникают ошибки, которые выглядят следующим образом: 

```
borg -v info ssh://backupuser@server2:22/~/borg/dbdump
Synchronizing chunks cache...
Archives: 45, w/ cached Idx: 0, w/ outdated Idx: 0, w/o cached Idx: 45.
Fetching and building archive index for dbdump_2024-02-29_03:00 ...
Data integrity error: Archive authentication did not verify
```

Сообщение об ошибке при выполнении команды `borg check` гласит, что некоторые архивы будут удалены:

```
borg check "ssh://backupuser@server2:22/~/borg/dbdump"
...
Archive TAM authentication issue for archive dbdump_2024-11-16_03:10: Data integrity error: Archive authentication did not verify
This archive will be *removed* from the manifest! It will be deleted.
...
```

Очистка каталогов `/root/.cache/borg` и `/root/.config/borg` не привела к успеху. Попытки использования `borg upgrade --tam` и `--disable-tam` тоже не помогли. А выполнение `borg upgrade --archives-tam` приводит к ошибке: "Archive authentication did not verify".

Ошибка выглядит так, как будто чего-то не хватает, но мне не ясно, что именно...
  • 25 ноября 2024 г. 12:23
Ответы на вопрос 1
Ошибка "Archive authentication did not verify" в BorgBackup указывает на проблему с целостностью данных или аутентификацией архива. Ваша ситуация указывает на возможное повреждение архивов, что может произойти в результате неправильных операций, таких как сбой ввода-вывода, или ошибки в процессе проверки. Если `borg check` сообщает, что некоторые архивы будут удалены, это значит, что Borg пытается устранить поврежденные данные.

Вот несколько шагов, которые вы можете предпринять для решения проблемы:

1. **Создание резервной копии текущих данных**: Прежде чем продолжать, создайте резервную копию каталога с архивами на server2, чтобы избежать потери данных в будущем.

2. **Проверка целостности репозитория**:
   - Выполните команду `borg check` без параметра `--repair` и посмотрите на вывод, чтобы понять, какие архивы повреждены.
   - Можете использовать `borg check --info`, чтобы получить более подробную информацию о состоянии репозитория.

3. **Попробуйте восстановить один архив**: Если у вас есть архивы, которые не были помечены как поврежденные, попробуйте восстановить их в отдельное место. Например:
   ```bash
   borg extract ssh://backupuser@server2:22/~/borg/dbdump::archive_name
   ```
   Если восстановление пройдет успешно, у вас будет доступ к данным из этого архива.

4. **Очистка поврежденных архивов**:
   - Если некоторые архивы повреждены и их восстановить не удастся, может потребоваться их удалить. По выводу команды `borg check` вы сможете увидеть, какие архивы будут удалены.
   - Можно вручную удалить поврежденные архивы с помощью команды:
     ```bash
     borg delete ssh://backupuser@server2:22/~/borg/dbdump::archive_name
     ```

5. **Проверка подключения**: Убедитесь, что нет проблем с вашей сетью или подключением к SSH, которые могут вызвать обрывы и повредить данные.

6. **Обновление Borg**: Убедитесь, что на обоих серверах устанавливается одна и та же версия Borg. Ваша версия 1.1.18 уже довольно старая, и если возможно, постарайтесь обновить её до последней стабильной версии, так как в новых версиях могут быть исправлены баги.

Если ни один из этих шагов не помог, возможно, вам придется обратиться к более детально застрахованным пользователям или администраторам, которые смогут помочь с восстановлением данных или исследованием использования Borg через более широкий контекст ваших резервных копий.
Похожие вопросы