Btrfs

Btrfs ("better FS", "butter FS",  "b-tree FS", veya basitçe yazılarak telaffuz edilir) bir birlikte geliştirilen mantıksal bir birim yöneticisiyle (Linux'un LVM'si ile karıştırılmamalıdır) copy-on-write (COW) ilkesine dayalı olan dosya sistemini birleştiren bir bilgisayar depolama biçimidir. Başlangıçta Oracle Corporation'da 2007'de Linux'ta kullanılmak üzere tasarlandı ve Kasım 2013'ten bu yana dosya sisteminin disk üzerindeki biçimi Linux çekirdeğinde kararlı olarak ilan edildi. Oracle'a göre, Btrfs "gerçek bir kısaltma değildir".

Btrfs, Linux dosya sistemlerinde havuz oluşturma, anlık görüntüler, sağlama toplamları ve tümleşik çoklu cihaz kapsamı eksikliğini gidermeyi amaçlamaktadır. Btrfs'in baş yazarı Chris Mason, amacının "Linux'un mevcut olacak depolama için ölçeklenmesine izin vermek olduğunu belirtti. Ölçekleme, yalnızca depolamayı ele almakla ilgili değildir, aynı zamanda, insanların ne kullanıldığını görmelerini sağlayan ve onu daha güvenilir hale getiren temiz bir arabirimle yönetebilmek ve yönetebilmek anlamına gelir." olduğunu dile getirmiştir

Tarihçe 

Btrfs -the copy-on-write B-tree 'nin temel veri yapısı  ilk olarak IBM araştırmacısı Ohad Rodeh tarafından USENIX 2007'deki bir sunumda önerildi.  O zamanlar SUSE için ReiserFS üzerinde çalışan bir mühendis olan Chris Mason, o yıl Oracle'a katıldı ve B-trees'e dayalı yeni bir dosya sistemi üzerinde çalışmaya başladı.

2008 yılında, ext3 ve ext4 dosya sistemlerinin baş geliştiricisi Theodore Ts'o, ext4'ün gelişmiş özelliklere sahip olmasına rağmen bunun büyük bir ilerleme olmadığını eski teknolojiyi kullandığını ve bir durak noktası olduğunu belirtti; . Ts'o, Btrfs'nin "ölçeklenebilirlik, güvenilirlik ve yönetim kolaylığı konularında iyileştirmeler sunduğu" için daha iyi bir yönü olduğunu söyledi. Btrfs ayrıca " reiser3/4" sahip olduğu aynı tasarım fikirlerine" sahiptir.

Btrfs 1.0, son haline getirilmiş disk biçimi ile, ilk olarak 2008 sonlarında bir sürüm için planlanmıştı ve nihayet 2009'da Linux çekirdeği ana hattına kabul edildi. Birkaç Linux dağıtımı, kurulum sırasında kök dosya sisteminin deneysel bir seçimi olarak Btrfs'yi sunmaya başladı.

Temmuz 2011'de, Btrfs otomatik birleştirme ve temizleme özellikleri, Linux çekirdek ana hattının 3.0 sürümünde birleştirildi.  Oracle'da Mason'ın yanı sıra Fujitsu'da Miao Xie performans iyileştirmelerine katkıda bulundu. Haziran 2012'de Chris Mason, bir yıl sonra Josef Bacik ile Facebook'a katılmak için ayrıldığı Fusion-io için Oracle'dan ayrıldı. Her iki şirkette de Mason, Btrfs üzerindeki çalışmalarına devam etti.

2012'de iki Linux dağıtımı, Btrfs'yi deneyselden üretime veya desteklenen duruma taşıdı: Mart'ta Oracle Linux, ardından Ağustos'ta SUSE Linux Enterprise geçiş yapmıştır.

2015 yılında Btrfs, SUSE Linux Enterprise Server 12 için varsayılan dosya sistemi olarak kabul edildi.

