btrfs

btrfs
btrfs
Hersteller Oracle Corporation
Vollständige Bezeichnung B-tree FS oder „Butter FS“
Erstveröffentlichung 12. Juni 2007 (Linux)
Technische Umsetzung
Verzeichnisse B⁺-Baum[1]
Maximalwerte
Größe einer Datei 16 EiB
Anzahl aller Dateien 264
Länge des Dateinamens 255 Byte
Größe des Dateisystems 16 EiB
Erlaubte Zeichen im Dateinamen alle Bytes außer NUL und '/'
Eigenschaften
Dateiattribute POSIX
Dateirechte-Verwaltung POSIX, ACLs
Transparente Komprimierung ja
Transparente Verschlüsselung nein
Unterstützende Betriebssysteme Linux

Das btrfs (B-tree FS oder alternativ Butter FS)[2][3] ist ein Copy-On-Write-Dateisystem, das von der Firma Oracle Corporation seit dem Jahr 2007[4] für das Betriebssystem Linux entwickelt wird. Möglicherweise soll es in Zukunft das bislang im Linux-Umfeld vorherrschende ext3-Dateisystem mit seinen Beschränkungen (Dateigröße und Gesamtdateisystemgröße) ersetzen. Da dessen direkter Nachfolger ext4 nur einen Teil der Beschränkungen von ext3 beheben kann, setzt Andrew Morton,[5][6] einer der prominentesten Linux-Kernel-Entwickler, auf längere Sicht auf btrfs. Btrfs befindet sich noch in der Entwicklungsphase (Stand 7/2011: Version 2.6.39 vom Mai 2011, btrfs ist ab Linux Kernel 2.6.31-rc1 enthalten)[7] und ist daher nicht für den Einsatz in Produktionsumgebungen gedacht. Für den experimentellen Betrieb wird das Dateisystem erstmals unter OpenSuse 11.3 unterstützt[8] und es existieren Pakete für die Distributionen Gentoo, Debian und Ubuntu. Ebenfalls wurde Btrfs in die aktuelle Entwicklerversion von Fedora aufgenommen. Es wird als freie Software unter der GNU General Public License (GPL) entwickelt. Am 9. Januar 2009 wurde btrfs erstmals in den Linux Kernel 2.6.29 aufgenommen.[9] Btrfs ist das Standard-Dateisystem von MeeGo[10], und soll ab der Version 17 auch in Fedora als Standard-Dateisystem verwendet werden.[11]

Inhaltsverzeichnis

Eigenschaften

Btrfs weist zahlreiche Gemeinsamkeiten mit ZFS auf. Btrfs soll vor allem auch Funktionen bieten, die es vom derzeitigen Linux-Standard ext3/ext4, aber auch von anderen Dateisystemen wie XFS oder JFS abheben, hierunter fallen:

  • erweiterter Speicherbereich (264 Byte)
  • effizientes Speichern von kleinen Dateien und Ordnern
  • dynamische Inodes
  • Schnappschüsse
  • mehrere Wurzelverzeichnisse (Subvolume)
  • integriertes RAID, Spiegelung und Aneinanderhängen von Objekten (RAID 0, RAID 1 und RAID 10)
  • Prüfsummen
  • Datenkompression
  • Dateisystemüberprüfung und -Defragmentierung während des Betriebs
  • effizientes internes inkrementelles Backup

Das in das Dateisystem integrierte RAID-Subsystem bietet gegenüber klassischen Hardware- oder Software-RAID-Implementierungen den Vorteil, dass durch das integrierte RAID-System zwischen belegten und freien Datenblöcken unterschieden werden kann und somit bei der Rekonstruktion eines gespiegelten RAID-Volumens nur belegter Plattenplatz gespiegelt werden muss, hieraus resultiert im Schadensfall, besonders bei wenig gefüllten Dateisystemen, eine enorme Zeitersparnis.

Geschichte

