Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| linux:proxmox9 [07-06-2026 07:06] – edmc73 | linux:proxmox9 [18-10-2026 10:29] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 58: | Ligne 58: | ||
| === fstrim === | === fstrim === | ||
| - | Pour gagner de la place, activez | + | Quand on supprime des données dans une VM ou un LXC, l'espace n'est pas rendu au stockage de l'hyperviseur tout seul. La commande |
| - | Pour les VM, assurez-vous d' | + | == Pour les VM (KVM/QEMU) == |
| + | |||
| + | Activez l' | ||
| + | |||
| + | Dans la VM, assurez-vous d' | ||
| Lancer à la main | Lancer à la main | ||
| Ligne 84: | Ligne 88: | ||
| systemctl daemon-reload | systemctl daemon-reload | ||
| systemctl restart fstrim.timer | systemctl restart fstrim.timer | ||
| + | |||
| + | **Attention** : tout ceci ne fonctionne que pour les VM. Sur l' | ||
| + | |||
| + | == Pour les LXC == | ||
| + | |||
| + | Un LXC partage le noyau de l' | ||
| + | |||
| + | Le trim se lance **depuis l' | ||
| + | pct fstrim < | ||
| + | |||
| + | Elle traite la racine du conteneur et ses points de montage (sauf les bind mounts et les montages en lecture seule). L' | ||
| + | |||
| + | Cela ne sert que si le disque du LXC est sur un stockage **LVM-thin** ('' | ||
| + | pct config < | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Voir l' | ||
| + | lvs | ||
| + | |||
| + | Lancer à la main sur tous les LXC en marche | ||
| + | < | ||
| + | for id in $(pct list | awk ' | ||
| + | echo "CT $id"; pct fstrim $id | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | Pour le lancer tous les jours, créez un script ''/ | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | # Lance pct fstrim sur chaque CT en cours d' | ||
| + | rc=0 | ||
| + | for id in $(pct list | awk ' | ||
| + | echo "CT $id :" | ||
| + | timeout 600 pct fstrim " | ||
| + | done | ||
| + | exit $rc | ||
| + | </ | ||
| + | |||
| + | Le service ''/ | ||
| + | < | ||
| + | [Unit] | ||
| + | Description=fstrim de tous les LXC en cours d' | ||
| + | |||
| + | [Service] | ||
| + | Type=oneshot | ||
| + | ExecStart=/ | ||
| + | Nice=10 | ||
| + | IOSchedulingClass=idle | ||
| + | </ | ||
| + | |||
| + | Et le timer ''/ | ||
| + | < | ||
| + | [Unit] | ||
| + | Description=fstrim quotidien des LXC | ||
| + | |||
| + | [Timer] | ||
| + | OnCalendar=*-*-* 12:00 | ||
| + | RandomizedDelaySec=15min | ||
| + | Persistent=true | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=timers.target | ||
| + | </ | ||
| + | |||
| + | Activer et tester | ||
| + | systemctl daemon-reload | ||
| + | systemctl enable --now lxc-fstrim.timer | ||
| + | systemctl start lxc-fstrim.service | ||
| + | journalctl -u lxc-fstrim.service | ||
| + | |||
| + | Les LXC arrêtés ne sont pas trimmés (rien n'est libéré tant qu'ils sont arrêtés). | ||
| + | |||
| + | == Gain de place == | ||
| + | |||
| + | Le chiffre affiché par '' | ||
| + | |||
| + | Exemple réel sur un hyperviseur en LVM-thin, après un premier passage sur 14 LXC qui n' | ||
| + | |||
| + | ^ LXC ^ Taille du disque ^ Occupé avant ^ Occupé après ^ Gain ^ | ||
| + | | Jellyfin | 16 Go | 11,7 Go (73 %) | 7,9 Go (49 %) | ~3,8 Go | | ||
| + | | Vaultwarden | 20 Go | 10,4 Go (52 %) | 6,9 Go (35 %) | ~3,4 Go | | ||
| + | | Photon | 90 Go | 79,9 Go (89 %) | 46,2 Go (51 %) | ~33,6 Go | | ||
| + | |||
| + | Les volumes thin affichaient un taux d' | ||
| === compression === | === compression === | ||