docs: add post migration burn-in check
This commit is contained in:
@@ -0,0 +1,122 @@
|
|||||||
|
# Post-Migration Burn-in Check - 2026-05-31
|
||||||
|
|
||||||
|
Stand: 2026-05-31 21:45 MESZ
|
||||||
|
|
||||||
|
## Ergebnis
|
||||||
|
|
||||||
|
Der Nachlauf nach den Stateful-Migrationen ist gruen. Es gibt keine offenen Renovate-PRs, keine `unhealthy` Container und die aktuellen Dump-Artefakte wurden nach den Migrationen neu erzeugt und auf Lesbarkeit geprueft.
|
||||||
|
|
||||||
|
## Renovate
|
||||||
|
|
||||||
|
- Manueller Lauf: `2026-05-31T19-39-01Z`
|
||||||
|
- Ergebnis: `rc=0`
|
||||||
|
- Gitea: keine offenen PRs
|
||||||
|
- Renovate entfernte die verwaisten Branches:
|
||||||
|
- `renovate/major-major-updates`
|
||||||
|
- `renovate/postgres-18.x`
|
||||||
|
- `renovate/redis-8.x`
|
||||||
|
|
||||||
|
## Live Burn-in
|
||||||
|
|
||||||
|
- `docker ps --filter health=unhealthy`: keine Treffer
|
||||||
|
- Relevante Laufzeitstaende:
|
||||||
|
- `postgresql17`: `postgres:18.4`
|
||||||
|
- `mealie-postgres`: `postgres:18.4`
|
||||||
|
- `nextcloud-postgres`: `postgres:18.4`
|
||||||
|
- `immich_postgres`: `ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0`
|
||||||
|
- `Redis`, `nextcloud-redis`, `immich_redis`: `redis:8.8.0-alpine`
|
||||||
|
- `monitoring-grafana`: `grafana/grafana:13.0.1`
|
||||||
|
|
||||||
|
HTTP-Smoke vom Host:
|
||||||
|
|
||||||
|
| Dienst | Status |
|
||||||
|
|---|---:|
|
||||||
|
| `https://monitoring.kaleschke.info` | 302 |
|
||||||
|
| `https://immich.kaleschke.info` | 200 |
|
||||||
|
| `https://cloud.kaleschke.info` | 302 |
|
||||||
|
| `https://paperless.kaleschke.info` | 302 |
|
||||||
|
| `https://mealie.kaleschke.info` | 200 |
|
||||||
|
| `https://mail.kaleschke.info` | 302 |
|
||||||
|
|
||||||
|
Log-Nachlauf:
|
||||||
|
|
||||||
|
- `mail-archiver`: fruehere transienten `57P01`-Fehler stammen vom DB-Restart; spaeterer Sync meldet `New: 0, Failed: 0, Deleted: 0`.
|
||||||
|
- `monitoring-grafana`: nach Härtung keine neuen `level=error`, `permission denied`, `fatal` oder `panic` Treffer.
|
||||||
|
|
||||||
|
## Backup- und Dump-Frische
|
||||||
|
|
||||||
|
`ops/borg-ui/scripts/pre-backup-dumps.sh` wurde nach den Migrationen erneut ausgefuehrt. Dabei wurde ein Drift behoben: `grafana.sqlite` wird jetzt aus dem aktiven Docker-Volume `monitoring_grafana_data` gelesen, nicht mehr aus dem historischen Pfad `/mnt/user/appdata/grafana`.
|
||||||
|
|
||||||
|
Aktuelle relevante Dump-Zeiten:
|
||||||
|
|
||||||
|
| Artefakt | Zeit |
|
||||||
|
|---|---|
|
||||||
|
| `postgresql17-globals.sql` | 2026-05-31 21:41 |
|
||||||
|
| `mealie.dump` | 2026-05-31 21:42 |
|
||||||
|
| `nextcloud.dump` | 2026-05-31 21:42 |
|
||||||
|
| `immich.dump` | 2026-05-31 21:42 |
|
||||||
|
| `postgresql17-authelia.dump` | 2026-05-31 21:42 |
|
||||||
|
| `postgresql17-mailarchiver.dump` | 2026-05-31 21:42 |
|
||||||
|
| `postgresql17-paperless.dump` | 2026-05-31 21:42 |
|
||||||
|
| `grafana.sqlite` | 2026-05-31 21:42 |
|
||||||
|
| `komodo-mongo.archive.gz` | 2026-05-31 21:42 |
|
||||||
|
|
||||||
|
Lesbarkeit:
|
||||||
|
|
||||||
|
- `pg_restore -l`: ok fuer Mealie, Nextcloud, Immich, Authelia, Mailarchiver, Paperless
|
||||||
|
- `sqlite3 PRAGMA quick_check`: ok fuer Grafana, Gitea, Vaultwarden, Speedtest, Borg UI
|
||||||
|
- `gzip -t`: ok fuer `komodo-mongo.archive.gz`
|
||||||
|
|
||||||
|
Borg-UI letzter vollstaendiger Backup-Job:
|
||||||
|
|
||||||
|
- `#41 completed`, Start `2026-05-31 02:30:13`, Ende `2026-05-31 02:31:26`
|
||||||
|
- Hinweis: Dieser Borg-Lauf war vor den Tagesmigrationen. Die Dumps sind jetzt frisch; der naechste regulaere Borg-Lauf muss sie off-site aufnehmen.
|
||||||
|
|
||||||
|
## Restore-Drill-Vorbereitung
|
||||||
|
|
||||||
|
- `run-restore-checks.sh freshness`: Critical `0`, Warnings `0`
|
||||||
|
- `immich --what-if`: ok, nutzt VectorChord/pgvector-Test-Postgres und Redis 8
|
||||||
|
- `paperless --what-if`: ok nach Fix der fehlenden Execute-Bits
|
||||||
|
- Naechster sinnvoller echter Restore-Drill: Paperless, weil er jetzt den shared PostgreSQL-18-Dump und Redis-8-Testpfad abdeckt.
|
||||||
|
|
||||||
|
Nebenbefund behoben:
|
||||||
|
|
||||||
|
- Mehrere Restore-Test-Skripte waren im Git nicht ausfuehrbar. Dateimodus auf `100755` korrigiert.
|
||||||
|
|
||||||
|
## Monitoring / Grafana 13
|
||||||
|
|
||||||
|
- `/api/health`: `database=ok`, `version=13.0.1`
|
||||||
|
- SQLite/Unified-Storage-Check:
|
||||||
|
- `data_source=3`
|
||||||
|
- `resource` enthaelt `4` Dashboards und `1` Folder
|
||||||
|
- `unifiedstorage_migration_log=3`
|
||||||
|
- Grafana-13-Fixes:
|
||||||
|
- `GF_PLUGINS_PREINSTALL_DISABLED=true`
|
||||||
|
- leere Provisioning-Verzeichnisse `alerting/` und `plugins/` versioniert
|
||||||
|
- `user: "0"` gesetzt, damit hostseitige `600 root` Secret-Dateien lesbar bleiben
|
||||||
|
|
||||||
|
## Alt-Volumes fuer spaetere Freigabe
|
||||||
|
|
||||||
|
Nicht vor Burn-in-Freigabe loeschen.
|
||||||
|
|
||||||
|
| Pfad | Zweck | Groesse |
|
||||||
|
|---|---|---:|
|
||||||
|
| `/mnt/user/appdata/postgresql17` | Shared PostgreSQL-17-Rollback | 1.8G |
|
||||||
|
| `/mnt/user/appdata/mealie/postgres` | Mealie PostgreSQL-17-Rollback | 70M |
|
||||||
|
| `/mnt/user/appdata/nextcloud/postgres` | Nextcloud PostgreSQL-17-Rollback | 71M |
|
||||||
|
| `/mnt/user/appdata/immich_postgres` | Immich pgvecto.rs-Rollback | 460M |
|
||||||
|
|
||||||
|
Aktive Vergleichspfade:
|
||||||
|
|
||||||
|
| Pfad | Zweck | Groesse |
|
||||||
|
|---|---|---:|
|
||||||
|
| `/mnt/user/appdata/postgresql18` | Shared PostgreSQL 18 aktiv | 2.2G |
|
||||||
|
| `/mnt/user/appdata/mealie/postgres18` | Mealie PostgreSQL 18 aktiv | 70M |
|
||||||
|
| `/mnt/user/appdata/nextcloud/postgres18` | Nextcloud PostgreSQL 18 aktiv | 72M |
|
||||||
|
| `/mnt/user/appdata/immich_postgres_vectorchord` | Immich VectorChord aktiv | 633M |
|
||||||
|
|
||||||
|
## Offene bewusste Punkte
|
||||||
|
|
||||||
|
- Alt-Volumes bleiben bis zur Erinnerung am 2026-06-02 gesperrt.
|
||||||
|
- Der naechste regulaere Borg-Lauf soll nachziehen; danach kann die Alt-Volume-Freigabe fundierter entschieden werden.
|
||||||
|
- Ein echter Paperless-Restore-Drill ist der beste naechste risikoarme Test.
|
||||||
Reference in New Issue
Block a user