btrfs kann als Linux-Analogon zu ZFS beschrieben werden. ZFS wurde zwar schon Jahre früher vom mittlerweile selben Hersteller (Sun Microsystems, aufgegangen in Oracle) als definitives Dateisystem entworfen, war wegen seines Lizenzstatus jedoch für die Verwendung mit Linux ungeeignet. Weiterhin baut btrfs mit der B-Baum-Struktur auf ein zentrales Konzept aus XFS auf. Es ist somit auch mit Reiser4 verwandt, zu dem es als adäquate Wachablösung gesehen wird.[12]

Die Kernstruktur von Btrfs – die Copy-on-write-B-Baum-Struktur – wurde ursprünglich von dem IBM-Forscher Ohad Rodeh im Rahmen einer Präsentation bei der USENIX 2007 vorgeschlagen. Rodeh schlug auch das Hinzufügen von Referenzierungszählern für Speicherblöcke und bestimmte Lockerungen der Balancing-Algorithmen normaler B-Bäume vor, die die B-Bäume für die Hochleistungsspeicherlösungen mit Copy-On-Write-Schnappschüssen tauglich machen und dabei gute Nebenläufigkeit bewahren.[13]

Chris Mason, damals ein ReiserFS-Entwickler bei SUSE, wurde noch im selben Jahr von Oracle eingestellt und begann dort seine Arbeit an einem neuen Dateisystem, das fast ausschließlich solche B-Bäume verwendet – nicht nur für Meta- und Nutzdateien, sondern auch rekursiv zur Verfolgung der Speicherzuteilung der Bäume selber. Damit können sämtliche Operationen durch dieselben Routinen abgewickelt werden.[4][14]

Redhat beauftragte im Q2/2010 Edward Shishkin, einen der ursprünglichen Reiser4-Entwickler, mit einem Codereview. Shishkins Schluss war, dass das Design fehlerhaft ist, da dem ursprünglichen Algorithmus in Kernpunkten nicht gefolgt wird. Die Designfehler führen dazu, dass in speziellen Fällen der Plattenplatz ausgehen kann, obwohl genügend Platz vorhanden ist.[15][16][17]

Eine stabile btrfs-Version (mit dem endgültigen Datenformat – Version 1.0) war ursprünglich für 2008 zur Veröffentlichung vorgesehen, wurde jedoch bisher (Mai 2011) noch nicht veröffentlicht. Nichtsdestoweniger ist die Unterstützung bereits in die Hauptversion des Linux-Kernels aufgenommen (seit Version 2.6.29-rc1). Bei einigen Linux-Distributionen steht das Dateisystem bereits offiziell bei der Installation zur Auswahl.

Weblinks

