INCIDENT / 05 / ACADEMY 5.2

Diagnostiquer avant d’agir.

20 simulations professionnelles suivent le même contrat : symptômes, investigation, commandes, diagnostic, résolution, explication et prévention.
20incidents0résolusS1–S3sévérités
INCIDENT / 05
20scénarios
INC-LNX-001 / S270 MIN · Administration Linux
○ NEW

Le service redémarre en boucle après une mise à jour

Une API de laboratoire a reçu une nouvelle version à 09:12 UTC. Le healthcheck échoue depuis 09:13.

SYMPTOMS

Le processus apparaît puis disparaît toutes les cinq secondes.

Le port attendu n’écoute jamais durablement.

La configuration n’a pas été modifiée manuellement.

ARTEFACTS
État de l’unité
$ systemctl status research-api
Active: activating (auto-restart) (Result: exit-code)
Process: 4128 ExecStart=/opt/research-api/bin/server (code=exited, status=203/EXEC)
Propriétés
$ systemctl show research-api -p ExecStart -p FragmentPath
ExecStart={ path=/opt/research-api/bin/server ; ... }
FragmentPath=/etc/systemd/system/research-api.service
Fichier
$ namei -l /opt/research-api/bin/server
-rw-r----- deploy research server
YOUR / ANALYSIS

01Quelle frontière échoue avant même le code applicatif ?

02Quel test prouve la correction sans attendre la boucle de restart ?

03Quel rollback restaure le service et l’artefact exacts ?

0%
La résolution se débloque après une analyse écrite.
INC-LNX-002 / S265 MIN · Fondations Linux
○ NEW

Plus aucun fichier ne se crée malgré 38 Go libres

Un pipeline échoue sur `/var/spool/lab` avec `No space left on device`.

SYMPTOMS

`df -h` montre 41 % d’occupation.

Les écritures dans un autre filesystem réussissent.

Le répertoire reçoit de nombreux petits fichiers temporaires.

ARTEFACTS
Blocs
$ df -h /var/spool/lab
/dev/mapper/vg-spool  64G  26G  38G  41% /var/spool/lab
Inodes
$ df -i /var/spool/lab
/dev/mapper/vg-spool  4194304 4194304 0 100% /var/spool/lab
Distribution
$ find /var/spool/lab -xdev -type f -printf '%h
' | sort | uniq -c | sort -nr | head
4051221 /var/spool/lab/retry
YOUR / ANALYSIS

01Quelle ressource est épuisée ?

02Pourquoi augmenter la taille du LV ne garantit-il pas la correction ?

03Quelle donnée faut-il préserver avant toute purge ?

0%
La résolution se débloque après une analyse écrite.
INC-LNX-003 / S180 MIN · Administration Linux
○ NEW

Le serveur tombe en emergency mode après ajout d’un montage

Le changement concernait un volume de données non critique. Le boot suivant n’atteint pas la cible multi-user.

SYMPTOMS

La console affiche une dépendance de `local-fs.target` en échec.

Le volume optionnel n’est pas présent sur cette VM.

La ligne fstab n’a pas été testée avant reboot.

ARTEFACTS
Console
[FAILED] Failed to mount /srv/archive.
[DEPEND] Dependency failed for Local File Systems.
You are in emergency mode.
fstab
UUID=2c4e-demo /srv/archive xfs defaults 0 2
Unités
$ systemctl --failed
srv-archive.mount loaded failed failed /srv/archive
YOUR / ANALYSIS

01Pourquoi un volume non critique bloque-t-il le boot ?

02Quel test aurait détecté le problème avant reboot ?

03Comment rendre l’intention optionnelle explicite ?

0%
La résolution se débloque après une analyse écrite.
INC-LNX-004 / S175 MIN · Administration Linux
○ NEW

Le nœud répond par à-coups sous pression mémoire

Un nœud partagé devient lent, puis plusieurs processus disparaissent sans arrêt propre.

SYMPTOMS

SSH répond avec plusieurs secondes de retard.

La RAM libre est faible mais le cache est élevé.

Des messages OOM apparaissent dans le noyau.

