Successivo

HowTo

Come attivare la funzionalità  Trim su Linux

Redazione | 3 Aprile 2015

Domanda: Ho da poco assemblato un sistema per gestire la videosorveglianza di casa ponendomi come obiettivi silenziosità , basso consumo ed elevata […]

DomandaHo da poco assemblato un sistema per gestire la videosorveglianza di casa ponendomi come obiettivi silenziosità , basso consumo ed elevata affidabilità . Per questi motivi ho scelto un case LC-1370Wmi dove ho inserito una scheda madre AsRock Q1900DC-ITX, 4 Gbyte di Ram Ddr-3 e un’unità  Ssd Kingston V300 da 120 Gbyte. La connettività  wireless è implementata mediante un mini-adattatore Wi-Fi da 150 Mbps collegato alla porta Usb. Il tutto opera senza mouse e tastiera e, per le eventuali operazioni di manutenzione, mi collego con TeamViewer da un altro Pc sulla rete locale. Il costo totale di questo equipaggiamento è di poco superiore ai 200 euro. Come sistema operativo ho adottato Ubuntu/Linux 14.10 e Zoneminder 1.28 che funzionano perfettamente anche se le specifiche della scheda madre e dell’unità  Ssd non facevano alcun riferimento ai sistemi Linux, limitandosi a dichiarare la piena compatibilità  con Windows in tutte le sue declinazioni. Sono ormai tre mesi che il computer di cui sopra funziona ininterrottamente. Mi sono però posto il problema della vita operativa dell’Ssd e, anche dopo una ricerca, non sono riuscito a trovare una risposta definitiva. La funzionalità  Trim è un argomento molto dibattuto e un po’ ostico, in particolare ho trovato elenchi di unità  Ssd compatibili con questa tecnologia e anche molti documenti che ne trattano l’utilizzo in abbinamento a Linux, ma niente che mi fornisca informazioni adeguate alla mia configurazione. Alcuni dubbi sono riuscito a dissiparli leggendo con attenzione l’articolo sugli Ssd pubblicato sul numero 284 di PC Professionale ma mi mancano ancora informazioni relative all’utilizzo di queste memorie di massa con i sistemi operativi Linux, soprattutto per quanto riguarda la disponibilità  dei software diagnostici. Infatti non sono ancora riuscito a trovare delle utility di monitoraggio che abbiano funzionalità  analoghe a quelle dei sistemi Mac e Windows. Spero che mi possiate fornire queste informazioni ad integrazione del vostro già  ottimo articolo.

Risposta: Linux è stato uno dei primi sistemi operativi ad implementare le funzionalità  avanzate per la manutenzione delle unità  Ssd. Però, nonostante il supporto sia presente, in molte distribuzioni il Trim viene lasciato disabilitato. I motivi che stanno alla base di questa scelta sono legati alla ricerca delle massime prestazioni e al fatto che l’errata implementazione di questa funzionalità  in alcune delle prime unità  Ssd poteva portare al danneggiamento dei dati. Inoltre Windows e Os X nella maggior parte dei casi adottano i loro file system nativi e quindi Microsoft ed Apple hanno potuto ottimizzare la loro implementazione del Trim per questi formati di archiviazione.

Invocando il comando fstrim con i privilegi di root si possono mantenere  le prestazioni ottimali anche delle unità  Ssd utilizzate in ambiente Linux.

Invocando il comando fstrim con i privilegi di root si possono mantenere le prestazioni ottimali anche delle unità  Ssd utilizzate in ambiente Linux.

L’implementazione del Trim in ambiente Linux, invece, è resa più complicata dal fatto che questo sistema operativo utilizza un grande numero di file system diversi. Per questi motivi, la sua implementazione di base in ambiente Linux non è efficiente quanto quella di Windows. In particolare la tecnologia Trim consente di inviare all’unità  Ssd una lista di blocchi che devono essere rimessi a disposizione. Linux non utilizza questa possibilità  e si limita ad inviare le richieste di pulizia una alla volta, con un sensibile calo delle prestazioni nelle ordinarie operazioni di lettura/scrittura dei dati. È quindi possibile attivare la funzionalità  Trim in Linux, ma ciò avrebbe la conseguenza di diminuire l’efficienza delle memorie di massa allo stato solido invece di aumentarla. Per aggirare questo problema gli sviluppatori hanno deciso di intraprendere una strada diversa, ovvero trasformare la funzione Trim da marcatura eseguita in tempo reale ad operazione di manutenzione.

Con l’approccio utilizzato da Windows, ogni volta che l’utente cancella un file i suoi blocchi vengono immediatamente ripuliti mediante un comando Trim. Per Linux, invece, è stata creata l’utility fstrim che effettua una scansione di tutto il contenuto del file system e provvede a rilasciare i blocchi non più utilizzati. Questa operazione può essere eseguita ad intervalli regolari, giornalmente per i sistemi in cui si fa un utilizzo più pesante delle memorie di massa, oppure una volta alla settimana per la configurazione tipica. Di solito il lancio della manutenzione Trim viene eseguita sotto forma di “Cron Job” e può essere impostata in uno specifico intervallo orario (ad esempio, la notte) secondo le necessità  dell’utente. Se invece si desidera eseguire in maniera interattiva la funzione Trim è possibile digitare il comando

sudo fstrim -v

(in quanto l’utility fstrim richiede i privilegi di root per accedere all’unità  Ssd a livello della struttura a blocchi). Nel caso specifico del lettore, la configurazione predefinita di Ubuntu/Linux 14.10 prevede già  la manutenzione settimanale. Bisogna però tenere in considerazione che, come forma di estrema cautela, la funzionalità  Trim in ambiente Linux è attivata di default solo per le unità  Ssd prodotte da Intel, Samsung, OCZ, Patriot e SanDisk. Questa scelta è dovuta a ragioni storiche in quanto alcune tra le prime unità  Ssd ad essere introdotte sul mercato avevano mostrato incompatibilità  di varia natura con Linux. Allora, per garantire l’integrità  dei dati, si è scelto di attivarla in maniera automatica solo sulle memorie di massa che sono state sottoposte a test approfonditi. Nelle unità  Ssd di ultima generazione il firmware del controller della memoria flash è ormai consolidato e le probabilità  che si presentino anomalie è molto ridotta.

Riteniamo quindi che, anche se l’unità  Ssd di cui è equipaggiato il computer non rientra tra quelle sopra elencate, si potrà  attivare manualmente la funzionalità  Trim senza che si presentino inconvenienti di alcun tipo. Per tenere sotto controllo la vita operativa delle unità  Ssd in ambiente Linux si potrà  utilizzare il package smartmontools, il quale contiene le due utility smartctl e smartd che consentono di accedere alla diagnostica S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology) implementata all’interno di tutti i dispositivi Ata, Serial Ata e Scsi. Molte distribuzioni di Linux contengono già  di serie questo package, in caso contrario si potrà  scaricare il materiale necessario all’installazione dall’indirizzo www.smartmontools.org.