File system per un'unità SSD


24

Ho sempre pensato che i file system tradizionali siano orientati e ottimizzati per unità non SSD, dove, ad esempio, la localizzazione dei dati è importante e la frammentazione è problematica.

Esiste un file system raccomandato oggi per le unità SSD? Sto meglio usando solo ext4?

Risposte:


13

Se l'SSD deve essere la tua unica piattaforma disco, indipendentemente dal numero di dispositivi, allora hai una domanda; come ridurre al minimo le scritture mantenendo affidabilità e prestazioni.

Più specificamente, ext4 e 3, NILFS e quasi tutti gli altri file system moderni manterranno un journal. Normalmente questo è desiderabile, tuttavia, quando si ha a che fare con dispositivi SSD aumenta le scritture eseguite contro il dispositivo e quindi riduce la sua durata. Un'opzione è selezionare un IDE convenzionale, SATA o un altro dispositivo su cui il file system può scrivere il proprio diario. In questo modo è possibile mantenere i vantaggi del journaling senza sacrificare la durata dei dispositivi SSD. Nel caso di ext4 questo può essere realizzato come: mke2fs -O journal_dev /dev/external_devicepoi attaccato al sistema di file specifico come: mkfs.ext4 -J journal=/dev/external_device. Maggiori informazioni sono disponibili nella pagina man .

Un'ulteriore funzionalità dei file system da tenere a mente quando si tratta di dispositivi SSD è atime. L'impostazione di atime su un file system può aumentare drasticamente il numero di scritture su un determinato dispositivo nel tempo. Le opzioni per modificare questo comportamento includono "relatime" e "noatime".

Dato che sembra che ci stiamo concentrando su ext4, la documentazione del kernel sul file system, incluse le sue opzioni disponibili, è disponibile come riferimento qui .

Alcune altre opzioni da considerare noload:, come suggerito vorbote, e errors=remount-ro;


Che dire nodiratime?
Elazar Leibovich,

@Elazar Leibovich - 'noatime' implica 'nodirtime'. Se la tua domanda riguardava il valore di quest'ultimo rispetto al primo, sicuramente esentare le directory da atime è meglio di niente, ma ovviamente il beneficio sarà inferiore rispetto al primo.
Tok,

1
Non so - questo sembra un sacco di continui FUD sulla "scrittura della resistenza". Anche le unità più consumate tollerano almeno 6 mesi di scrittura continua di dati di grandi dimensioni (gli SSD sono lenti a scrivere piccole modifiche). cioè se è un file server aziendale, preoccupati (modifica e ottieni un buon SSD). Se si tratta di un PC a singolo utente, ti consigliamo comunque di sostituire il tuo SSD in 5 anni. Detto questo, disattivare atime ecc aumenterà le tue prestazioni (più nel tempo)
Stephen

7

File system consigliati nel 2014

Sono passati pochi anni da quando questa domanda è stata posta e le risposte sono state pubblicate. È tempo di pubblicare alcune informazioni aggiornate su questo argomento. Se qualcosa diventa obsoleto, si prega di pubblicare un commento.

Poiché questa domanda era specificamente "Esiste oggi un file system raccomandato per le unità SSD?" Mi concentrerò sulla risposta a questa domanda e pubblicherò collegamenti ad altre informazioni pertinenti.

Attualmente (dal 20 dicembre 2014) l' articolo Solid State Drives su Arch Linux wiki di raccomanda i seguenti filesystem:

Btrfs

Btrfs è un filesystem copy-on-write per Linux rilasciato sotto licenza GPL. Il suo sviluppo è iniziato in Oracle nel 2007. È incluso nella linea principale da Linux 2.6.29 (marzo 2009). Attualmente il formato su disco è stabile e non è previsto che cambi.

ext4

ext4 (quarto file system esteso) è un file system di journaling per Linux, avviato come una serie di estensioni compatibili con le versioni precedenti di ext3 e successivamente sviluppato come successore di ext3. Il piano ufficiale di sviluppo per ext4 è stato pubblicato come proposta e piano per futuri lavori di sviluppo ext2 / 3 da Theodore Ts'o nel giugno 2006. È incluso nella linea principale da Linux 2.6.19 (novembre 2006) e contrassegnato come stabile da Linux 2.6 .28 (dicembre 2008).

XFS

XFS è un file system di journaling a 64 bit creato da Silicon Graphics nel 1993, predefinito in IRIX dal 5.3 (1994), portato su Linux nel 2001. Attualmente alcune distribuzioni Linux lo utilizzano come file system predefinito. XFS ha il supporto TRIM per SSD .

JFS

JFS è un file system di journaling a 64 bit creato da IBM. IBM introdusse JFS in AIX 3.1 nel 1990. Nel 1999 fu rilasciato come open source e iniziò il porting su Linux. La prima versione stabile di JFS per Linux è stata rilasciata nel giugno 2001. È stata inclusa nell'albero di Alan Cox nella versione 2.4.18pre9-ac4 e nella linea principale nella versione 2.5.6 (2002). Nel 2012, il supporto TRIM è stato aggiunto a JFS.

Benchmark 2014

Guarda anche


4

Se disponibile nel kernel e ti senti avventuroso, potresti prendere in considerazione NILFS

Altrimenti usa ext4 ma monta con noatime - vedi qui per ulteriori suggerimenti.


1
Sembra simile a btrfs.
Elazar Leibovich,

4

Puoi usare ext4 con l' noloadopzione mount aggiunta al tuo /etc/fstabfile. Farà sì che il filesystem si comporti come ext2 sugli steroidi. In effetti, AFAIK è ciò che Google utilizza nei suoi data center. Si perde il journaling dei dati della rete di sicurezza ma si guadagna velocità e durata per il proprio SSD.

Puoi renderlo permanente eseguendo tune2fs -O ^has_journalle partizioni non montate.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.