Btrfs

Bevezetés a Btrfs fájlrendszerbe

Bevezetés a Btrfs fájlrendszerbe
A Btrfs (B-Tree Filesystem) egy modern copy-on-write (CoW) fájlrendszer Linux számára. A Btrfs számos fejlett fájlrendszer-funkciót kíván megvalósítani, miközben a hibatűrésre, a javításra és az egyszerű adminisztrációra összpontosít. A btrfs fájlrendszert úgy tervezték, hogy támogassa a nagy teljesítményű és nagyméretű tárolókiszolgálók követelményeit. Alkalmas petabájt méretű adatközpontokhoz, valamint mobil okostelefonokhoz.Ebben a cikkben a Btrfs fájlrendszert és annak jellemzőit fogom megvitatni. Tehát kezdjük.

Másolás írásra - CoW fájlrendszer:

A Btrfs egy másolás írásra (CoW) fájlrendszer. CoW fájlrendszerben, amikor megpróbálja módosítani az adatokat a fájlrendszeren, a fájlrendszer lemásolja az adatokat, módosítja az adatokat, majd a módosított adatokat a fájlrendszer egy másik szabad helyére írja vissza.

A Copy-on-Write (CoW) fájlrendszer legfőbb előnye, hogy a módosítani kívánt adatmennyiséget más helyre másolják, módosítják és a fájlrendszer eltérő mértékben tárolják. Az eredeti adatok mértéke nem módosul. Tehát a btrfs fájlrendszer kiküszöböli az adatok sérülésének vagy részleges frissítésének kockázatát áramkimaradás esetén az adatmódosítás során, mivel az eredeti adatok változatlanok maradnak.

A Copy-on-Write (CoW) fájlrendszer legfőbb hátránya, hogy a nagy fájlok általában széttöredeznek, amikor módosulnak. Tehát töredezettségmentesítésre van szükség egyszer-egyszer. Szerencsére a btrfs fájlrendszer támogatja az online töredezettségmentesítést. Tehát nem kell leválasztania a fájlrendszert a btrfs fájlrendszer töredezettségmentesítéséhez.

A Btrfs fájlrendszer főbb jellemzői:

A Btrfs fájlrendszer főbb jellemzői:

i) kiterjedt fájltárolás: A kiterjedés-alapú fájlrendszerben a tárolóegységet kiterjesztésnek nevezzük. A kiterjedés egy összefüggő tárterület, amelyet egy fájl számára tartanak fenn. Egy fájlhoz egy méret szükséges, függetlenül attól, hogy milyen kicsi a fájl. Nagyobb fájlok (a kiterjedésnél nagyobb fájlméret) esetén több kiterjesztésre lesz szükség. Nagyobb fájlok esetén a metaadatokat használják a fájl terjedelmének nyomon követésére. A Btrfs fájlrendszerben a metaadatok mérete lényegesen kisebb. A kisebb metaadatok javítják a tárolás hatékonyságát és a fájlrendszer teljesítményét.

ii) Hatalmas fájlméret-támogatás: A Btrfs fájlrendszerben egyetlen fájl körülbelül 2 lehet64 bájt vagy 16 EiB (exbibájt) méretű. Nem számít, mekkora a fájlod, a Btrfs támogatni tudja.

iii) Kis fájlok helytakarékos csomagolása: Normális esetben, függetlenül attól, hogy milyen kicsi a fájl, egy blokkra vagy egy kiterjedésre van szükség a fájl tárolásához. Ez rengeteg lemezterületet pazarol el. A probléma megoldása érdekében a Btrfs fájlrendszer kisebb fájlokat ágyaz be a metaadatokba a kisebb fájlok hatékony tárolásához.

iv) Helytakarékos indexelt könyvtárak: A btrfs fájlrendszer könyvtárakat kétféle módon indexelik. A fájlnév kereséshez kulcsalapú indexelést használnak. Az adatok hivatkozásához inode alapú kulcsindexelést használnak. A kétszintű indexelés javítja a könyvtár / fájl keresési teljesítményt és csökkenti az indexek tárolási követelményeit.

