title: Btrfs
text: Btrfs (B-tree FS, uitgesproken als Better FS) is een copy-on-write-bestandssysteem ontworpen en geïmplementeerd door Oracle en uitgebracht onder de GNU General Public License (GPL). Btrfs is gemaakt als een antwoord op ZFS en de tekortkomingen van de huidige bestandssystemen. Het bestandssysteem kan gebruikt worden op Linux en Windows.
  
  Limieten 
  Maximumgrootte van het bestandssysteem 16 exabyte.
  Maximumgrootte van één enkel bestand 16 exabyte.
  Aantal bestanden in elk individueel bestandssysteem 264.
  Maximumgrootte van bestandsnaam 255 bytes.
  
  Eigenschappen 
  Btrfs beweert een "gemakkelijk te herstellen en te onderhouden bestandssysteem te zijn, dat zich focust op fouttolerantie". Thans zijn er nog enkele basiseigenschappen die ontbreken op Btrfs, maar Btrfs is volop in ontwikkeling.
  
  Eigenschappen:
   Dynamische allocatie van inodes (geen maximumaantal bestanden bij het maken van het bestandssysteem)
   Snapshots maken die beschrijfbaar zijn en snapshots maken van snapshots
   Subvolumes
   Object-level mirroring en striping
   Controlesommen op data en metagegevens (voor een goede integriteit; op het moment wordt CRC-32C gebruikt, maar er zijn alternatieven gepland)
   Compressie (zlib; mount optie -o compress)
   Copy-on-write-logging voor alle data en metagegevens
   goede samenwerking met de device mapper voor het gebruik van meerdere apparaten, met ingebouwde RAID-algoritmes
   Online bestandssysteem en snelle offline check
   Efficiënte incrementele back-ups en bestandssysteem-mirroring
   Mogelijkheid tot het upgraden van ext3-bestandssysteem naar Btrfs en om terug in originele staat te herstellen
   Solid state drive (SSD)-geoptimaliseerde modus (mount optie -o ssd; geen wear levelling. Het zorgt dat gegevens niet op dezelfde plaats weggeschreven worden door middel van meerdere superblocks.)
   Online defragmentatie
   Seed-device-ondersteuning
  
  Redundantie (RAID) 
  Een Btrfs-bestandssysteem kan worden gemaakt boven op een groot aantal apparaten, en nog veel meer apparaten kunnen nadien worden toegevoegd. Standaard zullen alle metagegevens gemirrord worden over twee apparaten. Datagegevens worden gestriped (verdeeld) over alle aanwezige apparaten. Als er slechts één apparaat aanwezig is, zullen de metagegevens worden gedupliceerd op dat ene apparaat.
  
  Thans ondersteunt Btrfs alleen RAID-0, RAID-1 en RAID-10. Men is bezig met het implementeren van RAID-5 en RAID-6.
  
  Gedistribueerde systemen 
  Nu is Btrfs nog niet in staat om een gedistribueerd of netwerkbestandssysteem te zijn. Maar Oracle is begonnen met het ontwerpen van CRFS (Cohorent Remote File System). Dit is een netwerkbestandssysteemprotocol speciaal ontworpen voor het gebruik van netwerkopslag op een Btrfs-bestandssysteem.
  
  Copy-on-write 
  Alle bewerkingen zijn copy-on-writetransacties. Hierdoor hoeft het bestandssysteem niet nagekeken te worden op fouten. Elk blok wordt nagekeken om stille datacorruptie te vermijden, de data herstelt zichzelf indien er gebruikgemaakt wordt van een replicaconfiguratie (RAID).
  
  Snapshots 
  Btrfs voorziet in ongelimiteerd gebruik van snapshots. Een snapshot is een momentopname van een bestandssysteem.
  
  Snapshots helpen in het back-up proces en in het herstelproces. Elke snapshot kan een volledige back-up genereren. De mogelijkheid bestaat ook om een incrementele back-up te genereren door verschillende snapshots samen te gebruiken. Incrementele back-ups maken het gebruik van herstel op afstand zeer efficiënt.
  
  Concurrentie 
  Ext4 wordt gezien als een overgangssysteem naar Btrfs.
  
  ZFS implementeren in Linux is moeilijker omdat ZFS onder de CDDL-licentie is uitgegeven en de Linuxkernel onder GPL wordt gedistribueerd. ZFS is inmiddels wel beschikbaar via FUSE.
  
  Zie ook 
   ext4
   ZFS
  
  Bestandssysteem
  Oracle-software