ARTEFACTS
Mémoire
$ free -h
Mem: 252Gi 249Gi 1.1Gi 320Mi 2.0Gi 1.6Gi
Swap: 8Gi 8Gi 0B
Pression
$ cat /proc/pressure/memory
some avg10=42.31 avg60=31.18 avg300=12.04 total=...
full avg10=18.52 avg60=10.22 avg300=4.11 total=...
Noyau
kernel: Memory cgroup out of memory: Killed process 28811 (python) total-vm:...
YOUR / ANALYSIS

01Quels signaux prouvent une contention plutôt qu’une simple RAM utilisée ?

02La victime OOM est-elle nécessairement la cause ?

03Quelle action protège l’accès d’administration ?

0%
La résolution se débloque après une analyse écrite.
INC-SLM-001 / S360 MIN · Administration Slurm
○ NEW

Job GPU en PD : QOSMaxGRESPerUser

Alice demande un GPU supplémentaire alors qu’un autre job GPU est actif sous la même QoS.

SYMPTOMS

Le job ne démarre pas mais aucune ressource n’est en panne.

La partition possède des GPU libres.

Le reason code mentionne une limite utilisateur.

ARTEFACTS
File
$ squeue -j 8291
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
8291 gpu train alice PD 0:00 1 (QOSMaxGRESPerUser)
QoS
$ sacctmgr show qos gpu format=name,maxtresperuser
Name MaxTRESPU
gpu gres/gpu=1
Jobs d’Alice
$ squeue -u alice -t R -o '%i %b %T'
8274 gres/gpu:a100:1 RUNNING
YOUR / ANALYSIS

01Pourquoi le GPU libre ne suffit-il pas ?

02Quelle solution respecte la politique actuelle ?

03Quel changement exigerait une décision de gouvernance ?

0%
La résolution se débloque après une analyse écrite.
INC-SLM-002 / S275 MIN · Administration Slurm
○ NEW

Nœud DRAIN : Low socket*core*thread count

Après remplacement de carte mère, `slurmd` s’enregistre mais le contrôleur draine le nœud.

SYMPTOMS

Le nœud est joignable et `slurmd` actif.

La topologie CPU détectée diffère de `slurm.conf`.

Aucun job ne doit être remis avant validation.

ARTEFACTS
Nœud
$ scontrol show node c042
State=IDLE+DRAIN ThreadsPerCore=2 CfgTRES=cpu=64
Reason=Low socket*core*thread count, Low CPUs [slurm@...]
Détection
$ slurmd -C
NodeName=c042 CPUs=48 Boards=1 SocketsPerBoard=2 CoresPerSocket=12 ThreadsPerCore=2 RealMemory=...
Hôte
$ lscpu
Socket(s): 2
Core(s) per socket: 12
Thread(s) per core: 2
CPU(s): 48
YOUR / ANALYSIS

01Quelle source doit refléter le matériel réellement qualifié ?

02Pourquoi `RESUME` immédiat est-il dangereux ?

03Quelles autres capacités doivent être requalifiées après matériel changé ?

0%
La résolution se débloque après une analyse écrite.
INC-SLM-003 / S280 MIN · Administration Slurm
○ NEW

Les jobs terminent mais n’apparaissent pas dans sacct

La file temps réel fonctionne, mais le rapport de consommation est vide depuis 14:20 UTC.

SYMPTOMS

Les jobs passent RUNNING puis disparaissent normalement de squeue.

`sacct` ne retourne pas les jobs récents.

slurmctld journalise des erreurs d’envoi accounting.

ARTEFACTS
sacct
$ sacct -S 2026-08-08T14:20 -X
(no rows)
Contrôleur
slurmctld: error: slurm_persist_conn_open_without_init: failed to open persistent connection to dbd:6819
slurmdbd
$ systemctl status slurmdbd
Active: failed (Result: exit-code)
... Access denied for user 'slurm'@'localhost'
YOUR / ANALYSIS

01Le scheduler est-il indisponible ?

02Quelles données peuvent être retardées plutôt que perdues ?

03Quel risque existe avant toute réparation de base ?

0%
La résolution se débloque après une analyse écrite.
INC-SLM-004 / S275 MIN · Calcul parallèle
○ NEW

srun échoue avec une erreur PMIx avant le premier rank

Une application MPI recompilée ne démarre plus sur deux nœuds alors qu’un binaire minimal ancien fonctionne.

SYMPTOMS

L’allocation Slurm est accordée.

Aucun message applicatif n’apparaît.

