ClickHouse quitte pi3 pour pi1 : son volume y avait perdu son journal ext4 le 04/09, et Plausible n'écrivait plus rien #54

Merged
arcodange merged 1 commits from arcodange/incident-clickhouse into main 2026-09-15 12:17:06 +02:00
Owner

Cause (tools#53)

  • Le 04/09 à 02:42Z, sur pi3, /sys/fs/ext4/sdk enregistre deux erreurs (errors_count=2) : d'abord ext4_check_bdev_write_error, puis ext4_journal_check_start. ext4 a abandonné son journal sur le volume pvc-1251909b-3cef-40c6-881c-3bb6e929a596 (16 Gi).
  • Depuis, clickhouse-0 journalise environ 1 500 errno: 5, Input/output error par 10 min : fusions MergeTree, create_directories.
  • Les lectures échouent aussi. Le pod neuf de Plausible (plausible-5854f59b7b-…) est en Init:CrashLoopBackOff depuis 8 h, avec 99 redémarrages : son init-database plante sur Cannot open file …/version.bin: errno: 5 pendant la migration.
  • C'est pour cela qu'ArgoCD affiche plausible en Degraded.
  • Un redémarrage de conteneur ne démonte pas le volume : c'est le même mécanisme que #50 (MinIO) et #51 (Prometheus).

Ce que fait la PR

  • clickhouse/clickhouseValues.yamlaffinity :
    • l'exclusion requise de pi2 est conservée ;
    • ajout d'une préférence de poids 100 pour pi1.
  • Pourquoi pi1 :
    • pas pi3, qui porte le montage mort : recréé sur le même nœud, le pod pourrait reprendre ce montage de staging ;
    • pas pi2 non plus, tant que sa mémoire n'est pas soulagée (tools#52) ;
    • à 10:00Z, pi1 disposait de 2,6 Gi, et ClickHouse en consomme 529 Mi.
  • Rendu kubectl kustomize --enable-helm clickhouse/ comparé avant/après : seul le bloc preferredDuringSchedulingIgnoredDuringExecution du StatefulSet change.
  • Le StatefulSet est en RollingUpdate avec un seul réplica : le pod est supprimé, puis recréé.

Ce qu'elle ne fait pas

  • Aucune suppression de pod, PVC, volume, réplique ou donnée. Aucun fsck manuel. Si le remontage échoue sur des erreurs ext4, on s'arrête.
  • Les insertions refusées depuis le 04/09 ne reviendront pas. Le relevé du trou suivra dans tools#53, une fois le volume remonté.

Accord du fondateur : « Oui, même remède, sans perte » (2026-09-15).

Refs arcodange-org/tools#53

🤖 Generated with Claude Code

## Cause (tools#53) - Le **04/09 à 02:42Z**, sur pi3, `/sys/fs/ext4/sdk` enregistre deux erreurs (`errors_count=2`) : d'abord `ext4_check_bdev_write_error`, puis `ext4_journal_check_start`. ext4 a abandonné son journal sur le volume `pvc-1251909b-3cef-40c6-881c-3bb6e929a596` (16 Gi). - Depuis, `clickhouse-0` journalise environ 1 500 `errno: 5, Input/output error` par 10 min : fusions MergeTree, `create_directories`. - **Les lectures échouent aussi.** Le pod neuf de Plausible (`plausible-5854f59b7b-…`) est en `Init:CrashLoopBackOff` depuis 8 h, avec 99 redémarrages : son `init-database` plante sur `Cannot open file …/version.bin: errno: 5` pendant la migration. - C'est pour cela qu'ArgoCD affiche `plausible` en **Degraded**. - Un redémarrage de conteneur ne démonte pas le volume : c'est le même mécanisme que #50 (MinIO) et #51 (Prometheus). ## Ce que fait la PR - `clickhouse/clickhouseValues.yaml` → `affinity` : - l'exclusion **requise** de pi2 est conservée ; - ajout d'une **préférence de poids 100 pour pi1**. - **Pourquoi pi1** : - pas pi3, qui porte le montage mort : recréé sur le même nœud, le pod pourrait reprendre ce montage de staging ; - pas pi2 non plus, tant que sa mémoire n'est pas soulagée (tools#52) ; - à 10:00Z, pi1 disposait de 2,6 Gi, et ClickHouse en consomme 529 Mi. - Rendu `kubectl kustomize --enable-helm clickhouse/` comparé avant/après : **seul le bloc `preferredDuringSchedulingIgnoredDuringExecution` du StatefulSet change**. - Le StatefulSet est en `RollingUpdate` avec un seul réplica : le pod est supprimé, puis recréé. ## Ce qu'elle ne fait pas - Aucune suppression de pod, PVC, volume, réplique ou donnée. Aucun `fsck` manuel. Si le remontage échoue sur des erreurs ext4, on s'arrête. - Les insertions refusées depuis le 04/09 ne reviendront pas. Le relevé du trou suivra dans tools#53, une fois le volume remonté. Accord du fondateur : « Oui, même remède, sans perte » (2026-09-15). Refs arcodange-org/tools#53 🤖 Generated with [Claude Code](https://claude.com/claude-code)
arcodange added 1 commit 2026-09-15 12:15:47 +02:00
ClickHouse quitte pi3 pour pi1 : son volume y avait perdu son journal ext4 le 04/09, et Plausible n'écrivait plus rien
Helm Charts / Detect changed charts (pull_request) Successful in 1m1s
Helm Charts / Library charts tool (pull_request) Skipped
Helm Charts / Application charts alloy (pull_request) Skipped
Helm Charts / Application charts chart (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 minio (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
ed377299bd
Le 04/09 à 02:42Z, ext4 a abandonné son journal sur le volume de
ClickHouse, attaché sur pi3. Depuis, onze jours d'`Input/output error`
sur les fusions et les lectures, et le migrateur de Plausible plante en
init (CrashLoopBackOff, application ArgoCD `plausible` Degraded). Un
redémarrage de conteneur ne démonte pas le volume.

Préférence de poids 100 pour pi1, pi2 toujours exclu : recréé sur un
autre nœud, le volume est détaché puis rattaché, et ext4 rejoue son
journal.

Refs arcodange-org/tools#53

Co-Authored-By: Claude Opus 5 <[email protected]>
arcodange merged commit 8b0cae5af0 into main 2026-09-15 12:17:06 +02:00
arcodange deleted branch arcodange/incident-clickhouse 2026-09-15 12:17:11 +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#54