feat(books-backup): cover bookva-* tenant (db/mongo/minio)
bookva tenant (bookva-db/mongo/es/minio) поднят 26.05 при cutover-prep, а books-vds backup написан 25.05 — до bookva. Покрытие не расширили; gap висел wiki-follow-up #2 ~2.5 недели. Тот же класс, что MSSQL: новый stateful, бэкап отстал, повешен как заметка. Добавлено в scripts/books-vds-backup-daily-kreknin/run.sh (deploy == repo, бэкап .bak-pre-bookva): - bookva-db: mariadb-dump (тот же BOOKS_DB_ROOT_PASSWORD, стек клонирован) - bookva-mongo: mongodump --archive (no-auth) - bookva-minio: raw rsync named volume bookva-minio-data (immutable objects) Каждая команда протестирована изолированно ДО внесения в скрипт. Verified зелёным прогоном: BOOKS-VDS backup OK 10m42s, артефакты на kreknin (bookva-mariadb 257M, bookva-mongo 3.2M, bookva-minio 1.4G). bookva-es отложен (path.repo не сконфигурирован, нужен ES restart через Portainer) -> .tasks/bookva-es-snapshot-repo.md. Покрыт по факту: индексы epz/products идентичны slovo ES, который снапшотится. - .wiki/entities/books-vds.md: Backup-секция + follow-up #2 частично закрыт - .wiki/concepts/backup-inventory-2026-06.md: bookva row -> done - .tasks/bookva-es-snapshot-repo.md: backlog для ES-снапшота Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
24
.tasks/bookva-es-snapshot-repo.md
Normal file
24
.tasks/bookva-es-snapshot-repo.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# bookva-es-snapshot-repo — отдельный ES-снапшот для bookva tenant
|
||||
|
||||
**Status:** ⚪ backlog — заведена 2026-06-12 при добавлении bookva в backup.
|
||||
**Priority:** низкий (данные покрыты по факту — см. ниже).
|
||||
|
||||
## Контекст
|
||||
|
||||
`bookva-es` (отдельный ES 7.10 контейнер на [[../.wiki/entities/books-vds]]) **не снапшотится**: `path.repo` не сконфигурирован → REST `_snapshot` PUT невозможен (`repos={}`). bookva-db/mongo/minio уже в daily-бэкапе с 2026-06-12, bookva-es — нет.
|
||||
|
||||
**Почему не горит:** индексы bookva-es (`epz` 820604, `products` 105922) **идентичны slovo ES** (те же counts), который снапшотится daily в repo `kreknin`. То есть данные de-facto есть в бэкапе через slovo-снапшот. Плюс ES — derivative index, реконструируем reindex'ом из БД. Это покрытие-по-проксе, не source-of-truth дыра.
|
||||
|
||||
## Что сделать (когда дойдут руки)
|
||||
|
||||
1. Через **Portainer** (`portainer.kzntsv.site`, books-vds management plane — НЕ ssh+compose) отредактировать stack bookva-es:
|
||||
- добавить bind-mount под snapshot repo (напр. `/usr/docker/bookva-es/snapshots:/snapshots`),
|
||||
- добавить env `path.repo=/snapshots`,
|
||||
- recreate (ES restart ~30 сек).
|
||||
2. Зарегистрировать repo: `curl -X PUT localhost:9200/_snapshot/kreknin -d '{"type":"fs","settings":{"location":"/snapshots"}}'`.
|
||||
3. В `/opt/stacks/backup/run.sh` (и репо-копию) добавить второй ES-snapshot блок для bookva-es + rsync `bookva-es/snapshots`.
|
||||
4. Прогнать вручную, проверить green + артефакт на kreknin.
|
||||
|
||||
## Decisions log
|
||||
|
||||
- **2026-06-12** — заведена. bookva db/mongo/minio добавлены в backup в эту сессию; es отложен (нужен disruptive ES restart через Portainer, данные покрыты slovo-снапшотом). См. commit с bookva-backup.
|
||||
Reference in New Issue
Block a user