Le message nomme un plugin PMIx indisponible.

ARTEFACTS
Erreur
srun: error: Couldn't find the specified plugin name for mpi/pmix_v4
srun: error: cannot create mpi context
Plugins
$ srun --mpi=list
MPI plugin types are...
none
pmi2
pmix_v3
Build
$ ompi_info | grep -i pmix | head
MCA pmix: ext3x
YOUR / ANALYSIS

01Quelle incompatibilité est visible ?

02Pourquoi changer le réseau ne serait-il pas le premier test ?

03Quel binaire minimal isole le runtime du code métier ?

0%
La résolution se débloque après une analyse écrite.
INC-SLM-005 / S365 MIN · Administration Slurm
○ NEW

Un utilisateur pense que le fair-share est cassé

Un job est derrière d’autres jobs plus récents dans la même partition.

SYMPTOMS

Le job a un âge supérieur mais une priorité totale inférieure.

Le compte a consommé fortement la semaine précédente.

Une réservation future affecte le backfill.

ARTEFACTS
Priorité
$ sprio -j 9102 -l
JOBID PARTITION PRIORITY AGE FAIRSHARE JOBSIZE QOS
9102 cpu 18420 2200 120 100 16000
Partage
$ sshare -A bio -l
Account RawShares NormShares RawUsage EffectvUsage FairShare
bio 100 0.10 882340 0.42 0.02
Départ
$ squeue --start -j 9102
START_TIME 2026-08-08T19:10:00 (estimate)
YOUR / ANALYSIS

01L’âge est-il le seul facteur ?

02Que signifie la valeur `FairShare` ici ?

03Pourquoi l’heure de départ reste-t-elle une estimation ?

0%
La résolution se débloque après une analyse écrite.
INC-STO-001 / S270 MIN · Stockage & reprise
○ NEW

Une application NFS reçoit Stale file handle

Après bascule de l’export, un client conserve des références vers d’anciens objets.

SYMPTOMS

Certaines opérations réussissent, d’autres échouent sur les handles déjà ouverts.

Le serveur répond au réseau.

Un remount aveugle risquerait des applications actives.

ARTEFACTS
Application
open('/research/run42/result'): Stale file handle
Montage
$ findmnt /research
TARGET SOURCE FSTYPE OPTIONS
/research nfs-a:/exports/research nfs4 rw,...
NFS
$ nfsstat -c
Client nfs v4: stale 184 retrans 2
YOUR / ANALYSIS

01Pourquoi une connectivité saine n’invalide-t-elle pas l’erreur ?

02Quelles applications détiennent encore des fichiers ouverts ?

03Quel ordre de récupération évite la perte d’écriture ?

0%
La résolution se débloque après une analyse écrite.
INC-STO-002 / S175 MIN · Stockage & reprise
○ NEW

Un RAID5 perd un membre pendant une sauvegarde

L’ensemble passe dégradé sous forte lecture ; aucune reconstruction ne doit être lancée sans vérification.

SYMPTOMS

`/proc/mdstat` indique un membre manquant.

Le filesystem reste monté.

Un second disque rapporte des erreurs SMART croissantes.

ARTEFACTS
mdstat
md0 : active raid5 sdb1[0] sdc1[1] sdd1[2](F)
      7813774336 blocks level 5, 512k chunk [3/2] [UU_]
SMART
Device: /dev/sdc Reallocated_Sector_Ct 12 -> 48; Current_Pending_Sector 3
Charge
$ iostat -xz 1 3
sdc r_await=86.2 util=99.8
YOUR / ANALYSIS

01Quel est le risque d’une reconstruction immédiate ?

02Quelle sauvegarde doit être vérifiée en priorité ?

03Comment réduire la pression sans arrêter à l’aveugle ?

0%
La résolution se débloque après une analyse écrite.
INC-STO-003 / S280 MIN · Stockage & reprise
○ NEW

La latence du filesystem parallèle explose à 10 h

Les jobs de plusieurs équipes ralentissent simultanément, sans erreur de nœud.

SYMPTOMS

La latence des métadonnées augmente avant le débit.

Un workflow crée des millions de petits fichiers.

Le réseau d’interconnexion ne montre pas de pertes.

