it-swarm.it

Ubuntu ha il supporto per il comando TRIM da utilizzare con SSD?

Le unità SSD devono essere "cancellate/ripristinate" dopo il riempimento dell'unità per mantenere le prestazioni. Questo viene fatto tramite il comando TRIM per le nuove unità SSD. Ubuntu supporta il comando TRIM (tramite hdparm ecc.) Per cancellare/ripristinare queste unità?

34
ssanj

Sembra che ci sia supporto per la funzionalità TRIM nella versione 10.10 e successive:

Inoltre, le cose TRIM avvengono automaticamente - i blocchi vuoti vengono automaticamente rilasciati quando non sono più necessari (ad esempio, si elimina un file), se il disco segnala che supporta TRIM. Non è necessario emettere manualmente un comando hdparm per farlo funzionare.

24
Jeremy Kerr

La risposta di Jeremy non è del tutto accurata AFAIK. Ho eseguito gli ultimi kernel stabili su Lucid da un po 'di tempo e ho seguito lo stato di TRIM abbastanza acutamente poiché ho un'agilità OCZ come mio disco principale.

Ecco cosa (penso) lo so:

  • Il kernel ha il supporto TRIM a partire dalla 2.6.33 (Maverick è 2.6.35).

  • EXT4 ha il supporto TRIM ma solo quando journaling è disattivato.

  • Il modo in cui TRIM funziona nel kernel è molto semplice e piuttosto lento. I dischi che seguono le specifiche possono accettare più intervalli ma il kernel attualmente può fare solo un intervallo alla volta. Questo deriva da qualcosa che ho letto forse un mese fa. Vorrei avere la fonte in quanto ciò potrebbe non essere vero o potrebbe non essere più applicabile.

Il journaling è ciò che lo uccide per me. La corruzione dei dati è una PITA.

Tuttavia, le versioni più recenti di hdparm (v9.25 - Maverick è alla v9.27) sono dotate di uno script chiamato wiper.sh che esegue una rapida analisi di un'unità e quindi ritaglia tutto lo spazio vuoto. Piuttosto che perdere funzionalità, trovo molto più facile eseguire cron wiper.sh una volta alla settimana (o una volta al giorno/mese/qualunque cosa). Il degrado dell'SSD per un'unità del sistema operativo non si verifica così rapidamente a meno che non si strappi costantemente le cose. Non è necessario TRIMming in tempo reale .

C'è anche un frontend GUI chiamato DiskTRIM che non sembra essere nei repository. Gli utenti meno esperti potrebbero trovarlo più facile da usare rispetto all'impostazione dei lavori cron.

Esistono PPA per hdparm e disktrim e tutti possono essere eseguiti su Lucid (e versioni successive) senza bisogno di kernel 2.6.33+.

20
Oli

Linux ha il supporto per TRIM automatico con file system ETX4 dal kernel 2.6.33.

La prima versione di Ubuntu con supporto TRIM automatico è 10.10 (Maveric), ma deve essere attivata in fstab (come descritto qui ).

8
Uli

In generale, sì, perché ci sono molti modi per ottenere kernel nuovi. Se chiariamo la tua domanda da leggere, "10.04 LTS ha il supporto pronto per il comando?" allora la risposta è no. Tuttavia, entrambi i kernel di Maverick e Natty (-generic, -generic-pae, -server e -virtual flavours) sono stati portati in backport a 10.04 LTS e sono disponibili da $ release-updates nei repository Ubuntu, ad esempio linux-image-generic-lts-backport-maverick è il backport di Maverick su Lucid .

4
Daniel T Chen

Sto eseguendo l'11.04 e non sembra che TRIM stia funzionando come previsto.

Ho provato sando le istruzioni qui per creare un file, eliminarlo e vedere se i settori vengono azzerati/eliminati .

Ho provato ad abilitare TRIM sando le istruzioni qui, ma nessun dado

Corro wiper.sh, capisco

/sbin/wiper.sh --verbose --commit /dev/sda1[.____.[wiper.sh: utility TRIM SSD SATA Linux, versione 3.3, di Mark Lord. 
 rootdev = /dev/sda1[.____.[fsmode2: fsmode = read-write 
 /: fstype = ext4 
 freesize = 13785252 KB, riservato = 137852 KB 
 Preparazione per TRIM online di spazio libero su/dev/sda1 (ext4 montato lettura-scrittura su /).[.____.[[.____.[Questa operazione potrebbe distruggere silenziosamente i tuoi dati. Sei sicuro (sì/no)? y 
 Creazione di file temporaneo (13647400 KB) .. 
 Sincronizzazione dei dischi .. 
 Inizio operazioni TRIM .. 
 get_trimlist =/sbin/hdparm --fibmap WIPER_TMPFILE. 9689 
 
/Dev/sda: 
 Taglio di 27294800 settori da 462 intervalli 
 Riuscito 
 Rimozione del file temporaneo .. 
 Sincronizzazione dei dischi ..
Fatto.

Tuttavia, se lo eseguo di nuovo, mostra che è necessario tagliare lo stesso numero di settori/intervalli e riporta nuovamente il successo. Ricevo esattamente la stessa cosa ogni volta. Non sembra che i settori vengano mai cancellati/liberati. La loro lettura mostra ancora gli stessi dati.

Curioso se qualcun altro è riuscito a farlo funzionare.

2
user10292