XFS o ext4 su disco rigido esterno


8

Ho un disco rigido esterno su cui voglio fare un backup dei miei file.

Quale file system tra XFS ed ext4 sarà il più veloce a scrivere dati sul disco rigido?

Risposte:


8

Lasciami gettare la mia risposta pratica sul ring: vai con ext4. Non vedrai differenze di lettura / scrittura rispetto a XFS, tranne in casi limite estremi (eliminazioni di massa di centinaia di migliaia di piccoli file, ad esempio).

Troverai anche più supporto della community per ext4 in posti come AskUbuntu, semplicemente perché è così ampiamente usato.

Uno svantaggio notevole di XFS è che non può essere ridotto (ridurre le dimensioni della partizione), quindi è necessario eseguire il backup, ripartizionare / riformattare, ripristinare se si desidera ridurre le dimensioni della partizione XFS.


XFS ha il rilevamento della corruzione dei dati però?
endolith

1
@endolith no XFS non ha alcun rilevamento di corruzione dei dati. È possibile formattare (o attivare) il rilevamento della corruzione dei metadati (tramite CRC, consultare l'omonima bandiera in man7.org/linux/man-pages/man8/mkfs.xfs.8.html ). Questo è solo di rilevamento, ma spesso i metadati possono essere riparati / ricostruiti. Questa funzione aiuta XFS a rilevare la corruzione altrimenti silenziosa.
Huygens,

7

ext4

Questa è stata la mia raccomandazione nel 2012 ed è la FS consigliata nel 2017. Questo file system è molto maturo con supporto per la crittografia (kernel recente necessario a partire dal 2017) ed è abbastanza veloce per la maggior parte del carico di lavoro su un disco rigido esterno (e persino SSD esterni ), è anche una scelta molto sicura rispetto alla sicurezza dei dati. Questo è un fattore importante soprattutto quando si dispone di un disco rigido esterno, non è protetto come uno interno.

Ad esempio su un laptop, anche se l'elettricità è scollegata, hai ancora una batteria, quindi l'unità interna era piuttosto sicura. Tuttavia, un disco rigido collegato esterno può essere soggetto a disconnessione, ad esempio: ti alzi con il tuo laptop dimenticandoti dell'unità collegata.

XFS

Fornisce buone prestazioni per molti carichi di lavoro aziendali, e probabilmente anche per quelli desktop. Probabilmente quei casi limite non sono visibili su un disco rigido USB esterno, potrebbero essere visibili con SSD esterni su un'interfaccia USB3.1. Esisteva un rischio maggiore rispetto alla disconnessione o alla perdita di energia rispetto ad alcuni dei file che vengono troncati a 0 con XFS, per molti anni questo non dovrebbe essere un problema. XFS è ora un file system robusto e veloce anche in caso di interruzione dell'alimentazione.

Ad esempio, puoi implementare la crittografia con XFS. Ma non sono a conoscenza di un supporto nativo all'interno di XFS per la crittografia.

BTRFS

Nel 2012 ho dichiarato "Tra 1 o 2 anni consiglierei quel file system in quanto supporta checksum per dati e journal". Nel 2017 posso dire che questo file system è abbastanza robusto a meno che tu non voglia usare il suo supporto RAID 5-6 (per questo avresti bisogno di un kernel molto recente, quindi meglio aspettare Ubuntu 18.04 LTS). Su un disco rigido esterno, che è più esposto di uno interno, BTRFS sarebbe una soluzione molto potente con il suo checksum nativo di dati e metadati. Tuttavia, se si dispone di un solo disco rigido esterno, sarà in grado di rilevare solo i dati danneggiati ma non sarà in grado di ripararli a meno che non sia stato impostato per archiviare 2 copie di ciascun dato o metadata sul disco. In caso di perdita del disco, si perde ovviamente tutto, quindi non è RAID1. Ma se hai un settore danneggiato, BTRFS potrebbe recuperarlo se ne ha una copia. BTRFS supporta snapshot,

Non è il mio file system consigliato perché ha alcune peculiarità come comprendere correttamente l'uso del disco e i problemi di spazio libero (specialmente se si utilizza l'opzione di compressione). Nel mio uso di BTRFS, ho anche riscontrato un errore di alcune volte senza spazio sul dispositivo che richiede un certo bilanciamento, ecc. Quindi non è ancora utilizzabile da utenti inesperti.


