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