Ağustos 2017'de Red Hat, Red Hat Enterprise Linux (RHEL) 7.4 sürüm notlarında Btrfs'yi artık tam olarak desteklenen bir özelliğe taşımayı planlamadığını (RHEL 6 beta'dan bu yana bir "teknoloji önizlemesi" olarak dahil edilmiştir) duyurdu. RHEL 7 sürüm serisinde mevcut kalacaktır. Btrfs, Mayıs 2019'da RHEL 8'den kaldırıldı. RHEL, RHEL 6'daki ext4'ten RHEL 7'deki XFS'ye taşındı.

2020'de masaüstü varyantları için Fedora 33 için varsayılan dosya sistemi olarak Btrfs seçildi.

Özellikler

Özellikler listesi

Uygulanan 
Linux çekirdeğinin 5.0 sürümünden itibaren Btrfs aşağıdaki özellikleri uygular:

 Yazma üzerine kopyalamanın doğası gereği bazı konfigürasyonlarda çoğunlukla kendi kendini onaran
 Çevrimiçi birleştirme ve otomatik birleştirme bağlama seçeneği 
 Çevrimiçi hacim büyümesi ve küçülmesi
 Çevrimiçi blok cihaz ekleme ve kaldırma
 Çevrimiçi dengeleme (yükü dengelemek için nesnelerin blok cihazlar arasında hareketi)
 Çevrimdışı dosya sistemi kontrolü 
 Hataları bulmak ve gereksiz kopyaları olan dosyalar için bunları otomatik olarak düzeltmek için çevrimiçi veri temizleme
 RAID 0, RAID 1 ve RAID 10 
 Alt hacimler (her disk bölümü içinde bir veya daha fazla ayrı olarak monte edilebilir dosya sistemi kökü )
 zlib, LZO  ve (4.14'ten beri) ZSTD aracılığıyla şeffaf sıkıştırma,  dosya veya birim başına yapılandırılabilir 
 Atomik yazılabilir (yazma üzerine kopyalama yoluyla) veya salt okunur  Alt hacimlerin anlık görüntüleri
 cp --reflink < source file > < destination file >  aracılığıyla dosya klonlama (reflink, yazma üzerine kopyalama)
 Veriler ve meta veriler üzerinde sağlama toplamları (CRC-32C  ). 5.5'ten beri yeni hash fonksiyonları uygulanmaktadır: xxHash, SHA256, BLAKE2B .
 Ext3/4'ten Btrfs'ye yerinde dönüştürme (geri alma ile). Bu özellik, 4.6'da sıfırdan yeniden yazılan btrfs-progs sürüm 4.0 civarında geriledi.
 Dosya sistemi tohumlama (yazılabilir bir Btrfs için yazma üzerine kopyalama desteği olarak kullanılan salt okunur depolama) olarak bilinen salt okunur depolamanın birleşik montajı 
 Atmayı engelle (bazı sanallaştırılmış kurulumlarda yer kaplar ve TRIM ile SSD'lerde aşınma düzeyini iyileştirir)
 Gönder/al (anlık görüntüler arasındaki farkları ikili akışa kaydetme) 
 Artımlı yedekleme 
 Bant dışı veri tekilleştirme (kullanıcı alanı araçları gerektirir) 
 Takas dosyalarını işleme ve bölümleri takas etme yeteneği

Uygulananan, ancak üretim kullanımı için önerilmeyen 

 Alt hacim başına hiyerarşik kotalar 
 RAID 5, RAID 6

Planlandı ancak henüz uygulanmadı 

 Bant içi veri tekilleştirme 
 Çevrimiçi dosya sistemi kontrolü 
 RAID'in güvenilirliğini aşan altı eşlik aygıtına kadar RAID 5 ve RAID 6 
 Nesne düzeyinde RAID 0, RAID 1 ve RAID 10
 Şifreleme   
 Kalıcı okuma ve yazma önbelleği (L2ARC + ZIL, lvmcache vb. )

2009'da Btrfs'in Sun Microsystems tarafından geliştirilen ZFS ile karşılaştırılabilir bir özellik seti sunması bekleniyordu.  Oracle'ın 2009'da Sun'ı satın almasının ardından Mason ve Oracle, Btrfs geliştirmeye devam etmeye karar verdi.

Ticari destek

Desteklenen 

 Fedora Workstation'ın 33 sürümünden itibaren varsayılan dosya sistemi (2020-10-27) 
 Sürüm 7'den Oracle Linux 
 SUSE Linux Enterprise Server sürüm 12'den 
 Sürüm 6.0'dan Synology DiskStation Manager (DSM) 
 0.4.10 sürümünden ReactOS

Artık desteklenmiyor 

 Btrfs, Red Hat Enterprise Linux 6 ve 7'ye bir "teknoloji önizlemesi" olarak dahil edildi; 2018'de RHEL 8'de kaldırıldı.

Ayrıca bakınız 

 APFS – macOS, iPadOS, iOS, tvOS ve watchOS için yazma üzerine kopyalama dosya sistemi
 Bcachefs
 Dosya sistemlerinin karşılaştırılması
 HAMMER – DragonFly BSD'nin B-ağaçlarını kullanan, veri bozulmasına karşı önlem olarak sağlama toplamları ile eşleştirilmiş dosya sistemi
 Dosya sistemlerinin listesi
 ReFS – Windows Server 2012 için yazma üzerine kopyalama dosya sistemi
 ZFS

Notlar

Kaynakça

Dış bağlantılar 

 
 I Can't Believe This is Butter! A tour of btrfs on YouTube a conference presentation by Avi Miller, an Oracle engineer
 Btrfs: Working with multiple devices  LWN.net, December 2013, by Jonathan Corbet
 Marc's Linux Btrfs posts  detailed insights into various Btrfs features
 Btrfs overview , LinuxCon 2014, by Marc Merlin
 File System Evangelist and Thought Leader: An Interview with Valerie Aurora , Linux Magazine, 14 July 2009, by Jeffrey B. Layton

Disk dosya sistemleri
İncelenmemiş çeviri içeren sayfalar