È fantastico che tu l'abbia seguito e aggiornato!
legends2k,

grazie per il tuo commento @ legends2k :-) molto apprezzato
Huygens,

5

La risposta dipende dalle tue precise esigenze.

ext4 è diventato il filesystem predefinito per molte delle più diffuse distribuzioni Linux tra cui Ubuntu, Fedora e openSUSE. ext4 offre numerosi miglioramenti rispetto al suo predecessore, tra cui il supporto per file fino a 16 tebibyte (1 tebibytes equivale a 1.024 gibibyes, con 1gibibyte pari a 1.074 gigabyte) e una dimensione massima del volume fino a 1 Exbibyte. È retrocompatibile con ext3 ed ext2, rendendo possibile montare ext3 ed ext2 come ext4. Ciò migliorerà leggermente le prestazioni, poiché alcune nuove funzionalità di ext4 possono essere utilizzate anche con ext3 ed ext2, come il nuovo algoritmo di allocazione dei blocchi.

XFS è un file system altamente scalabile e ad alte prestazioni originariamente progettato da Silicon Graphics, Inc. È stato creato per supportare file system estremamente grandi. XFS supporta una dimensione massima del file system di 8 exbibyte meno uno (ovvero 263-1 byte), sebbene ciò sia soggetto ai limiti di blocco imposti dal sistema operativo host. I sistemi Linux a 32 bit limitano le dimensioni di file e file system a 16 tebibyte.

Ci sono molte informazioni là fuori su questo argomento, ma vorrei iniziare qui e provare a esplorare se vuoi approfondire ulteriormente.

Spero che questo possa essere d'aiuto.

fonti:

- http://techie-buzz.com/foss/google-implements-ext4.html

- http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/6.0_Release_Notes/filesystems.html


A partire da RHEL 7, XFS è il filesystem predefinito - access.redhat.com/articles/796293
Bert

1

Ho visto molti benchmark di questi filesystem, penso che sia migliore EXT4, ma la differenza con XFS penso sia minima ...

Nei benchmark di lettura / scrittura non ci sono così tante differenze e io uso EXT4, ed è fantastico.


1

Consiglierei contro ext4 se si ha un carico di lavoro serio.

Abbiamo due server di build che eseguono build simultanee del nostro software e se eseguiamo più di 1 build simultanea, otteniamo attività sospese, che costringono quindi la build ad uscire. Se eseguiamo solo 1 build alla volta, si completa bene. Tuttavia, questo sconfigge lo scopo di avere una macchina multi-cpu, multi-core che potrebbe teoricamente fare 8 build simultanee (o build 1 -j8)

L'esperienza con ext4 non è troppo buona. È ancora troppo giovane per essere usato nel mondo reale.


3
Naturalmente, essendo un disco esterno, potresti non spingerlo così tanto :)
Richard,

Questa informazione è ancora utile da sapere e la tua esperienza sembra concordare con kevinclosson.net/2012/03/06/… Sarebbe interessante sapere se la situazione è cambiata negli ultimi 5 anni.
Anthony Geoghegan,

Uso ext4 su sistemi di build (server RAID hardware) e anche su workstation e laptop. Non ho mai riscontrato il tuo problema in passato o recentemente. Posso eseguire la compilazione incrociata del kernel Linux per il mio Raspberry Pi sulla mia Workstation usando 12 thread simultanei e si compila in circa 11 minuti in circa 9 anni. workstation (OK, l'ho aggiornato con un controller SATA3 e un SSD consumer economico e ha 4core + HT in esecuzione a 2.6GHz).
Huygens,

0

XFS è la scelta migliore qui poiché le unità esterne richiedono molta CPU e dipendono fortemente dal bus USB. Quando si utilizzano applicazioni a bassissima potenza o ad alte prestazioni, scelte come queste fanno una differenza enorme. XFS ha funzionato perfettamente per me su un'appliance basata su Atom N450 che ho costruito a casa. Utilizza un enorme 9W e serve bene i dati.

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.