## page was renamed from LucaGambardella/Prove6
#format wiki
#language it
< >
<>
<>
<>
## aleandrodasilva: quando aggiorni la pagina, fai un salto sul forum per informarci ;)
= Introduzione =
Il '''[[http://it.wikipedia.org/wiki/TRIM | TRIM]]''' consente al sistema operativo di comunicare al [[https://it.wikipedia.org/wiki/Unit%C3%A0_a_stato_solido|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.
{{{#!wiki tip
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 o btrfs.}}}
= 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 [[AmministrazioneSistema/RigaDiComando|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 BTRFS, digitare in un terminale: {{{
df -T /}}}
l'output sarà simile al seguente:{{{
File system Tipo 1K-blocchi Usati Disponib. Uso% Montato su
/dev/sda2 btrfs 214355968 110098600 102694008 52% / }}}
{{{#!wiki note
}}}
= 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 ==
0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] ed i [[AmministrazioneSistema/Sudo | privilegi amministrativi]] il file `/etc/fstab` ed aggiungere le opzioni «discard» (ed eventualmente anche «noatime») come nell'esempio successivo: {{{
# / was on /dev/sdb1 during installation
UUID=1cd2fc4f-7d99-4c7a-8ea7-6f9a2d5e5960 / ext4 discard,noatime,errors=remount-ro 0 1}}}
0. 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 ==
0. Aprire con un [[Ufficio/EditorDiTesto| editor di testo]] ed i [[AmministrazioneSistema/Sudo | privilegi amministrativi]] il file `/etc/cron.daily/trim` ed incollarvi all'interno le seguenti righe:{{{
#!/bin/sh
#!/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 }}}
0. 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 }}}
0. 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.
0. Aprire con un [[Ufficio/EditorDiTesto| editor di testo]] ed i [[AmministrazioneSistema/Sudo | privilegi amministrativi]] il file `/etc/default/grub`.
0. Modificare la riga: {{{
GRUB_CMDLINE_LINUX=""}}} in {{{
GRUB_CMDLINE_LINUX="allow-discards root_trim=yes"}}}
0. Salvare il file ed aggiornare '''Grub''' con il comando: {{{
sudo update-grub }}}
0. Aprire con un [[Ufficio/EditorDiTesto| editor di testo]] ed i [[AmministrazioneSistema/Sudo | privilegi amministrativi]] il file ` /etc/crypttab` ed aggiungere l'opzione «discard» come nell'esempio succesivo: {{{
#
var UUID=01234567-89ab-cdef-0123-456789abcdef none luks,discard}}}
0. 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`.
{{{#!wiki important
Anche se tecnicamente possibile, in generale si sconsiglia di eseguire lo script giornalmente spostando il file in questione nella cartella `/etc/cron.daily`.}}}
{{{#!wiki tip
Sono disponibili strumenti di terze parti come [[http://chmatse.github.io/SSDcronTRIM/|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 [[Hardware/DispositiviPartizioni/SwapDomandeFrequenti|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 [[Hardware/DispositiviPartizioni/PartizionamentoManuale| questa guida]].
* Attivare le funzionalità di '''Preload''' e '''Prelink''' per velocizzare l'apertura dei programmi. Ciò è possibile seguendo la seguente procedura:
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]], se non presenti, i pacchetti [[apt://preload | preload]] e [[apt://prelink | prelink]].
0. Aprire con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/default/prelink`.
0. Sostituire la stringa :{{{
PRELINKING=unknown }}}
con :{{{
PRELINKING=yes }}}
0. Salvare le modifiche e chiudere il file.
{{{#!wiki important
Questa procedura potrebbe comportare un maggiore tempo di avvio del sistema operativo.}}}
= Ulteriori risorse =
* [[http://www.webupd8.org/2013/01/enable-trim-on-ssd-solid-state-drives.html | Documento originale]]
* [[https://wiki.archlinux.org/index.php/Solid_State_Drives | Guida su wiki di Archlinux]]
----
CategoryAmministrazione