Quali sono i vantaggi di Btrfs per gli utenti finali?


22

Btrfs ha iniziato a guadagnare slancio nella sostituzione di ext4 come filesystem predefinito preferito per alcune distribuzioni come Fedora Core 16 . È disponibile sperimentalmente in diverse altre distribuzioni ( da Wikipedia: openSUSE 11.3, SLES 11 SP1, Ubuntu 10.10, Sabayon Linux, RHEL6, MeeGo, Debian 6.0 e Slackware 13.37). Non sono certamente pronto a convertire tutti i miei server sul posto di lavoro (la mia scelta del file system è generalmente conservativa), sto pensando di usarlo a casa e su macchine di produzione non mission-critical al lavoro.

Btrfs offre un set di funzionalità che è simile a ZFS in molti modi. Posso capire perché questo sarebbe desiderabile in un ambiente "aziendale", in particolare con i sistemi che si concentrano sulla consegna dello storage. Ma in che modo questa stessa serie di funzioni è utile per gli utenti finali? Quali vantaggi mi offre l'elenco delle funzionalità di Btrfs su macchine la cui funzione principale non è la presentazione dello storage? Quali vantaggi mi offre sul mio laptop?

Al di fuori dello storage aziendale, perché dovrei preoccuparmi di passare a Btrfs dal filesystem Ext provato e vero?


2
Potresti approfondire il punto "filesystem predefinito scelto per alcune distribuzioni" (intendo i link?) - è molto interessante.
rozcietrzewiacz,

2
Dopo tutto, il formato su disco non è ancora stabile. Non lo userò fino a quando non lo sarà. E se non puoi rispondere perché lo sei, non dovresti neanche tu.
xenoterracide,


2
Il processo di funzionalità ha sempre un piano di fallback se la funzionalità proposta non è pronta. Fortunatamente in questo caso è facile: mantieni lo status quo. Dettagli in questo caso qui .
Mattdm,

1
"Btrfs offre un set di funzionalità che è simile a ZFS in molti modi." Anzi, ma non in tutti i modi. Ad esempio ZFS non ha bisogno di un fsck e questo è di progettazione. ZFS non è danneggiato dal panico del sistema operativo o da interruzioni dell'alimentazione del disco.
jlliagre,

Risposte:


21

Dal wiki :

Extent based file storage
2^64 byte == 16 EiB maximum file size
Space-efficient packing of small files
Space-efficient indexed directories
Dynamic inode allocation
Writable snapshots, read-only snapshots
Subvolumes (separate internal filesystem roots)
Checksums on data and metadata
Compression (gzip and LZO)
Integrated multiple device support 
    RAID-0, RAID-1 and RAID-10 implementations 
Efficient incremental backup
Background scrub process for finding and fixing errors on files with redundant copies
Online filesystem defragmentation 

Spiegazione per gli utenti desktop:

  • Imballaggio efficiente di file di piccole dimensioni: importante per desktop con decine di migliaia di file (maildir, repository con codice, ecc.).
  • Allocazione dinamica degli inode: evitare i limiti di Ext2 / 3/4 in numero di inode. I limiti di inode di Btrfs sono in una lega completamente diversa (mentre gli inode di ext4 sono allocati al momento della creazione del filesystem e non possono essere ridimensionati dopo la creazione, in genere a 1-2 milioni, con un limite rigido di 4 miliardi, gli inode di btrfs sono allocati dinamicamente secondo necessità, e il limite rigido è 2 ^ 64, circa 18,4 quintilioni, che è circa 4,6 miliardi di volte il limite rigido di ext4).
  • Istantanee di sola lettura: backup rapidi.
  • Checksum su dati e metadati: essenziali per l'integrità dei dati. Ext4 ha solo integrità dei metadati.
  • Compressione: la compressione LZO è molto veloce.
  • Procedura di pulizia in background per trovare e correggere errori nei file con copie ridondanti: integrità dei dati.
  • Deframmentazione del filesystem online: autodefrag in 3.0 eseguirà la deframmentazione di alcuni tipi di file come database (ad es. Profili firefox o archiviazione akonadi).

Ti consiglio il kernel 3.0. Anche btrfs è un buon FS per SSD.


4
Backup rapidi e rollback completi del sistema
psusi,

11

Per i vantaggi: credo che saranno principalmente le funzionalità di backup e mirroring.

Ma perché dovresti essere così affrettato da pensare a btrfs come a un filesystem pronto a sostituire uno dei tuoi attuali? Entrambi i wiki a cui ti riferisci:

(...) it is currently possible to corrupt a filesystem irrecoverably if your 
machine crashes or loses power on disks that don't handle flush requests
correctly. This will be fixed when the fsck tool is ready.

e la documentazione del kernel 3.0

  Btrfs filesystem (EXPERIMENTAL) Unstable disk format
  (...)
  Btrfs is highly experimental, and THE DISK FORMAT IS NOT FINALIZED. 
  You should say N here unless you are interested in testing Btrfs 
  with non-critical data.

chiaramente scoraggiarti dall'utilizzare btrfs per scopi diversi dai test.

Ma quando si tratta di forma, credo che l'utente finale avrà valore solo per i dati privati ​​come cose nella propria directory home. Non sarà necessaria la rete di sicurezza per spostare le cose nel cestino - in realtà ci sarà la necessità di ridefinire il "cestino" negli ambienti desktop. Il resto delle funzionalità probabilmente finirà (per l'utente) come sentirsi più veloce (se non del tutto), ma consumare più rapidamente lo spazio su disco.


5

BTRFS è maturato considerevolmente nel corso degli anni (da quando questa domanda è stata posta). Ora è abbastanza stabile per la maggior parte dei casi d'uso, anche per diversi livelli RAID (ad esempio, RAID-1 - stabile e facile da configurare). Dato che BTRFS memorizza i checksum, è in grado di rilevare in modo affidabile la corruzione (a differenza dei sistemi RAID classici in cui è disponibile solo la parità).
Le versioni attuali sono anche in grado di correggere errori tipici in un filesystem BTRFS RAID-5 (ad esempio sostituendo un'unità guasta) (sebbene raid56 abbia ancora bisogno di miglioramenti, vedi aggiornamento sotto ).
Se un'operazione di riparazione / sostituzione si interrompe, aggiornare prima il kernel (che probabilmente risolve questo problema) e, se necessario, BTRFS ha alcune funzionalità di ripristino. Anche nel peggiore dei casi (come errori di più unità), spesso sarai in grado di copiare i file che sono ancora a posto e saprai quali file sono danneggiati. Pertanto, ignorando tutte le altre funzionalità (come snapshot, copie CoW, sottovolumi), BTRFS potrebbe essere utilizzato se il rilevamento di corruzione di dati / file è una priorità principale.

Aggiornamento: a giugno 2016, è stato scoperto che l'implementazione RAID-5/6 in BTRFS è difettosa. BTRFS in generale è stabile, ma l'implementazione di raid56 è molto nuova, è stata comunque considerata sperimentale e ora dovrebbe essere utilizzata solo per i test fino a quando non è stata risolta. Se stai usando RAID-5/6, potresti voler convertire in RAID-1. Offre ancora vantaggi per gli utenti finali come il checksum (altri file system potrebbero non conoscere affatto i file corrotti) e la protezione in caso di guasto di un'unità.

Riferimento: a volte BTRFS calcola la parità errata


RAID 5 e 6 sono attualmente completamente rotti in BTRFS e causano la perdita di dati. Evitare!
Gareth Davidson,

1
RAID-5 è stato un cattivo esempio in questa risposta. Aggiornato.
basic6,
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.