ARTEFACTS
Métadonnées
mdt_open latency p95: 8ms -> 740ms
mdt_create ops/s: 2k -> 95k
Workflow
$ sacct -j 55210 -o jobid,elapsed,ncpus,reqtres
55210 00:18:42 512 cpu=512
Application: creates one checkpoint file per rank every 5s
Réseau
fabric_rx_errors=0 fabric_tx_discards=0
YOUR / ANALYSIS

01Quel service sature en premier ?

02Pourquoi ajouter des OST ne répondrait-il pas directement ?

03Quelle modification applicative réduit l’amplification ?

0%
La résolution se débloque après une analyse écrite.
INC-OBS-001 / S265 MIN · Observabilité & SRE
○ NEW

Tous les exporters deviennent DOWN après rotation PKI

La rotation des certificats a été terminée à 06:00. Prometheus perd les cibles à 06:05.

SYMPTOMS

Les processus exporters restent actifs.

L’erreur Prometheus mentionne une autorité inconnue.

Le navigateur d’administration utilise déjà la nouvelle CA.

ARTEFACTS
Cible
lastError: Get https://node042:9100/metrics: tls: failed to verify certificate: x509: certificate signed by unknown authority
Configuration
tls_config:
  ca_file: /etc/prometheus/pki/ca-old.pem
  cert_file: /etc/prometheus/pki/client.pem
Certificat
$ openssl x509 -in node042.pem -noout -issuer -dates
issuer=CN=Hexa Monitoring CA 2026
notBefore=Aug 8 05:55:00 2026 GMT
YOUR / ANALYSIS

01Pourquoi les exporters actifs ne suffisent-ils pas ?

02Quelle composante possède encore l’ancienne confiance ?

03Comment éviter une rupture lors de la prochaine rotation ?

0%
La résolution se débloque après une analyse écrite.
INC-OBS-002 / S275 MIN · Observabilité & SRE
○ NEW

Une panne réseau déclenche 1 200 alertes

Une liaison de site tombe. Chaque exporter et service dépendant émet sa propre notification.

SYMPTOMS

L’équipe reçoit des centaines de pages identiques.

L’alerte racine existe mais n’inhibe rien.

Les notifications retardent l’identification du site touché.

ARTEFACTS
Alertmanager
firing=1204 notifications_sent=1188 groups=602
Labels racine
alertname=SiteLinkDown site=paris severity=page
Labels enfants
alertname=ExporterDown location=paris severity=page instance=node042:9100
YOUR / ANALYSIS

01Quel label empêche l’inhibition de matcher ?

02Quelles alertes doivent rester visibles sans notifier ?

03Comment tester le routage sans une vraie panne ?

0%
La résolution se débloque après une analyse écrite.
INC-OBS-003 / S360 MIN · Observabilité & SRE
○ NEW

Le dashboard affiche No data alors que les cibles sont UP

Après une normalisation de labels, le scrape fonctionne mais les panneaux principaux sont vides.

SYMPTOMS

`up` vaut 1 pour toutes les cibles.

La requête du panneau filtre un ancien label.

Une variable Grafana ne retourne plus de valeurs.

ARTEFACTS
Série
node_cpu_seconds_total{cluster="hpc-a",node="c042",mode="idle"} 12345
Panneau
sum by (instance) (rate(node_cpu_seconds_total{environment="$cluster",mode!="idle"}[5m]))
Variable
label_values(node_uname_info, environment)
YOUR / ANALYSIS

01Quel contrat a changé ?

02Pourquoi `up` ne valide-t-il pas la requête métier ?

03Quel test détecte la régression avant publication ?

0%
La résolution se débloque après une analyse écrite.
INC-GPU-001 / S180 MIN · GPU & infrastructure IA
○ NEW

GPU disparu après Xid 79

Un job multi-GPU échoue et un accélérateur n’est plus visible par `nvidia-smi`.

SYMPTOMS

Le noyau journalise `GPU has fallen off the bus`.

Le nœud reste actif mais sa capacité est incohérente.

D’autres jobs GPU sont encore planifiés.

ARTEFACTS
Noyau
NVRM: Xid (PCI:0000:41:00): 79, pid=0, name=, GPU has fallen off the bus.
Slurm
NodeName=gpu07 State=MIXED Gres=gpu:a100:4 CfgTRES=gres/gpu=4 AllocTRES=gres/gpu=2
nvidia-smi
Unable to determine the device handle for GPU0000:41:00.0: Unknown Error
YOUR / ANALYSIS

