Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Il TRIM consente al sistema operativo di comunicare al disco a stato solido (SSD) che blocchi di dati non sono più considerati in uso e possono essere liberati definitivamente.
Se non si utilizza il TRIM dopo un po' di tempo la velocità del disco diminuisce e quindi se si possiede un disco che lo supporta è consigliato abilitarlo seguendo le istruzioni presenti in questa guida.
Il TRIM è abilitato a livello hardware automaticamente negli SSD di marca Intel e Samsung; inoltre è eseguito settimanalmente se si usa Ubuntu 14.04 o una versione successiva con un filesystem ext4. |
Lo script che esegue il trim in questione, che viene eseguito da crontab settimanalmente, si trova seguendo il percorso: /etc/cron.weekly/fstrim . E' sconsigliato eseguire il trim del proprio disco giornalmente anche se è possibile spostare facilmente lo script sopra nella directory /etc/cron.daily/fstrim.
Esistono soluzioni decisamente più congeniali come ad esempio lo script del sito:
http://chmatse.github.io/SSDcronTRIM/
il quale controlla lo stato del disco ed esegue il trim solo se necessario.
Si ricorda che per preservare la vita di un SSD è utile anche creare una partizione di spazio non allocata in fondo al disco dopo la partizione di swap (in gergo si dice fare Over Provisioning). Per fare questo si può utilizzare il partizionatore Gparted. Quasi tutti i produttori consigliano di riservare circa il 7-10% dello spazio totale del disco a tale fine. |
Requisiti hardware e software
Prima di abilitare il TRIM assicurarsi che:
Si utilizzi un kernel Linux 2.6.33 o successivo. Per conoscere il kernel in uso sul sistema, digitare in un terminale il comando :
uname -a
Si possegga un disco che supporti il TRIM. In un terminale digitare il comando:
sudo fdisk -l
per ottenere la lista delle partizioni e dei dischi presenti sul pc, questi ultimi avranno un nome del tipo sdx (ad esempio: sda, sdb, sdc..)Per assicurarsi che il proprio SSD supporti il TRIM, digitare il comando:
sudo hdparm -I /dev/sdx | grep "TRIM supported"
sostituendo «sdx» con il nome del disco.L'output restituito sarà simile al seguente:
Data Set Management TRIM supported (limit 8 blocks)
se il TRIM non è supportato, non verrà restituito alcun output.
Le partizioni di Ubuntu siano nel filesystem EXT4 o BRTFS, digitare in un terminale:
cat /etc/mtab | grep ext4
l'output sarà simile al seguente:
/dev/sda1 / ext4 rw,errors=remount-ro 0 0
se non vi sono partizioni formattate in EXT4, non verrà restituito alcun output.
Poiché sono in pochi ad utilizzare il filesystem BRTFS, la guida verterà sull'abilitazione del TRIM su EXT4. |
Abilitazione del TRIM
Una volta verificato che siano soddisfatti i requisiti visti nel precedente paragrafo, è possibile passare all'abilitazione del TRIM.
Abilitazione del TRIM attraverso fstab
Aprire con un editor di testo ed i privilegi amministrativi il file /etc/fstab ed aggiungere le opzioni «discard» e «noatime» come nell'esempio successivo:
<file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sdb1 during installation UUID=1cd2fc4f-7d99-4c7a-8ea7-6f9a2d5e5960 / ext4 discard,noatime,errors=remount-ro 0 1
- Salvare le modifiche e riavviare il sistema.
In alternativa a questo metodo per l'abilitazione del TRIM è possibile seguire le istruzioni del successivo paragrafo.
Pianificazione di un'operazione giornaliera di cron
Aprire con un editor di testo ed i privilegi amministrativi il file /etc/cron.daily/trim ed incollarvi all'interno le seguenti righe:
#!/bin/sh LOG=/var/log/trim.log echo "*** $(date -R) ***" >> $LOG fstrim -v / >> $LOG fstrim -v /home >> $LOG
Le ultime due righe abilitano il TRIM per la partizione root (/) e la partizione /home.
Omettere l'ultima riga se non si ha una partizione /home separata.
Se si hanno altre partizioni occorre aggiungere altre righe secondo la sintassi:
fstrim -v /nome_partizione>> $LOG
Prima di salvare le modifiche al file, testare se il comando fstrim funziona digitando in un terminale:
sudo fstrim -v /
l'output dovrebbe essere simile a questo:
/: 8158715904 bytes were trimmed
Salvare a questo punto le modifiche e rendere lo script eseguibile con il comando:
sudo chmod +x /etc/cron.daily/trim
Partizioni criptate
Se si stanno utilizzando partizioni criptate occorrono uteriori passaggi affinché il tutto funzioni.
Aprire con un editor di testo ed i privilegi amministrativi il file /etc/default/grub.
Modificare la riga:
GRUB_CMDLINE_LINUX=""
in
GRUB_CMDLINE_LINUX="allow-discards root_trim=yes"
Salvare il file ed aggiornare Grub con il comando:
sudo update-grub
Aprire con un editor di testo ed i privilegi amministrativi il file /etc/crypttab ed aggiungere l'opzione «discard» come nell'esempio succesivo:
#<target name> <source device> <key file> <options> var UUID=01234567-89ab-cdef-0123-456789abcdef none luks,discard
Salvare le modifiche e dare infine il comando:
sudo update-initramfs -u -k all