bookva-es (отдельный ES 7.10, Portainer stack 37) не снапшотился — path.repo не сконфигурирован. Пересоздан через Portainer API (PUT /api/stacks/37) с path.repo=/snapshots + bind /usr/docker/bookva-es/snapshots (uid 1000:0); внешний том bookva-es-data сохранён (epz/products целы). Repo kreknin зарегистрирован. Добавлен Step 2b (bookva-es snapshot + prune) в run.sh. Gotcha пойман на проверке приёмника ДО коммита: оба ES-каталога называются `snapshots` → как отдельные rsync-источники сливаются в один dest/snapshots/ и портят оба репо (видно по двойному index-N). Fix: источник bookva-es = родительский /usr/docker/bookva-es (basename bookva-es → dest/bookva-es/snapshots/). Verified green: BOOKS-VDS backup OK 10m28s, на kreknin раздельно snapshots/ (slovo, index-41, 795M) + bookva-es/snapshots/ (index-4, 801M), по одному index-N в каждом → оба независимо рестораблельны. Закрывает .tasks/bookva-es-snapshot-repo.md (🟢). bookva tenant полностью покрыт (db/mongo/minio/es). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.7 KiB
bookva-es-snapshot-repo — отдельный ES-снапшот для bookva tenant
Status: 🟢 closed 2026-06-12 (в ту же сессию). Сделано полностью — не отложено.
Close note: Portainer stack 37 пересоздан (PUT API) с path.repo=/snapshots + bind /usr/docker/bookva-es/snapshots (1000:0), том bookva-es-data сохранён (epz/products целы). Repo kreknin зарегистрирован, snapshot-блок добавлен в run.sh. Поймана и устранена коллизия basename snapshots (rsync источник bookva-es = родительский /usr/docker/bookva-es). Verified green: BOOKS-VDS backup OK 10m28s, на kreknin раздельно snapshots/(slovo, index-41) и bookva-es/snapshots/(index-4).
Контекст
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 дыра.
Что сделать (когда дойдут руки)
- Через 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 сек).
- добавить bind-mount под snapshot repo (напр.
- Зарегистрировать repo:
curl -X PUT localhost:9200/_snapshot/kreknin -d '{"type":"fs","settings":{"location":"/snapshots"}}'. - В
/opt/stacks/backup/run.sh(и репо-копию) добавить второй ES-snapshot блок для bookva-es + rsyncbookva-es/snapshots. - Прогнать вручную, проверить green + артефакт на kreknin.
Decisions log
- 2026-06-12 — заведена. bookva db/mongo/minio добавлены в backup в эту сессию; es отложен (нужен disruptive ES restart через Portainer, данные покрыты slovo-снапшотом). См. commit с bookva-backup.