Per installare Ubuntu 16.04 su un hard disk M.2. Quale file system dovrei usare per la velocità? [chiuso]


8

Per installare Ubuntu 16.04 su un hard disk Samsung M.2. (utilizzando un'unità USB)

Quale file system dovrei usare?

  • fat32
  • ext4
  • ext3
  • ext2
  • NTFS
  • un altro che non ho menzionato?

Il mio hard disk è:

1TB SAMSUNG SM961 M.2, PCIe NVMe (up to 3200MB/R, 1800MB/W)

Se funzionano tutti, qual è il più veloce?

Eventuali suggerimenti / insidie ​​per un noob spaventato :)


2
Perché supponi che il filesystem sia importante in termini di velocità? Oh e perché elenchi FAT e NTFS. Questi sono relativi a Windows e non a Linux, quindi non possono essere utilizzati per installare Ubuntu.
Rinzwind,

4
Tra i tuoi candidati, FAT e NTFS possono essere eliminati poiché Ubuntu non può essere installato su nessuno di essi, lasciando solo la famiglia ext *. Di questi, ext4 è ovviamente il più recente e avanzato, che è anche quello predefinito. A meno che tu non sia impaziente di risolvere i problemi, è meglio attenersi a ext4 piuttosto che sperimentare alcuni file system meno ben supportati per un guadagno di prestazioni minimo. Correlati: superuser.com/q/274172/418736
Byte Commander

2
Dovrei formattare ubuntu installation-usb con ext4 (sto usando Windows 10 per farlo?)
Conor Cosnett

2
Formattate l'installazione-usb con fat32. Dai un'occhiata qui: tutorials.ubuntu.com/tutorial/…
mondjunge,

1
Se sei un "noob", segui i suggerimenti forniti dal programma di installazione! . Derivi da questo solo quando sai cosa stai facendo.
Thorbjørn Ravn Andersen,

Risposte:


10

Abbastanza semplice. Si utilizza il filesystem più adatto al proprio sistema operativo. Per la maggior parte delle distribuzioni Linux, inclusa Ubuntu, questo è:

ext4

NTFS e fat32 non sono adatti per i sistemi Unix / Linux, poiché mancano delle funzionalità richieste da Linux. Potrebbero essere una buona scelta per le partizioni di dati che devono essere accessibili dai sistemi Windows. Ricorda che fat32 non può archiviare file di dimensioni superiori a 4 GB, ma è la scelta più compatibile. Anche il vecchio DOS può leggere / scrivere fat32.

ext2 ed ext3 sono sostanzialmente i predecessori di ext4.

A proposito, la velocità non è in realtà una questione di filesystem. Harddrive e Bus (connessione, porta USB) determinano la velocità delle operazioni sui file.


5
L'unica cosa degna di nota, ma non faceva parte della domanda: nel caso qualcuno senta la necessità di creare istantanee: anche btrfs è un'opzione.
Rinzwind,

1
Ext * è accessibile in Windows con driver aggiuntivi ( esempio ). Ovviamente non è la soluzione migliore se si desidera essere in grado di collegare l'unità ovunque e farlo funzionare, ma potrebbe andare bene per le esigenze di alcuni utenti (ad esempio dual boot).
Jon Bentley,

5
In realtà ci sono spesso differenze sostanziali nella velocità tra i filesystem per alcuni carichi di lavoro. Non tanto per le letture in streaming di grandi dimensioni, ma se stai creando / eliminando / scansionando un gran numero di file, puoi vedere più di un fattore di 2 differenza nelle prestazioni. Allo stesso modo per i carichi di lavoro DB.
Hobbs,

Avrei suggerito f2fs, poiché questo utilizza l'archiviazione flash
Matthew Jeppesen,

@hobbs: Vero, ma la domanda cercava (citazione): "Eventuali suggerimenti / insidie ​​per un noob spaventato", non volevo spaventare il noob con le complesse basi delle architetture dei filesystem.
Mondjunge,

4

Abbastanza complesso. Ci sono differenze significative tra i filesystem che menzioni e determinare l'impatto di queste differenze sulla velocità è, IMHO, non banale e dipende da quali operazioni verranno eseguite.

Innanzitutto, scartiamo la possibilità di installare il tuo filesystem di root su una partizione FAT o NTFS. Questi filesystem non sono adeguatamente compatibili con il kernel Linux e le autorizzazioni del filesystem Linux non funzionano correttamente su di essi, quindi avresti molti problemi interessanti.

Nota : FAT32 è una buona scelta per i supporti di installazione USB e NTFS è una buona scelta in uno scenario a doppio avvio (con Windows) per le partizioni in cui si desidera utilizzare per archiviare oggetti personali (ad esempio la propria libreria multimediale) che dovrebbero essere accessibili sia su Ubuntu (o su qualsiasi altro sistema Linux) sia su Windows. I sistemi Linux possono leggere (e scrivere su) partizioni NTFS purché siano state montate correttamente, ma le partizioni ext * non sono facilmente leggibili su Windows (per quanto ne so).

