Linux

Impostare trim su hd ssd

Per lo spiegone su come i drive ssd scrivono i dati sul disco, vi consiglio questo link, mentre sul perché è necessario periodicamente effettuare il trim di un drive ssd, leggete qui.

Una volta chiarita la parte concettuale, passiamo alla pratica. Verifichiamo innanzitutto che il trim sia attivo oppure no. Digitiamo il comando

# lsblk --discard /dev/sda

La macchina risponderà con un

Se le colonne “disc-gran” e “disc-max” hanno valori diversi da zero, il trim è attivo. Verifichiamo dunque che non venga ripetuto ogni volta che si effettua il mount del disco, altrimenti potrebbe portare specie su dischi economici ad un’usura precoce.

Iniziamo quindi a capire quali unità hanno il trim ad ogni mount. Se digitando il comando

$ findmnt -O discard

la macchina non restituisce risultati, allora la funzione non è attiva, altrimenti, nel caso in cui ottenessimo

bisogna disabilitarla innanzitutto digitando

# mount -o remount,nodiscard [TARGET]

Nell’esempio indicato

# mount -o remount,nodiscard /

Per rendere effettive le modifiche, che altrimenti sparirebbero al prossimo riavvio, è necessario andare a rimuovere il parametro “nodiscard” nell’fstab.

Facciamo un primo TRIM manuale sul disco per verificare che funzioni correttamente in modo da individuare eventuali errori sul disco. La macchina segnalerà la quantità di dati “trimmati”

# fstrim -a -v

Impostiamo dunque il sistema per eseguire il trim una volta a settimana.

# systemctl enable fstrim.timer

Digitando quindi

# systemctl daemon-reload
$ systemctl status fstrim.timer

Il sistema risponde con

Digitando

$ systemctl status fstrim.service

Il sistema risponde con lo stato del servizio. Per vedere quando è l’ultima volta che è stato eseguito e cosa ha fatto basta digitare

$ journalctl -u fstrim.service

Nel caso in cui si avesse un sistema in cui non è presente il tipo di chiamata “systemctl”, basta inserire in cron l’esecuzione del comando una volta a settimana, creando un file bash e rendendolo eseguibile (chmod a+x).

cat /etc/periodic/weekly/trimmamelo 
#!/bin/sh
# trim all mounted file systems which support it
fstrim -a -v
Standard

Lascia un commento