[92] La copie hors serveur emporte le stockage objet #146
No reviewers
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision!146
Loading…
Reference in a new issue
No description provided.
Delete branch "lenaic/92-sauvegarde-minio"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contribue au #92, dont le critère 1 était coché mais faux en pratique.
Le trou
MinIO n'est sauvegardé nulle part. Ni la tâche PostgreSQL de 2 h 30 ni celle
de la forge de 12 h 30 ne le touchent, et l'archive rapatriée sur le poste ne
couvrait que
/opt/g2-forge/backupset/var/backups/postgresql.Toute la zone médaillon, 79 Mo et 9851 objets ce matin, tient sur un seul
disque sans copie. Et ce n'est pas rattrapable : l'API bouchon ne rend pas
d'historique au delà de sa fenêtre. Le runbook le disait déjà, « le relevé
instantané de 14h32 n'existe qu'une fois, la source ne le redonnera pas ».
stockage-minio.mdproposait bien unmc mirror, mais vers/srv/enervision/sauvegardes, c'est-à-dire le même disque que MinIO. Çaprotège d'une fausse manoeuvre, pas de la perte de la machine, et c'était
manuel.
Ce que fait la correction
L'archive emporte
/srv/enervision/minio. MinIO tourne sur un seul disque, doncla copie du répertoire de données se restaure telle quelle,
.minio.syscompris, qui porte la configuration des seaux.
La vérification compte les objets par seau plutôt que de constater la
présence d'un répertoire, qui ne prouverait que la présence d'un répertoire.
Seul
bronzeest exigé non vide :silveretgoldpeuvent l'êtrelégitimement tant que la transformation n'a pas tourné, et faire échouer la
copie pour ça apprendrait à ignorer ses échecs.
ARCHIVE=<chemin>vérifie une archive déjà là, sans rien retélécharger nipurger. C'est le geste à faire avant de se fier à une copie ancienne.
Éprouvé contre le vrai serveur, dans les trois cas
Le troisième cas est réel, pas fabriqué : c'est une des copies déjà sur le
poste, d'avant ce changement. Le mode
ARCHIVEest ce qui a permis de fabriquerle second sans toucher à la production.
L'archive passe de 49 à 52 Mo, le JSON de bronze se comprimant bien.
L'horaire, qui est l'autre moitié du problème
La copie est planifiée
30 18 * * 1-5et n'a jamais tourné. Aucunjournal.logn'a jamais été écrit dans~/eadl/sauvegardes/, alors que lemiroir planifié à midi, lui, tourne : ce n'est donc pas cron, c'est que le poste
est éteint à 18 h 30. Les trois copies existantes sont toutes manuelles.
L'en-tête du script et
forge.mddocumentent maintenant 12 h 15, avec laraison. La ligne de crontab du poste reste à changer à la main, elle n'est
versionnée nulle part, ce qui est le #64.
Ce que ça ne résout toujours pas
Les deux machines sont dans la même salle et tombent ensemble. C'est un filet,
pas une sauvegarde hors site. La vraie réponse reste le stockage de secours du
#69.
Chaîne rouge, mais pas à cause de cette demande : c'est le #147, une panne du
point d'audit npm qui bloque aussi la #142, la #143 et
developlui-même.npm ciréussit dans les journaux, seul l'appel d'audit tombe.