01Pourquoi faut-il retirer le nœud de la planification ?

02Quelles preuves conserver avant tout reboot ?

03Pourquoi un reset GPU n’est-il pas automatiquement sûr ?

0%
La résolution se débloque après une analyse écrite.
INC-GPU-002 / S270 MIN · GPU & infrastructure IA
○ NEW

L’application annonce CUDA driver version is insufficient

Une nouvelle image de conteneur a été publiée sans changement du nœud GPU.

SYMPTOMS

L’ancienne image fonctionne.

Le GPU et le pilote sont visibles.

La nouvelle image embarque un runtime CUDA plus récent.

ARTEFACTS
Hôte
$ nvidia-smi
Driver Version: 550.90.07  CUDA Version: 12.4
Image
$ cat /usr/local/cuda/version.json
{"cuda":{"version":"12.8.0"}}
Application
cudaErrorInsufficientDriver: CUDA driver version is insufficient for CUDA runtime version
YOUR / ANALYSIS

01Quelle matrice de compatibilité faut-il lire ?

02Pourquoi le champ CUDA de `nvidia-smi` ne décrit-il pas l’image ?

03Quelle correction minimise le périmètre ?

0%
La résolution se débloque après une analyse écrite.
INC-SEC-001 / S185 MIN · Sécurité Linux
○ NEW

Une clé SSH d’administration est publiée par erreur

La clé privée apparaît dans un dépôt public pendant douze minutes. Aucun usage malveillant n’est encore prouvé.

SYMPTOMS

La clé donne accès à plusieurs hôtes via un bastion.

Les logs contiennent des connexions attendues et une origine inconnue.

Supprimer le commit ne révoque pas les copies.

ARTEFACTS
Dépôt
commit 7f31... added ops_id_ed25519; public for 12m; repository now private
Bastion
Aug 08 13:42 Accepted publickey for ops from 198.51.100.77 key fingerprint SHA256:LEAKEDKEY
Inventaire
fingerprint SHA256:LEAKEDKEY present on bastion, ctrl01, storage01
YOUR / ANALYSIS

01Quel est le premier acte de confinement ?

02Pourquoi une absence de preuve d’usage n’est-elle pas une preuve d’absence ?

03Quels secrets dérivés ou sessions doivent être revus ?

0%
La résolution se débloque après une analyse écrite.
INC-SEC-002 / S170 MIN · Sécurité Linux
○ NEW

Une règle sudoers invalide bloque l’administration

Une modification manuelle a été copiée directement dans `/etc/sudoers.d` sans validation.

SYMPTOMS

`sudo` refuse de charger la configuration.

Une session root de secours est encore ouverte.

La règle devait seulement autoriser un status de service.

ARTEFACTS
Erreur
/etc/sudoers.d/labops:3:44: syntax error
Cmnd_Alias STATUS = /usr/bin/systemctl status *
                                           ^
Règle
labops ALL=(root) NOPASSWD STATUS
Session
root rescue console active; no other privileged channel
YOUR / ANALYSIS

01Quelle session ne doit pas être fermée ?

02Quel outil valide l’ensemble de la configuration ?

03Pourquoi le wildcard est-il dangereux même après correction syntaxique ?

0%
La résolution se débloque après une analyse écrite.
INC-SEC-003 / S270 MIN · Sécurité Linux
○ NEW

La collecte mTLS cesse à l’expiration du certificat client

Le serveur exporter est sain mais refuse le certificat présenté par le collecteur.

SYMPTOMS

Le handshake échoue précisément à minuit UTC.

Le certificat serveur reste valide.

Le certificat client n’a pas été renouvelé par le job prévu.

ARTEFACTS
Erreur
remote error: tls: expired certificate
Client
$ openssl x509 -in client.pem -noout -dates
notBefore=May 10 00:00:00 2026 GMT
notAfter=Aug 08 00:00:00 2026 GMT
Timer
$ systemctl status pki-renew.timer
Loaded: loaded
Active: inactive (dead)
Trigger: n/a
YOUR / ANALYSIS

01Quel certificat est expiré ?

02Pourquoi désactiver mTLS est-il une mauvaise restauration ?

03Quel test doit suivre le renouvellement ?

0%
La résolution se débloque après une analyse écrite.