Files
admin/.tasks/2026-06-12-00931-bookva-es-snapshot-repo.md

2.7 KiB
Raw Blame History

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 дыра.

Что сделать (когда дойдут руки)

  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.