Einzelnachweise

  1. Valerie Aurora geb. Henson: A short history of btrfs. btrfs: Pre-history. In: LWN.net. 22. Juni 2009, abgerufen am 4. Oktober 2010 (englisch): „Rodeh’s btrees are different: […], he got rid of the links between leaves of the tree […]. (This is a fairly standard form of btrees in file systems, sometimes called 'B+trees'.)“
  2. Valerie Henson: Chunkfs: Fast file system check and repair. 2008, abgerufen am 5. Februar 2008 (OGG, 106,8 MB, Laufzeit 18 Minuten, 49 Sekunden): „It's called Butter FS or B-tree FS, but all the cool kids say Butter FS“
  3. Jake Edge: CRFS and POHMELFS. In: LWN.net. Eklektix, Inc., 6. Februar 2008, abgerufen am 4. Oktober 2010 (englisch).
  4. a b Chris Mason: [ANNOUNCE] Btrfs: a copy on write, snapshotting FS. In: Linux Kernel Mailing List archive. 12. Juni 2007, abgerufen am 29. Mai 2010 (englisch).
  5. Andrew Morton: Status and Direction of Kernel Development. (Nicht mehr online verfügbar.) 9. Juli 2008, ehemals im Original, abgerufen am 4. Oktober 2010 (PDF, englisch): „I am hoping that btrfs will save us. But as far as I know it is not getting as much external development support as it warrants – Merging btrfs into mainline might help here“
  6. Kernel-Log: Keine Unstable-Series, Linux 2008.7, Umgang mit Sicherheitskorrekturen. In: heise open. 16. Juli 2008, abgerufen am 4. Oktober 2010.
  7. Changelog. 4 v2.6.35 (August 2010). In: btrfs Wiki. Archiviert vom Original am 20. Juli 2011, abgerufen am 2010 (englisch).
  8. OpenSuse 11.3: Product highlights. 1.1 Support for the new Btrfs file system. In: openSUSE Wiki. Archiviert vom Original am 26. Juli 2010, abgerufen am 17. Juli 2010 (englisch): „openSUSE is the first distribution that lets you choose Btrfs in the installer.“
  9. Jonathan Corbet: Btrfs merged for 2.6.29. In: lwn.net. 9. Januar 2009, abgerufen am 4. Oktober 2010 (englisch).
  10. Mirko Dölle: MeeGo-Projekt wählt Btrfs zum Standard-Dateisystem. In: heise open. 12. Mai 2010, abgerufen am 4. Oktober 2010.
  11. Jörg Thoma: Dateisysteme: Btrfs wird Standard in Fedora 16. In: golem.de. 9. Juni 2011, abgerufen am 9. Juni 2011.
  12. Theodore Ts'o: Re: reiser4 for 2.6.27-rc1. In: Linux Kernel Mailing List archive. KernelTrap, 1. August 2008, abgerufen am 16. Oktober 2010 (englisch).
  13. Ohad Rodeh: B-trees, Shadowing, and Clones. 2008, abgerufen am 16. Oktober 2010 (PDF, englisch).
  14. Valerie Aurora: A short history of btrfs. In: LWN.net. 22. Juli 2009, abgerufen am 22. August 2009 (englisch).
  15. Edward Shishkin: Btrfs: broken file system design (was Unbound(?) internal fragmentation in Btrfs). In: Linux Kernel Mailing List archive. 18. Juni 2010, abgerufen am 31. Dezember 2010 (englisch).
  16. Edward Shishkin: Re: Balancing leaves when walking from top to down (was Btrfs:...). In: linux-btrfs. 30. Juni 2010, abgerufen am 8. Januar 2011 (englisch).
  17. FAQ. In: btrfs Wiki. 8. Januar 2011, archiviert vom Original am 20. Juli 2011, abgerufen am 8. Januar 2011 (englisch).

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Btrfs — Hersteller Oracle Corporation Vollständige Bezeichnung B tree FS oder “Butter FS” Erstveröffentlichung 12. Juni 2007 (Linux) Technische Umsetzung Verzeichnisse B Baum …   Deutsch Wikipedia

  • Btrfs — Développeur Oracle Corporation Nom anglais Btrfs Introduction Stable : 23 mars 2009 Instable : 12 juin 2007 (Linux) Structure Conte …   Wikipédia en Français

  • Btrfs — Saltar a navegación, búsqueda Btrfs Desarrollador Oracle Corporation Nombre completo Btrfs Introducido Junio 12, 2007 (Linux) Identificador de la partición …   Wikipedia Español

  • Btrfs — Информация в этой статье или некоторых её разделах устарела. Вы можете помочь проекту, обновив её и убрав после этого данный шаблон …   Википедия

  • Btrfs — infobox filesystem full name = Btrfs name = Btrfs developer = Oracle Corporation introduction os = Linux introduction date = June 12, 2007 partition id = directory struct = btree file struct = extents bad blocks struct = max filename size = 255… …   Wikipedia

  • BtrFS — …   Википедия

  • Comparison of file systems — The following tables compare general and technical information for a number of file systems. Contents 1 General information 2 Limits 3 Metadata 4 Features …   Wikipedia

  • File system — For library and office filing systems, see Library classification. Further information: Filing cabinet A file system (or filesystem) is a means to organize data expected to be retained after a program terminates by providing procedures to store,… …   Wikipedia

  • CRFS — (Coherent Remote File System) is a network file system protocol by Zach Brown formerly of Oracle intended to leverage the Btrfs architecture to gain higher performance than existing protocols (such as NFS and CIFS) and to expose Btrfs features… …   Wikipedia

  • MeeGo — This article is about the mobile operating system. For other uses, see Meego. MeeGo Company / developer …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”