v) Dinamikus inode-allokáció: Az 1 fájl hivatkozásához 1 inode szükséges. Sok fájlrendszer (i.e., Ext4) rögzített számú inóddal rendelkezik. Tehát, ha túl sok kicsi fájlt hoz létre, akkor sok hely maradhat a lemezén, de nem fog tudni új fájlokat létrehozni. A fájlrendszer létrehozása után nem növelheti az inódok maximális számát.

A Btrfs úgy oldja meg ezt a problémát, hogy dinamikusan osztja ki az inódákat, ha szükséges. Tehát annyi fájlt hozhat létre, amennyit csak akar, amennyiben van szabad lemezterülete.

vi) Írható pillanatképek és csak olvasható pillanatképek: A Btrfs fájlrendszer támogatja a pillanatképeket. Pillanatképet készíthet az aktuális fájlrendszerről, amelynek segítségével visszaállíthatja adatait, ha véletlenül eltávolított néhány fájlt vagy megrongált néhány adatot.

Alapértelmezés szerint a btrfs pillanatképek csak olvashatók. Miután csak olvasható pillanatfelvételt készített, nem változtathat meg egyetlen fájlt / könyvtárat sem abban a pillanatképben. Mindenesetre, ha bármilyen fájlt / könyvtárat szeretne megváltoztatni, miután elkészítette a meglévő Btrfs fájlrendszer pillanatképét, megváltoztathatja az írásvédett pillanatképet írható pillanatképre, és módosíthatja az abban a pillanatképben található fájlokat / könyvtárakat.

vii) Almennyiségek: A Btrfs fájlrendszernek sok almennyisége lehet. Az almennyiség a btrfs fájlrendszer meglévő fájlrendszerének gyökérfa (fő) elnevezett bináris fája (B-fa) (vagy belső / logikai fájlrendszer-gyökér). Az almennyiség nem önálló blokkeszköz. De a Btrfs almennyiségeket egyenként is csatlakoztathatja. A részmennyiségeket névtérnek tekintheti.

viii) A kvóta támogatásának megfelelő mennyisége: Kvótákat allokálhat a térfogatokhoz is. A kvóta túllépése után nem adhat hozzá új adatokat az almennyiséghez. A Btrfs részmennyiségi kvóták létrehozásához nincs szükség külön programokra.

ix) Az adatok és a metaadatok ellenőrző összegei: Az adatok sérülésének elkerülése érdekében a Btrfs alapértelmezés szerint a crc32c ellenőrző összegű algoritmusokat használja az adatokhoz és a fájlrendszer metaadataihoz. Az ellenőrző összegeket a fájlrendszer tárolja, hogy automatikusan ellenőrizze a fájlrendszer hibáit és az adatok sérüléseit a háttérben.

A Btrfs számos más ellenőrző összegű algoritmust támogat: xxhash, sha256 és blake2b.

x) Tömörítés: A Btrfs fájlrendszer támogatja az átlátszó fájltömörítést. A btrfs fájlrendszer fájljainak tömörítése és kicsomagolása a háttérben automatikusan megtörténik.

A Btrfs 3 tömörítési algoritmust támogat: ZLIB, LZO és ZSTD.

A ZLIB a btrfs fájlrendszer alapértelmezett tömörítési módszere.

xi) Integrált több eszköz támogatása: A Btrfs fájlrendszerek beépített logikai kötetkezelő (LVM) támogatással rendelkeznek. Több tárolóeszközt is felvehet egyetlen btrfs fájlrendszerbe. A RAID tömböket úgy is beállíthatja a btrfs fájlrendszeren, hogy nincs szükség külön szoftverre.

A Btrfs fájlrendszer támogatja az adatcsíkozást, az adatok tükrözését, az adatok csíkozását + tükrözését, valamint az egy- és kettős paritásos megvalósításokat.

Adatcsíkozás: Ha több tárolóeszközt adott hozzá ugyanabba a btrfs fájlrendszerbe, a btrfs ugyanazt a fájlt különböző fizikai eszközökön / partíciókon tárolhatja. Ezt hívjuk adatcsíkolásnak. Az adatcsíkozás javítja a fájlrendszer olvasási / írási teljesítményét. A RAID-0 széles körben használja az adatcsíkozás funkciót.

Adatok tükrözése: Ha több tárolóeszközt adott hozzá ugyanabba a btrfs fájlrendszerbe, akkor az egy tárolóeszközre írt összes adatot az összes többi tárolóeszközre írják. Ezt nevezzük adat tükrözésnek. A RAID-1 széles körben használja az adat tükrözés funkciót.

