Trim sous Linux et Ubuntu ? - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 25-11-2017 à 16:43:53
Il me semblait que les distrib récente s'occupaient de ça sans paramétrer autre chose ?
Marsh Posté le 26-11-2017 à 11:58:16
sur les distros avec systemd, c'est souvent fstrim.timer qui s'occupe de ça.
donc un journalctl --unit fstrim.timer devrait te donner les logs qui vont bien.
Marsh Posté le 26-11-2017 à 14:30:42
Bonjour,
voici le contenu du script fstrim par défaut :
#!/bin/sh
# trim all mounted file systems which support it
/sbin/fstrim --all || true
Dans mon cas, j'ai ajouté l'option -v.
J'ai placé le script fstrim non pas dans /etc/cron.weekly, mais dans /etc/cron.daily. Est ce une bonne chose ?
Qu'en pensez-vous ?
Merci.
Marsh Posté le 28-11-2017 à 21:40:41
XUNIL2 a écrit : J'ai placé le script fstrim non pas dans /etc/cron.weekly, mais dans /etc/cron.daily. Est ce une bonne chose ? |
D'après Theodore Ts'o, une fois par semaine c'est déjà très largement suffisant, cf. son excellent post à lire absolument https://forums.freebsd.org/threads/56951/#post-328912
J'y ai notamment appris que mettre l'option "discard" sur les montages (dans fstab) était en fait une mauvaise chose pour 99% des usages. La bonne méthode pour faire du TRIM, c'est avec un cron/systemd-timer.
Sur Fedora, il suffit d'activer le timer systemd :
Code :
|
Marsh Posté le 29-11-2017 à 13:08:29
Bonjour,
merci pour vos réponses.
Utilisant Ubuntu, cet article conseille d'utiliser fstrim.timer avec les distributions Fedora et Debian : https://www.digitalocean.com/commun [...] ux-servers
Pour Ubuntu, fstrim.timer ne semble pas nécessaire.
Qu'en pensez-vous ?
Marsh Posté le 29-11-2017 à 14:12:07
XUNIL2 a écrit : Pour Ubuntu, fstrim.timer ne semble pas nécessaire. |
En effet, pas nécessaire car il y a déjà un cron configuré (sur Ubuntu 16.04+).
Marsh Posté le 06-12-2017 à 13:53:15
J'ai modifié le script fstrim comme suit :
LOG=/var/log/fstrim.log
echo "*** $(date -R) ***" >> $LOG
# trim all mounted file systems which support it
/sbin/fstrim -v --all || true >> $LOG
Ainsi le fichier fstrim.log m'indique si fstrim s'est bien exécuté sur mes partitions Linux.
Puis je déplacer le fichier fstrim.log vers un autre emplacement que /var/log (Par exemple vers une partition ext4 séparée du type : /mnt/MaPartitionExt4Séparée/fstrimlog/fstrim.log) ? La ligne LOG ressemblerait à ceci: LOG=/mnt/MaPartitionExt4Séparée/fstrimlog/fstrim.log
Merci.
Marsh Posté le 19-01-2018 à 18:47:21
Et pour mint je ne trouve rien et le
journalctl --unit fstrim.timer
me donne no-entries
Marsh Posté le 19-01-2018 à 21:14:25
muzah a écrit : Et pour mint je ne trouve rien et le journalctl --unit fstrim.timer me donne no-entries |
si c'est pas activé, c'est normal que le journal ne te montre rien.
Regarde le statut (systemctl status fstrim.timer). Par ex sur ma machine avec que des HDD donc inactif :
[jules@tue-amour ~]$ sudo systemctl status fstrim.timer |
et sur la machine avec un SSD (service activé) :
● fstrim.timer - Discard unused blocks once a week |
Marsh Posté le 22-01-2018 à 16:57:34
sudo systemctl status fstrim.timer |
Bon OK et comment je fais mainant ?
Marsh Posté le 22-01-2018 à 20:48:42
muzah a écrit :
|
si ta distribution ne le fournit pas (à vérifier dans les paquets), tu peux le créer toi même :
fstrim.timer :
[Unit] |
fstrim.service :
[Unit] |
tu mets les 2 fichiers dans /etc/systemd/system et ensuite un coup de systemctl enable fstrim.timer et voilà (tu peux voir si c'est activé avec systemctl list-timers --all)
Marsh Posté le 23-01-2018 à 15:08:37
je vais essayer ça
Marsh Posté le 24-11-2017 à 16:40:00
Bonjour,
fstrim semble être la commande qui effectue le trim sous Linux, et sous Ubuntu. Via la tâche cron.weekly ou cron.daily, elle s'exécute automatiquement. Mais comment vérifier que le trim s'est effectué correctement, et que la tâche cron ci-dessus s'est bien déroulée ?
Merci.
Message édité par XUNIL2 le 24-11-2017 à 16:40:50