Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Il TRIM consente al sistema operativo di comunicare al drive a stato solido (SSD) che blocchi di dati non sono più considerati in uso e possono essere liberati definitivamente. Lo scopo è di evitare inutili cicli di scrittura che con il tempo tendono a logorare le celle del drive (impropriamente detto disco).
Se non si utilizza il TRIM, dopo un po' di tempo, la velocità del disco diminuisce e le celle del drive vengono sovrascritte in modo disomogeneo. Quindi se si possiede un drive 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.
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 in un terminale 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 il seguente comando:
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» (ed eventualmente anche «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 il seguente comando:
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, digitare nel terminale il seguente 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
Ottimizzazione del TRIM
Quando il TRIM è abilitato nativamente (in Ubuntu 14.04 e successivi installati su filesystem ext4), lo script che lo esegue con cadenza settimanale, tramite crontab, è presente nel file /etc/cron.weekly/fstrim.
Anche se tecnicamente possibile, in generale si sconsiglia di eseguire lo script giornalmente spostando il file in questione nella cartella /etc/cron.daily.
Sono disponibili strumenti di terze parti come SSDcronTRIM. Quest'ultimo è uno script che controlla lo stato del drive ed esegue il TRIM solo quando necessario. Per maggiori informazioni consultare il sito del progetto.
Per ottimizzare il funzionamento del TRIM e per preservare il drive SSD può risultare utile:
Disattivare la partizione di swap se si hanno a disposizione più di 4GB di RAM oppure di utilizzarla su un altro disco rigido interno, se presente.
Attivare la funzione di Over Provisioning. A tal fine è sufficiente riservare dello spazio non allocato in fondo al drive. La maggior parte dei produttori generalmente consiglia di riservare circa il 7-10% dello spazio totale del disco a tale scopo. In ogni caso si raccomanda di consultare il manuale relativo all'SSD in uso, se disponibile, oppure di contattare i canali di assistenza del produttore. Per maggiori informazioni sulle procedure di partizionamento consultare invece questa guida.
Attivare le funzionalità di Preload e Prelink per velocizzare l'apertura dei programmi. Ciò è possibile seguendo la seguente procedura:
Installare, se non presenti, i pacchetti preload e prelink.
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/default/prelink.
Sostituire la stringa :
PRELINKING=unknown
con :
PRELINKING=yes
- Salvare le modifiche e chiudere il file.
Questa procedura potrebbe comportare un maggiore tempo di avvio del sistema operativo.