meta(admin): MinIO split Track A DONE — books-vds minio 2020→2025 (shared + bookva), backup paths updated

- shared minio (stack 30): mirror 17 buckets → /usr/docker/minio/data-new, Portainer swap, traefik/imgproxy/books apps GREEN
- bookva-minio (stack 49): mirror books (38692 obj) → volume bookva-minio-data-new (docker volume rename unavailable on old daemon)
- backup script (repo + host /opt/stacks/backup/run.sh) repointed to live paths
- runbook Track A progress + gotchas (mc --disable-multipart, sequential mirrors on 3.8G host, CRLF secret)
- handoff for next session (retire old data in 48h, kreknin tomorrow)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-08-03 17:29:35 +03:00
parent a37c3ba98b
commit f49481b80c
5 changed files with 38 additions and 27 deletions

View File

@@ -1,44 +1,55 @@
---
_last_updated_: 2026-08-03T13:08:14Z
session_id: 2026-08-03-labtools-catalog-provider-live
prev_session_id: 2026-08-03-labtools-cylindrical-rootcause-handoff
_last_updated_: 2026-08-03T14:29:08Z
session_id: 2026-08-03-minio-split-track-a-done
prev_session_id: 2026-08-03-labtools-catalog-provider-live
---
# Next session handoff
## Эта сессия — labtools cylindrical ЗАКРЫТ (catalog provider core 0.26.6, LIVE GREEN). Крекнин — завтра (Алексей готов). MinIO split Track A — следующая сессия (директива user'а).
## MinIO split Track A — ✅ DONE 2026-08-03. Оба books-vds minio на 2025. Крекнин — завтра (Алексей). Бэкапы вернуть после ремонта.
### 1. labtools.ru cylindrical — 🟢 CLOSED, LIVE GREEN
Отмашка snolla (core 0.26.5, store-only) НЕ чинила: labtools — **catalog-модуль**, store нет, provider = `LinkedCatalogProductsProvider`. Реализован полный диспетчер `packages/core/lib/viewModels/linkedItemResolver.js` (порт legacy `ILinkedEntitiesProvider`): dispatch по provider-строке → catalog (`CatalogsService.findProductById`) / blog (`findPostByGlobalId`) / page (`getPageById`) / store (fallback). **core 0.26.6** published (verdaccio), сьют **263/263**, commit `5f0f996`. labtools `yarn.lock` → 0.26.6 (`d263e1c`), стек 17 swap (env 8/8), **LIVE GREEN**: cylindrical 0 empty href/src, 8 карточек гидратированы (round-xrf/vacuum-ir/…). Таска `content-page-linked-products-hydration` закрыта; snolla подтвердил + вики-ингест (`related-products-linked-items.md`). **Rollback = `0dc0b4e`.**
### 1. MinIO split Track A — ЗАКРЫТ (live GREEN, прозрачный апгрейд)
Оба инстанса books-vds переведены `RELEASE.2020-07-13``RELEASE.2025-09-07T16-13-09Z` (тот же digest что vds minio, креды `AKIAJ2…` не тронуты):
- **shared `minio` (стек 30, minio.kzntsv.site):** зеркало 17 бакетов → `/usr/docker/minio/data-new`, Portainer swap, traefik/imgproxy/books-api/task-runner/job-scheduler — GREEN. Rollback: старый `/usr/docker/minio/data` жив.
- **`bookva-minio` (стек 49):** зеркало `books` (38692 obj) → том **`bookva-minio-data-new`** (rename НЕдоступен — старый docker daemon прячет `volume rename`; имя осталось `-new`). bookva-api/task-runner GREEN. Rollback: `bookva-minio-data` (2020) + 2020 image.
- **Бэкап-скрипт обновлён** (репо + хост `/opt/stacks/backup/run.sh`) на новые пути: `/usr/docker/minio/data-new`, `/var/lib/docker/volumes/bookva-minio-data-new`.
- Gotchas записаны в runbook Track A (§ прогресс): mc multipart-баг`--disable-multipart`; параллельные зеркала → транзиентные сбои на 3.8G хосте → **последовательно + retry**; CRLF compose → `tr -d '\r'`; 2025 minio на kernel 3.10 (CentOS 7 EOL) — WARN о perf, работает.
### 2. Крекнин-ремонт — ЗАВТРА (координация с Алексеем)
План готов (`.tasks/kreknin-repair-md3-rebuild.md` + `.wiki/entities/kreknin-synology.md`): power-off → перетык SATA (sdb питание+data) → power-on → Repair md3 → btrfs scrub → VMM. **Бэкапы выключены с 31.07** (vds-backup 05:00 + books-vds-backup 06:00, cron закомментированы) — вернуть после ремонта, это критичный хвост. Rescue-диск `/mnt/rescue` (1.1TB) — НЕ отключать до конца ремонта. Решение: оставить как доп. копию или отключить — после ремонта.
### 2. Retire старых данных — ⏳ ЧЕРЕЗ 48ч (≈ 2026-08-05)
Старые 2020-данные держать как откат до ~2026-08-05, потом:
- `rm -rf /usr/docker/minio/data` (12G, shared 2020) — ТОЛЬКО после подтверждения стабильности.
- `docker volume rm bookva-minio-data` (2020) — после подтверждения.
- До этого: rollback = Portainer PUT стека 30/49 на 2020 image + старый путь/том.
### 3. MinIO split Track A — СЛЕДУЮЩАЯ СЕССИЯ (user directive)
books-vds 2020 → vds 2025. Сделано: bucket `variant-cache` (2026-07-31). Остальное TODO. Runbook: `.wiki/concepts/minio-split-cutover-runbook.md`.
### 3. Крекнин-ремонт — ЗАВТРА (2026-08-04, координация с Алексеем)
План: `.tasks/kreknin-repair-md3-rebuild.md` + `.wiki/entities/kreknin-synology.md`. Power-off → перетык SATA → Repair md3 → scrub → VMM. **Бэкапы выключены с 31.07** (vds-backup 05:00 + books-vds-backup 06:00) — **вернуть после ремонта** (критичный хвост). Rescue `/mnt/rescue` не отключать. Примечание: бэкап-скрипт books-vds уже указывает на новые minio-пути — ок.
### 4. Кэш тасков стейл — refresh ОТЛОЖЕН
projects-meta `tasks.json` synced 2026-07-22 (12 дней, `stale: true`). `meta_restart_poller force=false` отказал: 4 активных агента (victor/tandemmebel.ru, victor/O_C-Phazerville, victor/snolla, victor/pilorama98.ru). **force=true убьёт их работу — НЕ делать.** Когда агенты освободятся → graceful restart → кэш обновится.
projects-meta tasks.json sync 2026-07-22 (stale). `meta_restart_poller force=false` отказал (4 активных агента). НЕ force-restart пока агенты заняты.
### Спроси user'а
- Крекнин: подтвердить время power-off с Алексеем (завтра). Rescue-диск после ремонта — оставить/отключить?
- Retire старых minio-данных: подтвердить через ~48ч (или сделать это самому, если GREEN держится).
- books-vds imgproxy (стек 29) — вывести из эксплуатации? (P3; сейчас imgproxy.kzntsv.site → vds, books-vds imgproxy читает minio:9000, кажется мёртвым грузом).
- A3: чистка bookva-дублей в shared `books` (минор, не срочно).
### Открытые треки
| Трек | Готовность | Entry-point |
|---|---|---|
| MinIO split Track A | открыт | `minio-split-cutover-runbook` |
| Retire старых minio-данных (48ч) | ⏳ до 2026-08-05 | `minio-split-cutover-runbook` §P3 |
| kreknin-repair-md3-rebuild | завтра | `.tasks/kreknin-repair-md3-rebuild.md` |
| Бэкапы (vds+books-vds) вернуть | после kreknin-ремонта | cron на хостах |
| P3 imgproxy stack 29 retire / A3 дубли | опционально | runbook §P3 |
| Кэш тасков refresh | отложен | `meta_restart_poller` после освобождения агентов |
### Не делать (preemptive guards)
- **НЕ force-restart поллера** пока активные агенты — убивает чужую работу.
- **НЕ лезть в snolla-код самому** — через snolla-сессию (таска/инбокс), .admin только деплоит (память admin-hands-snolla-repo-work-to-snolla-session).
- Ребутить kreknin пока sda-кабель не зафикшен; не трогать rescue-диск; не забыть вернуть бэкапы.
- **НЕ force-restart поллера** пока активные агенты.
- **НЕ лезть в snolla-код самому** — через snolla-сессию (.admin деплоит).
- НЕ трогать rescue-диск; НЕ забыть вернуть бэкапы после ремонта.
- НЕ удалять старые minio-данные до 48ч окна (и без подтверждения).
- НЕ PS для Portainer (кириллица); креды → `pass`.
### Коммиты сессии (.admin)
- `61f6afd2` compose → d263e1c; `c0a8d12b` cylindrical CLOSED; (с этим хэндоффом: on-snolla-vds-migration CLOSED + NEXT_SESSION).
- `scripts/books-vds-backup-daily-kreknin/{run.sh,README.md}`, `.wiki/entities/books-vds.md`, `.wiki/concepts/minio-split-cutover-runbook.md` — Track A done + пути бэкапа на новые тома. (с этим хэндоффом).
### Memory updates
- `snolla-two-product-modules-store-vs-catalog` — catalog-сайты без store; linked-item dispatch по provider-строке.
- `admin-hands-snolla-repo-work-to-snolla-session` — snolla-код не трогать, через snolla-сессию.
- `books-vds-minio-upgraded-2025-volume-names` — новые пути живых данных (data-new, bookva-minio-data-new), rename недоступен, mc `--disable-multipart`, последовательные зеркала.