· 2 min de lecture · #debian #mémo · dir: Sysadmin
Simuler des incidents sous Linux
Mémo de commandes sous Linux et Windows pour simuler des incidents de saturation (disque, RAM, CPU, réseau).
Dans ce mémo nous allons voir quelques commandes permettant de simuler des incidents sur un système Linux. Je présenterai mes commandes sous une machine Debian, mais avec quelques recherches et adaptations vous parviendrez sûrement à adapter cela à votre OS (Red Hat, Fedora, Arch Linux…).
Cet article est un mémo listant les commandes utiles pour ce sujet. Il sera amené à évoluer en fonction de mes besoins.
À utiliser avec précautions.
Sous Linux
Saturer l’espace disque
fallocate -l 50G bigfile- -l : Spécifier la taille du fichier à générer
- 50G : Pour avoir un fichier de 50Go
- bigfile : Le nom du fichier que je génère
Si cela ne fonctionne pas, fous pouvez toujours utiliser dd (plus long) :
dd if=/dev/zero of=bigfile bs=1M count=50000 status=progressSaturer la RAM, le CPU ou le buffer IO du disque dur
La commande présentée ci-après en exemple permet de saturer le CPU, la mémoire et le buffer IO du disque dur. Vous pouvez adapter la commande en choisissant et en adaptant les paramètres que vous souhaitez utiliser.
stress-ng --vm 1 --vm-bytes 1024M --vm-hang 0 --cpu 2 --hdd 2 --hdd-bytes 1G- –vm N : Nombre de processus N pour stresser la RAM
- –vm-bytes B : malloc B octets par processus (G pour GO, M pour MO, etc.)
- –vm-hang N : sleep N secondes avant de nettoyer la mémoire (0 = infini)
- –cpu N : Nombre de processus N pour stresser les processeurs (2 pour remplir 2 processeurs par exemple)
- –hdd N : Nombre de processus N pour saturer le disque dur
- –hdd-bytes B : écrit B octets par processus (G pour GO, M pour MO, etc.)
Cf. man pour une info plus détaillée.
Saturer le réseau
Impose un délai de 500ms avant chaque réponse TCP
tc qdisc add dev <interface> root netem delay 500msSupprime le délais imposé précédemment :
tc qdisc delete dev <interface> rootPour trouver <interface>, cherchez la carté réseau utilisée avec la commande ip a
Bonus : sous Windows
Créer des fichiers de toute taille
$size=1GB
fsutil file createNew dummy.txt $sizeAvec :
- $size=XX : la taille du fichier à générer (par exemple 1G, 50G, 1T, etc.)
- dummy.txt : le nom du fichier à générer. Adaptez-le au besoin.