MinIO quitte Longhorn pour le disque externe de pi1 (volume local, /mnt/arcodange/minio) #60

Merged
arcodange merged 1 commits from arcodange/minio-disque-externe into main 2026-09-26 11:06:00 +02:00
Owner

Demande du fondateur (2026-09-26) : « Je veux qu'on utilise l'external hard disk ». Et, la veille : « No need for replicas for homelab. Our staging environment holds no critical files. »

Pourquoi

  • Longhorn a mis MinIO trois fois en « drive is faulty » : #31, #49 et #58.
  • Ce matin, le volume de MinIO était degraded, avec une seule réplique vivante, sur pi2 (84 % de CPU).
  • Tant que pi3 est cordonné, Longhorn ne peut pas remonter à trois répliques.

Ce que fait la PR

  • minio/templates/volume-disque-externe.yaml pose un PV local sur pi1:/mnt/arcodange/minio, avec un PVC minio-disque-externe qui y est lié. Les deux sont en Retain et Prune=false.
  • Le Deployment monte {{ .Values.minio.persistence.claim }} (= minio-disque-externe). La préférence pour pi3 disparaît, puisque le pod suit son volume.
  • Le projet tools autorise PersistentVolume (cluster-scoped), avec sa raison, comme PriorityClass le 2026-09-11.
  • Le disque manquant. Si pi1 démarre sans son disque, le chemin n'existe pas sur la carte SD. MinIO refuse de démarrer plutôt que d'écrire sur la carte.
  • Le retour arrière. Le PVC Longhorn minio reste en place, détaché ; il suffit de remettre claim: minio.

La migration (hors dépôt, par Jobs ponctuels)

  1. Copie à chaud, MinIO servant toujours : le Job tools/minio-vers-disque-externe-1 sur pi1 lit le volume Longhorn en lecture seule et rsync vers /mnt/arcodange/minio, bridé à 15 Mo/s. Il REFUSE si /mnt/arcodange/longhorn est absent, donc si ce n'est pas le disque externe. La donnée fait 7,7 Go ; pi1 a 191 Gio libres.
  2. La fusion de cette PR fait basculer MinIO (Recreate : quelques secondes).
  3. Un rsync --update rattrape ce qui a été écrit entre 1 et 2, puis on vérifie : santé 200, et une affiche et des vignettes servies.

helm template est vert pour les deux charts.

🤖 Generated with Claude Code

**Demande du fondateur** (2026-09-26) : « Je veux qu'on utilise l'external hard disk ». Et, la veille : « No need for replicas for homelab. Our staging environment holds no critical files. » ### Pourquoi - Longhorn a mis MinIO trois fois en « drive is faulty » : #31, #49 et #58. - Ce matin, le volume de MinIO était `degraded`, avec **une seule** réplique vivante, sur pi2 (84 % de CPU). - Tant que pi3 est cordonné, Longhorn ne peut pas remonter à trois répliques. ### Ce que fait la PR - `minio/templates/volume-disque-externe.yaml` pose un PV `local` sur `pi1:/mnt/arcodange/minio`, avec un PVC `minio-disque-externe` qui y est lié. Les deux sont en `Retain` et `Prune=false`. - Le Deployment monte `{{ .Values.minio.persistence.claim }}` (= `minio-disque-externe`). La préférence pour pi3 disparaît, puisque le pod suit son volume. - Le projet `tools` autorise `PersistentVolume` (cluster-scoped), avec sa raison, comme `PriorityClass` le 2026-09-11. - **Le disque manquant.** Si pi1 démarre sans son disque, le chemin n'existe pas sur la carte SD. MinIO **refuse de démarrer** plutôt que d'écrire sur la carte. - **Le retour arrière.** Le PVC Longhorn `minio` reste en place, détaché ; il suffit de remettre `claim: minio`. ### La migration (hors dépôt, par Jobs ponctuels) 1. **Copie à chaud**, MinIO servant toujours : le Job `tools/minio-vers-disque-externe-1` sur pi1 lit le volume Longhorn en lecture seule et `rsync` vers `/mnt/arcodange/minio`, bridé à 15 Mo/s. Il REFUSE si `/mnt/arcodange/longhorn` est absent, donc si ce n'est pas le disque externe. La donnée fait 7,7 Go ; pi1 a 191 Gio libres. 2. **La fusion de cette PR** fait basculer MinIO (Recreate : quelques secondes). 3. **Un `rsync --update`** rattrape ce qui a été écrit entre 1 et 2, puis on vérifie : santé 200, et une affiche et des vignettes servies. `helm template` est vert pour les deux charts. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
arcodange added 1 commit 2026-09-26 10:51:06 +02:00
MinIO quitte Longhorn pour le disque externe de pi1 : un volume local sur /mnt/arcodange/minio
Helm Charts / Detect changed charts (pull_request) Successful in 1m32s
Helm Charts / Library charts tool (pull_request) Skipped
Helm Charts / Application charts alloy (pull_request) Skipped
Helm Charts / Application charts crowdsec (pull_request) Skipped
Helm Charts / Application charts grafana (pull_request) Skipped
Helm Charts / Application charts hashicorp-vault (pull_request) Skipped
Helm Charts / Application charts loki (pull_request) Skipped
Helm Charts / Application charts pgbouncer (pull_request) Skipped
Helm Charts / Application charts pgcat (pull_request) Skipped
Helm Charts / Application charts prometheus (pull_request) Skipped
Helm Charts / Application charts redis (pull_request) Skipped
Helm Charts / Application charts chart (pull_request) Successful in 24s
Helm Charts / Application charts minio (pull_request) Successful in 40s
87486e95df
Fondateur (2026-09-26) : « Je veux qu'on utilise l'external hard disk » ; « No need for replicas for homelab ».
Longhorn a mis MinIO trois fois en « drive is faulty » (tools#31, #49, #58) ; le volume sert désormais un dossier du
disque USB de pi1, sans moteur ni réplique. Sans le disque, le chemin n'existe pas : MinIO refuse de démarrer au lieu
d'écrire sur la carte SD. Le PVC Longhorn `minio` reste, détaché : le retour arrière est `claim: minio`.
Le projet `tools` autorise désormais `PersistentVolume` (un volume `local` se déclare à la main).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
arcodange merged commit 865b82548c into main 2026-09-26 11:06:00 +02:00
arcodange deleted branch arcodange/minio-disque-externe 2026-09-26 11:06:02 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: arcodange-org/tools#60