Adatcsíkok + egy paritás: A RAID-5 adatcsíkot és egyetlen elosztott paritást használ. Ha több tárolóeszközt adott hozzá egy btrfs fájlrendszerhez, akkor a RAID-5 több adattároló eszközön levágja az adatokat, és kiszámítja és tárolja a paritásblokkokat a tárolóeszközökön. A RAID-5 egyetlen meghajtó hibát képes fenntartani.

Adatcsíkok + kettős paritás: A RAID-6 adatcsíkot és kettős elosztott paritást használ. Ha több tárolóeszközt adott hozzá egy btrfs fájlrendszerhez, akkor a RAID-6 több adattároló eszközön fogja levágni az adatokat, és kettős paritásblokkokat számol ki és tárol a tárolóeszközökön. A RAID-6 két meghajtóhibát képes fenntartani. Ettől eltekintve megegyezik a RAID-5-tel (adatcsíkozás + egy paritás).

Adatcsíkozás + tükrözés: A RAID-10 egyszerre alkalmaz adatcsíkot és tükrözést. A RAID-10 páros számú, azonos méretű tárolóeszközt igényel egyetlen btrfs fájlrendszerhez. A RAID-10 btrfs fájlrendszerbe felvehető tárolóeszközök minimális száma 4. A tárolóeszköz fele adatcsíkolásra, a másik fele pedig a tárolóeszközök első felének adatainak tükrözésére szolgál (ahol az adatok csíkosak).

xii) SSD-tudatosság és optimalizálás: A btrfs fájlrendszer ismeri az SSD-t, és rendelkezik néhány SSD-optimalizálási funkcióval. A btrfs fájlrendszer rendelkezik az SSD tárolóeszközök TRIM / Discard támogatásával is.

A TRIM szolgáltatás képes felismerni és megjelölni a már nem használt adatmennyiségeket. Miután megjelölték a kiterjesztéseket, a btrfs fájlrendszer automatikusan törölheti őket, hogy a többi fájl felhasználhassa ezeket az adatkiterjesztéseket.

Az Elvetés funkció eltávolítja az SSD összes adatkiterjesztését. Ha el akarja adni az SSD-jét, ez a szolgáltatás jól jöhet.

xiii) Hatékony növekményes biztonsági mentés: A Btrfs támogatja az inkrementális mentést. Amikor először készít biztonsági másolatot a btrfs fájlrendszerről, pillanatképet készít az aktuális fájlrendszerről. Ezután a későbbi biztonsági másolatokat összehasonlítják az első pillanatképpel, és csak a változásokat tárolják a lemezen. Tehát minden későbbi biztonsági másolat kevesebb helyet foglal el, és a mentés gyorsabb lesz.

xiv) Háttérradír: Ez egy Btrfs fájlrendszeri folyamat, amelyet a Btrfs fájlrendszerben redundáns (több példányban) tárolt fájlokon található hibák keresésére és kijavítására használnak.

xv) Online fájlrendszer töredezettségmentesítése: Korábban elmagyaráztam a Btrfs Copy-on-Write fájlrendszer működését. A nagy fájlok a Btrfs fájlrendszer több részében vannak tárolva. A nagy fájlok módosításakor a módosítandó kiterjedések a fájlrendszer különböző szabad kiterjesztéseire másolódnak és ott módosulnak. Tehát a módosítatlan adat kiterjedések is megmaradnak, ha ez a fájlrendszer helyreállításához szükséges. Ez széttöredezettséget okoz (egy nagy fájl adatmennyisége nem lesz folyamatos, és szétszóródik az egész tárolóeszközön) a fájlrendszeren, mivel a nagy fájlok módosulnak. A túl sok töredezettség negatívan befolyásolja a fájlrendszert (lassabbá teszi a fájlrendszert az olvasási / írási műveleteknél).

A probléma megoldása érdekében a btrfs fájlrendszer támogatja az online fájlrendszer töredezettségmentesítését. Az online töredezettségmentesítéssel nem kell leválasztania a fájlrendszert a fájlrendszer töredezettségmentesítéséhez. Folyamatban tarthatja a fájlrendszert és továbbra is töredezettségmentesítheti. A töredezettségmentesítéssel a fájlok kiterjedése a fájlrendszer köré kerül, hogy ugyanolyan nagy fájl kiterjedése a lehető legkisebb legyen. A töredezettségmentesítés javítja a fájlrendszer teljesítményét.

