Chi ha a che fare con molti dati, ha spesso l’esigenza di averli al sicuro e di poter aggiungere spazio a piacimento e le parole che normalmente vengono associate sono RAID e LVM.Il RAID1 (mirroring) permette di utilizzare 2 hard disk, meglio di uguale capacità se non addirittura identici per marca e modello, in modo che uno sia l’esatta riproduzione dell’altro. In caso di rottura di un disco, i dati non vengono persi perché “subentra” l’altro.
LVM è invece un software che gestisce dei volumi logici permettendo, per esempio, di unire più dischi in modo da aumentare lo spazio a disposizione anche quando il filesystem è in uso.
Utilizzando almeno 4 hard disk è possibile anche unire la sicurezza del dato fornita dal RAID1 con la praticità di LVM.
Nel 2007 è però cominciato lo sviluppo di un filesystem che unisce le due esigenze in modo nativo. Il suo nome è BTRFS.
Queste le sue principali caratteristiche:
- Conversione da EXT3 / EXT4 a BTRFS;
- Dimensione massima dei file di 2^64 byte pari a 16 exabyte (oltre 16 milioni di terabyte);
- Massima efficienza dello spazio utilizzato dai file molto piccoli (inferiori a 4k);
- Allocazione dinamica degli inode;
- Ridimensionamento “al volo” dei volumi;
- Mirroring e Striping (RAID 0, RAID 1 e RAID 10);
- Creazione di snapshot che consentono veloci backup incrementali;
- Controllo dell’integrità dei dati e dei metadati;
- Compressione con zlib e LZO;
- Deframmentazione online del filesystem;
- Utilizzo dei subvolumi come directory;
Inoltre si stanno implementando altre caratteristiche come:
- Controllo online del filesystem;
- Algoritmi di controllo dell’integrità alternativi a quelli già presenti;
- Altri metodi di compressione come lz4 e snappy;
Le premesse sono ottime, ma la sua versione stabile è disponibile dalla versione 3.10 del kernel Linux, ma poiché è in costante sviluppo, ogni versione successiva è consigliata.