doc: split per-host READMEs, gitea cross-repo links, consistency pass
- nuc/README.md and ks4/README.md carry the host sections (+ network flows) that lived in the top-level README; links rebased - top README: repo links (doc/scripts on git.lutran.fr), index points at the new per-host pages - cross-repo references now use https://git.lutran.fr/julien/scripts instead of relative ../scripts paths that resolve nowhere - plakar-s3-data.md and plakar-incus-integration.md marked SUPERSEDED / RETIRED with pointers to restic-backup.md; their measurements and rationale kept - install.md, local-backup-cron.md, incus-copy.md: crontab sections updated to the live schedule (01:00 replicas, 05:00 restic, Sun maintenance); retired legs labelled as such - restic-backup.md: status live, cutover recorded, post-GC memory estimate, seed plan dated - seafile-gc.md: online GC noted, stale 'crons commented out' removed - ks2/: what-ks2-does-today rewritten (nothing writes to it any more), legs table and gates reflect restic, decommission steps updated - db-exclude replaces the plakar-era config name (script keeps a fallback) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
80f0219716
commit
a0e3a7dd86
+11
-5
@@ -21,8 +21,8 @@ current state → new library → delete old → GC `-r`, which works for
|
||||
takes the dataset to ~600 k inodes, at which point per-file backup of
|
||||
seafile becomes ordinary.
|
||||
|
||||
All crontab backup jobs on ks4 remain commented out until restart +
|
||||
validation completes.
|
||||
(The ks4 backup crons were paused during the GC window and are back
|
||||
on since 2026-08-27.)
|
||||
|
||||
## Root cause of the 24.9 M-inode / 933 G dataset
|
||||
|
||||
@@ -73,9 +73,15 @@ setting (the existing per-library 30 d row stays). Users can still
|
||||
override per library in the web UI if
|
||||
`ENABLE_REPO_HISTORY_SETTING = True` in `seahub_settings.py`.
|
||||
|
||||
### 2. GC — offline, maintenance window
|
||||
### 2. GC — maintenance window
|
||||
|
||||
CE's GC requires seafile stopped. On this pathological store expect
|
||||
⚠️ Superseded by experience: with the **MySQL backend seafile runs
|
||||
*online* GC** (the runs print "use online GC"), so stopping the
|
||||
services is not required — the recurring cron below does not. The
|
||||
2026-08-26 run stopped them anyway, out of caution. What follows is
|
||||
that run's procedure.
|
||||
|
||||
CE's GC traditionally requires seafile stopped. On this pathological store expect
|
||||
**hours** (it traverses fs/commits on a cold HDD); the dry-run sizes
|
||||
the window. Inside the container:
|
||||
|
||||
@@ -115,7 +121,7 @@ du -sh .../seafile/rootfs/opt/seafile/seafile-data/storage/blocks # was 867 G
|
||||
0 6 15 1,4,7,10 * incus exec seafile -- sh -c "cd /opt/seafile/seafile-server-latest && ./seaf-gc.sh && ./seaf-gc.sh -r && ./seaf-gc.sh -R" >> /var/log/seafile-gc.log 2>&1
|
||||
```
|
||||
At the post-cleanup scale (~120 k live files) the full sequence is
|
||||
minutes, not hours. Keep it clear of the 01:00/04:30/05:00 backup
|
||||
minutes, not hours. Keep it clear of the 01:00/05:00 backup
|
||||
slots.
|
||||
- 2026-08-27 follow-ups executed: 8 old libraries deleted by user →
|
||||
trash emptied → `seaf-gc -r` purged their stores (18 m, blocks now
|
||||
|
||||
Reference in New Issue
Block a user