xvi) Offline fájlrendszer ellenőrzése: A Btrfs fájlrendszer számos beépített eszközzel rendelkezik, amelyekkel ellenőrizheti a fájlrendszer hibáit és kijavíthatja azokat. Ezekkel az eszközökkel kijavíthatja a meghibásodott Btrfs fájlrendszert is (amelyet nem lehet csatlakoztatni).

xvii) A meglévő Ext2 / 3/4 és ReiserFS fájlrendszerek helyben történő átalakítása: A Btrfs fájlrendszer rendelkezik egy beépített btrfs-convert segédprogrammal, amelyet felhasználva meglévő Ext2 / 3/4 és ReiserFS fájlrendszereket Btrfs fájlrendszerekké konvertálhat.

A Btrfs fájlrendszer-átalakító program beolvassa a meglévő Ext2 / 3/4 (vagy ReiserFS) fájlrendszer metaadatait, létrehozza a Btrfs metaadatokat és elmenti azokat a fájlrendszerbe. A fájlrendszer mind a Btrfs, mind az Ext2 / 3/4 (vagy ReiserFS) metaadatokat megőrzi. A Btrfs fájlrendszer ugyanazokra a fájlblokkokra mutat, amelyeket az Ext2 / 3/4 (vagy ReiserFS) fájlrendszer fájlok használnak. A meglévő fájlrendszert és az adatblokkokat érintetlenül tartják, mivel a Btrfs egy írásra másolás (CoW) fájlrendszer. Ha egy fájlt módosít, a Btrfs fájlrendszer az eredeti adatblokkokat új szabad kiterjesztésekre másolja és ott módosítja.

xviii) vetőmag-eszközök: A Btrfs fájlrendszer támogatja az alapeszközöket. Létrehozhat egy írásvédett fájlrendszert, és sablonként használhatja (mag eszköz) más Btrfs fájlrendszerek létrehozásához. Ennek az az előnye, hogy csak a módosított adatokat írja be az új fájlrendszerbe. Az eredeti adatokat (a vetőgépeken) a jelenlegi állapotuk szerint megőrzik. Ez a szolgáltatás sok lemezterület és adatredundancia megtakarítására használható.

xix) Altérfogat-változások küldése / fogadása: A btrfs fájlrendszer részmennyiségi változásokat küldhet / fogadhat. A Btrfs fájlrendszer elküldheti az almennyiség növekményes változásait egy másik Btrfs fájlrendszerbe (másik számítógépben is lehet), amely fogadhatja az almennyiség változását. Ez a szolgáltatás a Btrfs fájlrendszer növekményes biztonsági mentésének készítésére szolgál helyileg vagy távolról. Ez a módszer gyorsabb és hatékonyabb, mint az rsync.

xx) Kötegelt / sávon kívüli deduplikáció: A Btrfs fájlrendszer támogatja a kötegelt vagy sávon kívüli deduplikációt. A másolás azután történik, hogy egy fájlt beírtak a fájlrendszerbe. A Btrfs fájlrendszer aktívan megvizsgálja a teljes fájlrendszert azonos kiterjedés esetén, és minden kiterjedésből csak egy példányt tart meg (eltávolítja a felesleges / ismétlődő kiterjesztéseket). Ugyanaz a copy-on-write (CoW) elv érvényesül erre a feladatra. A deduplikáció sok lemezterületet takarít meg.

xxi) Swapfile támogatás: Ha Linux Kernel 5 rendszert használ.0 vagy újabb, swap fájlokat hozhat létre a Btrfs fájlrendszeren.

A Swapfile-nak vannak bizonyos korlátai a Btrfs fájlrendszerben:

- A cserefájlt NoCoW-ként kell lefoglalni (nem másol-írásra)

- A cserefájlban nem lehet engedélyezni a tömörítést.

A Btrfs fájlrendszer stabilitása:

A Btrfs fájlrendszert a Btrfs csapata aktívan fejleszti. A fájlrendszer legtöbb funkciója stabil az írás idején. Néhány speciális funkció még nem elég stabil a termelési környezethez. A Btrfs csapata keményen dolgozik ezen stabilitási kérdések megoldásán.