I sistemi ext * sono stati progettati per essere utilizzati con il kernel Linux. Usare ext2,3 o 4 per l'installazione di Ubuntu sarebbe perfettamente sano. Probabilmente le maggiori differenze sono

  • ext2 non è journaling
  • ext3 è journaling, ma per il resto ha strutture e caratteristiche di dati simili a ext2
  • ext4 è journaling e ha alcune funzionalità che migliorano le prestazioni tra cui un algoritmo più veloce per l'allocazione dei blocchi rispetto ai precedenti sistemi ext *, sebbene abbia strutture di dati simili.

È importante notare, penso, che la velocità non è l'unica considerazione nella scelta di un filesystem. Ext4 ha meno limitazioni rispetto alle versioni precedenti, consentendo un filesystem più grande, sottodirectory illimitate ecc. Ext3 è considerato da alcuni come più collaudato, più sicuro e leggermente meno probabilità di perdere dati. Cercherò di concentrarmi sulla velocità qui, menzionando solo le cose più salienti oltre alle prestazioni.

Aspetta cosa? Journalling? 1

Un filesystem journaling , in breve, tiene un registro delle modifiche che non sono state ancora scritte nella parte principale del filesystem. Questo viene fatto in modo che in caso di crash, è facile controllare la coerenza del filesystem confrontando il journal con ciò che è stato scritto nell'area principale del filesystem. Ciò significa che la velocità di controllo del filesystem è molto più veloce con ext3 ed ext4. Inoltre, poiché ext4 consente di contrassegnare i blocchi non allocati, il loro controllo può essere ignorato, rendendo fsckancora più veloce.

Ext4 esegue inoltre il checksum del journal (consentendo meno attese di I / O durante la scrittura), con un leggero aumento complessivo della velocità rispetto a ext3.

Controllare la coerenza del filesystem potrebbe non essere necessario molto spesso e il journaling ha un prezzo: più scritture su disco. Non solo è un male per la durata della vita di un SSD veloce, ma può rallentare le prestazioni (la scrittura richiede tempo). Tuttavia, il consenso generale sembra essere che valga il costo del journaling.

Ext4 migliora le prestazioni

Ext4 supporta la fallocate()chiamata di sistema per pre-allocare spazio per un file. Il kernel alloca alcuni blocchi e li contrassegna come inizializzati senza scriverli, il che è molto più veloce della scrittura di zero nello spazio, come è stato fatto nei filesystem più vecchi.

Utilizza inoltre l'allocazione ritardata (o allocate-on-flush ) che raggruppa le allocazioni (anziché eseguirne molte di piccole dimensioni), tendendo così a ridurre l'utilizzo della CPU ed evitare la frammentazione.

Ext4 è retrocompatibile con ext2 ed ext3, il che significa che i filesystem ext2 e 3 possono essere montati come ext4 e godono di un modesto vantaggio in termini di prestazioni poiché è possibile utilizzare alcune funzionalità come il nuovo algoritmo di allocazione dei blocchi.

Altri filesystem

Ext * non sono i soli filesystem completamente compatibili con Linux, sebbene siano i più noti e testati. Altri filesystem utilizzano alternative al journaling e presentano funzionalità innovative che possono influire sulle prestazioni. Btrfs , ad esempio, usa una copia su scritturametodo per preservare l'integrità del filesystem anziché un journal. Ha diverse strutture dati per est * sistemi. Per quanto ne so, Btrfs non è noto per fornire prestazioni generali più veloci rispetto a ext4, ma è considerato particolarmente buono per l'archiviazione di file video fotografici, poiché è meno probabile che subiscano un degrado. Consente la verifica e la pulizia della coerenza del filesystem durante l'uso, il che potrebbe far risparmiare tempo a seconda del caso d'uso. In futuro, Btrfs o un altro filesystem innovativo potrebbero essere ulteriormente sviluppati per superare in modo convincente ext4 sulla velocità generale.

Conclusione

La maggior parte degli utenti di Ubuntu alla ricerca di buone prestazioni vorranno attenersi a ext4 per ora ...


1 Questo e altri concetti del filesystem Linux sono spiegati molto bene in Comprensione del kernel Linux .


1
risposta fantastica, ho ordinato una copia di "comprensione del kernel linux", penso che userò ext4 per ora, ma mi piacerebbe sperimentare in futuro
Conor Cosnett,

1
@ConorCosnett è fantastico. Penso che i filesystem innovativi come Btrfs e ZFS abbiano bisogno di persone più avventurose per testarli. Anche lo sviluppatore principale di ext4 ha affermato che Btrfs è, almeno nel suo quadro teorico, migliore (diciamo potenzialmente migliore) di ext4. È solo che i sistemi ext * sono ben testati e molte persone nel mondo Linux hanno familiarità con loro. Ci atteniamo a ciò che sappiamo.
Zanna,
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.