Btrfs | |
Fejlesztő | Oracle Corporation (kezdetben) |
---|---|
angol név | Btrfs |
Bevezetés |
Stabil: Linux kernel 3.10, 2013. július 29. instabil: Linux kernel 2.6.29, 2009. március ( Linux ) |
Szerkezet | |
A könyvtárak tartalma | B fa |
Fájl allokáció | mértékben |
Korlátozások | |
Maximális fájlméret | 16 Eio |
A fájlok maximális száma | 2 64 |
A fájlnév maximális mérete | 255 bájt |
Maximális hangerőméret | 16 Eio |
A fájlnevekben engedélyezett karakterek | Mind, kivéve NUL ('\ 0') és '/' |
Jellemzők | |
Felvett dátumok | módosítás (mtime), attribútumok módosítása (ctime), hozzáférés (atime) |
Attribútumok | POSIX , Extended attribútumok |
Engedélyek | POSIX, ACL |
Integrált tömörítés | Igen ( zlib , LZO és (a 4.14-es rendszermag óta) Zstd ) |
Integrált titkosítás | Tervezett |
Btrfs ( B-tree fájlrendszer , hangsúlyos ButterFS) egy fájlrendszer az 2010-es évek alapján Copy-On-Write (copy-on-write francia) alatt a GNU GPL , közösen fejlesztette ki az Oracle , a Red Hat , a Fujitsu , Intel , SUSE , STRATO AG (in) és mások. 2012-ben, amikor még nem tartották elég stabilnak, a közösség intenzív fejlesztési és tesztelési erőfeszítéseket tett annak érdekében, hogy a Btrfs az ext4 és az ext3 utódja legyen , a disztribúciók szokásos fájlrendszere. Az OpenSuse 13.2 az indításkor alapértelmezés szerint a Btrfs-t kínálja a gyökérpartícióra a biztonság biztosítása érdekében, és meghagyja az ext4 és az XFS (gyorsabb) közötti választást a / home számára.
A Btrfs a következő szolgáltatásokat nyújtja, amelyek nem találhatók meg más fájlrendszerekben:
Ezek a jellemzők fontosak a Linux rendszerek, mind a szerverek, mind az ügyfél munkaállomások számára, mivel a tárolók mérete és konfigurációja általában növekszik és összetettebbé válik.
A pillanatkép technika különösen biztosítja, hogy következetes biztonsági másolatot készítsen a rendszerfájlokról, olyanokról, amilyenek a pillanatkép pillanatában voltak, még akkor is, ha a biztonsági mentés több órát vesz igénybe, és sok fájl megváltozik.
A Btrfs adatszerkezet (copy-on-write a Tree B ) már javasolta, amelyet a kutató számára az IBM , Ohad Rodeh , egy konferencián USENIX 2007 Chris Mason, a korábbi mérnöke SUSE Oracle csatlakozott 2007 végén, és elkezd dolgozni a Btrfs megtervezése a B Tree adatszerkezet alapján . A szerverek biztonsági mentésének lehetősége működésük megszakítása nélkül valójában nagy igény.
A Red Hat megszüntette a Btrfs támogatását az RHEL 7.4 verziója óta , 2017. augusztus 1-jén. A CentOS 8.0 Linux disztribúció már nem tartalmaz olyan csomagokat a tárolókban, amelyek támogatnák a Btrfs fájlrendszereket.
A Btrfs az Ext4-hez hasonlóan a kiterjedés fogalmán alapul . Ez egy összefüggő terület (akár több száz MB is, ellentétben a néhány KB-val régebbi klaszterekkel ), amelyet minden egyes fájl a merevlemezre történő mentéskor tart fenn . Így amikor a fájl végéig (függelék) írunk, vagy teljesen átírjuk, az új adatok gyakran közvetlenül a meglévő mértékben mennek át, nem pedig a merevlemez egy másik területére. A kiterjedés ilyen használata csökkenti a széttagoltságot , ezért növeli a hagyományos merevlemez teljesítményét (de nem nyer semmilyen erősítést az SSD-n ). Ez az időhatékonyság a lemezterület nagyobb elfoglaltságának az árát jelenti, amelynek költségeit több nagyságrenddel csökkentették. A Btrfs a nagyon kicsi fájlok adatait is közvetlenül a könyvtár fájl kiterjesztésében tárolja , nem külön terjedelemben.
A Btrfs fenntartja a "részmennyiségek" fogalmát , amely a könyvtárak és fájlok külön fája (beleértve a gyökérzetet is ), lehetővé teszi a különféle fák egyidejű használatát, függetlenebbé téve őket a fő rendszertől. Az adatok így jobban elkülönülnek, és különböző mennyiségeket lehet kvótákkal meghatározni. A fő előny a pillanatképek (más néven pillanatképek ) lehetősége. A pillanatfelvétel lehetővé teszi, hogy egy pillanatfelvételt készítsen egy fájlrendszer adott pillanatában, hogy a munka folytatása közben a következetes állapotba mentse . Ez a pillanatkép egy alkötet, amely utána szerkeszthető. Ez az írásmódosítás, amely a biztonsági mentés során lehetséges (csak egy korábbi állapotból), lehetővé teszi az online adatbázisok magas rendelkezésre állását.
Ezen részkötetek és pillanatfelvételek kiaknázására a Btrfs a klasszikus „ copy-on-write ” technikát használja . Ha az adatokat memóriablokkba kívánja írni, akkor a memóriablokkot átmásolja a fájlrendszer egy másik helyére, hogy ne változtassa meg az eredetit, és az új adatokat később a másolatba menti. Ezután a blokkra mutató metaadatok automatikusan módosulnak az új adatok figyelembevétele érdekében. Ez a tranzakciós mechanizmus különbözik az ext3-ban meglévő naplózástól , amely emlékezik csak arra, ami az írás előtt létezett, és mindaddig megtartja, amíg meg nem erősítik, hogy az írás jól sikerült. A rendszer pillanatképének elkészítése lehetővé tenné, hogy probléma esetén azonnal visszatérjen a pillanatképre, anélkül, hogy a meghibásodás idején újra kellene játszania a folyamatban lévő fájlt. A teljesítményproblémák mellett (a Btrfs nem rendelkezik az XFS teljesítményével) ez felveti a kérdéseket: mikor kell pillanatképet készíteni milyen mennyiségű adatról? A fénykép világából kölcsönzött "pillanatkép" elnevezés félrevezető, amennyiben a dermedt állapot valóban egy pillanatnyi, a művelet jellemzően még mindig néhány tíz milliszekundumot vesz igénybe, még akkor is, ha nem kapcsolódik a tíz percig. egy tartalék. A pillanatképek e célra történő felhasználása nem a fejlesztők által felvetett pont.
Másrészt elengedhetetlen a szinkronizáláshoz , az archiváláshoz és a biztonsági mentésekhez , biztosítva, hogy a teljes választott fájlrendszer szinkronizálásra, archiválásra vagy biztonsági mentésre kerüljön, a művelet kezdetével megegyező állapotban, még akkor is, ha a a művelet megkezdődött. ”tovább dolgozunk rajta, és a biztonsági mentés több órát vesz igénybe. Ez a lehetőség következetes biztonsági mentéseket tesz lehetővé, feltéve, hogy az informatikai csapat végrehajtja.
Btrfs saját adatvédelmi technikák: a használata hátsó referenciák - azaz tudva, egy adatblokk, amely a metaadatok pont a blokk) lehetővé teszi, hogy azonosítják a rendszer a korrupció. Ha egy fájl azt állítja, hogy blokkkészlethez tartozik, és ezek a blokkok azt állítják, hogy egy másik fájlhoz tartoznak, ez azt jelzi, hogy a rendszer konzisztenciája megváltozott. A Btrfs ellenőrzi az összes tárolt adatot és metaadatot is annak érdekében, hogy mindenféle forró korrupciót felismerhessen, javítson néhányat, és ezáltal jobb megbízhatóságot nyújtson.
Lehetővé teszi a fájlrendszer méretének gyors átméretezését (beleértve annak csökkentését is), miközben megőrzi a metaadatok kiváló védelmét, amelyet a biztonság érdekében több helyen másolnak. A művelet egyszerű: btrfs filesystem resize +2g /mntadjon hozzá 2 GiB fájlt a fájlrendszeréhez. Ez a funkció nem célja felesleges, amit nyújt a logikai kötet manager for Linux , de azt állítja, a technikailag teljes.
A fájlrendszer ellenőrzése a btrfsck programon keresztül hibatűrő és a tervezés szerint rendkívül gyors. A B fák használata lehetővé teszi a lemez szerkezetének feltárását olyan sebességgel, amelyet lényegében korlátoz a lemez olvasási sebessége. A másik oldal nagy memóriaterület, mivel a btrfsck háromszor több memóriát használ, mint az e2fsck .
A Btrfs tiszteletben tartja a Linux funkcionális "rétegeinek" hierarchiáját. Például, bár további funkciókat kínál, igyekszik a lehető legnagyobb mértékben átírni az LVM által alapértelmezésként kínált teljes kötetkezelő rendszert .
A Btrfs lehetővé teszi a logikai kötetek kezelését , vagyis több tárolóeszköz összesítését.
A Btrfs számos RAID funkció megvalósítását teszi lehetővé .
A Btrfs lehetővé teszi a tárolt adatok tömörítését . Meg lehet aktiválni idején szerkesztést, míg választotta ki a tömörítés típusa között Zstd , Zlib és LZO .
Más tömörítési algoritmusokat fontolgattak vagy mérlegelnek:
Az adatok biztonságának és konzisztenciájának biztosítása minden bizonnyal költségekkel jár, amelyeket azonban össze kell hasonlítani:
Ezt felidézve:
A Btrfs belső működése gyakorlatilag lehetetlenné teszi a szabad hely mennyiségének meghatározását: a " df " parancs csak a látszólagos térnek felel meg, nem a valós térnek, amely sokkal nagyobb lehet. Korábban ilyen típusú problémákkal csak üreges (vagy " lyuk ") fájlokkal rendelkező Linuxok találkoztak .