BTRFS. Il futuro?
I più attivi nel mondo GNU/Linux avranno certamente notato di quanto si stia parlando di BTRFS. BTRFS è un file system di tipo copy on write con struttura B-TREE ed è stato indrodotto da Oracle nel 2007. BTRFS nasce per contrastare l'efficenza di ZFS, il file system di casa Sun. essendo rilasciato sotto la GPL, è diventato subito integrato nel Kernel Linux per esattezza nel ramo 2.6.29-rc1. IL file system è rimasto in disparte fino a quando, pochi giorni fa, Canonical ha annunciato che probabilmente diventerà il file system di Ubuntu 10.10 e probabilmente anche di Moblin. Ma veramente BTRFS rappresenterà il futuro dei file system?
Btrfs | |
---|---|
Sviluppatore | Oracle Corporation |
Nome completo | B-tree FS o "Butter FS" |
Introdotto | 2008 (Linux) |
Identificatore della partizione | |
Struttura | |
Struttura contenuti directory | B*Tree |
Allocazione dei file | extent |
Blocchi danneggiati | |
Limiti | |
Dimensione massima di un file | 16 EB |
Numero massimo di file | 264 |
Dimensione massima del nome di un file | 255 byte |
Dimensione massima del volume | 16 EB |
Caratteri permessi nel nome di un file | Tutti i bit eccetto NUL e '/' |
Caratteristiche | |
Date memorizzate | |
Date supportate | |
Fork | |
Attributi | POSIX |
Permessi file system | POSIX e ACL |
Compressione trasparente | Sì (zlib) |
Crittografia trasparente | No |
Confrontandolo con EXT4 (per info leggete l'articolo sui FS) si nota che EXT4 permette di lavorare con volumi molto più piccoli, utilizza solo POSIX per le autorizzazioni ed ha un sistema di allocazione file peggiore rispetto a quello che troviamo in BTRFS.
Inoltre, BTRFS ha caratteristiche in più di EXT4 quali la possibilità di creare snapshot, compressione integrata di alta efficenza, maggiori velocità con sistemi RAID5 e RAID6, crittografia integrata, chescksum integrato, ma soprattutto, integrazione con la rete grazie alle similitudini con NFS.
Il filesystem è anche più efficente con gli SSD e, per questo, potrebbe diventare in breve il FS predefinito delle distro per netbook.
Ottenere BTRFS
Su una distro ubuntu basterà installare le btrfs-tools. Altrimenti bisogna scaricare i sorgenti (https://btrfs.wiki.kernel.org/index.php/Btrfs_source_repositories) e ricompilare il kernel.Comandi
- mkfs.btrfs: crea il filesystem
- btrfsctl: Permette di creare snapshot e sottovolumi oltre che a controllarli.
- Si possono controllare tutti i filesystem o solo uno in particolare.
- btrfsctl -a
- btrfsctl -A /dev/sda2
- Si possono controllare tutti i filesystem o solo uno in particolare.
- Snapshots e sottovolumi
- mount -t btrfs /dev/sda2 /mnt/btrfs
- btrfsctl -S new_subvol_name /mnt/btrfs
- btrfsctl -s /mnt/btrfs/snapshot_of_root /mnt/btrfs
- mount -t btrfs -o subvol=new_subvol /dev/sda2 /mnt/new_subvol
- mount -t btrfs -o subvol=snapshot_of_root /dev/sda2 /mnt/snap
- btrfsck: Esegue un controllo limitato sugli alberi del filesystem
- btrfs-debug-tree: Stampa tutti i metadata del FS
- btrfs-debug-tree /dev/sda2 >& big_output_file
- Se c'è qualche problema, si può creare
un'immagine del filesystem da inviare a siti di supporto con questo
comando:
- btrfs-image -c 9 /dev/sda2 /tmp/btrfs_dump.z
Benchmark (by oracle)
Riporto le tabelle dei benchmark eseguiti da Oracle (per un confronto dati)
http://oss.oracle.com/projects/btrfs/dist/documentation/benchmark.html