Ha a Btrfs fájlrendszert szeretné használni a termelési kiszolgálón, ellenőrizze a hivatalos Status - btrfs Wiki oldalt, hogy megtudja, a szükséges fájlrendszer-szolgáltatások elég stabilak-e az Ön számára. Ne felejtsen el futtatni néhány tesztet a Btrfs fájlrendszer utolsó telepítése előtt, és ne felejtse el megőrizni a fontos adatok biztonsági másolatait. A biztonsági mentés megőrzése mindig fontos a termelési környezetek számára.

Az Ext4 fájlrendszer jövőbeli cseréje:

A Btrfs fájlrendszert gyorsan fejlesztik. A Btrfs fejlesztői csoport a fájlrendszer stabilitásával is törődik. Tehát mindent megtesznek, hogy a lehető legstabilabb legyen, miközben fejlesztik a btrfs fájlrendszert. Amint a btrfs fájlrendszer teljesen kifejlesztett, és az összes szolgáltatás elég stabil, akkor helyettesítheti az Ext4 fájlrendszert.

Referenciák:

[1] btrfs Wiki - https: // btrfs.wiki.kernel.org / index.php / Main_Page
[2] BTRFS - A kernelfa dokumentációja - https: // www.kernel.org / doc / html / latest / filesystems / btrfs.html
[3] BTRFS - Szószedet - https: // btrfs.wiki.kernel.org / index.php / Szószedet
[4] A „Btrfs” fájlrendszer jellemzői - https: // www.napló.com / features-of-the-btrfs-fájlrendszer /
[5] A fájlrendszerek összehasonlítása - https: // en.wikipédia.org / wiki /_fájl_rendszerek összehasonlítása
[6] Btrfs design - btrfs Wiki - https: // btrfs.wiki.kernel.org / index.php / Btrfs_design
[7] talán az inódok fogyását „komolyabban” lehetne venni? - https: // lwn.net / Cikkek / 724522 /
[8] A Btrfs csak olvasható pillanatképek írhatóvá tétele - https: // markandruth.társ.uk / 2016/12/29 / a-btrfs-csak olvasható-pillanatkép-írható készítése
[9] Adatcsíkozás - https: // en.wikipédia.org / wiki / Data_striping
[10] GYIK - btrfs wiki - https: // btrfs.wiki.kernel.org / index.php / FAQ
[11] Normál RAID-szintek - https: // hu.wikipédia.org / wiki / Standard_RAID_levels
[12] Vágás (számítás) - https: // en.wikipédia.org / wiki / Trim_ (számítástechnika)
[13] Félvezető-meghajtó - ArchWiki - https: // wiki.archlinux.org / index.php / Solid_state_drive # TRIM
[14] Btrfsck - btrfs Wiki - https: // btrfs.wiki.kernel.org / index.php / Btrfsck
[15] Konvertálás az Ext3 / 4 és a ReiserFS-ből - btrfs Wiki - https: // btrfs.wiki.kernel.org / index.php / Conversion_from_Ext3
[16] Növekményes biztonsági mentés - btrfs Wiki - https: // btrfs.wiki.kernel.org / index.php / Inkrementális_Másolat
[17] Deduplikáció - btrfs Wiki - https: // btrfs.wiki.kernel.org / index.php / deduplikáció
[18] Állapot - btrfs Wiki - https: // btrfs.wiki.kernel.org / index.php / Status

A legjobb Gamepad Mapping alkalmazások Linuxhoz
Ha egy tipikus billentyűzet és egér beviteli rendszer helyett szeretnél játékokat játszani Linuxon egy játékvezérlővel, van néhány hasznos alkalmazás ...
Hasznos eszközök Linux játékosok számára
Ha szeretsz Linuxon játszani, akkor valószínű, hogy olyan alkalmazásokat és segédprogramokat használtál, mint a Wine, a Lutris és az OBS Studio a játé...
HD Remastered Games for Linux, amelyeknek soha nem volt korábban Linux kiadásuk
Számos játékfejlesztő és kiadó a régi játékok HD remasterjével áll elő a franchise élettartamának meghosszabbítása érdekében. Kérjük, hogy a rajongók ...