Btrfs fájlrendszer
Találtam egy jelentést egy szemináriumon az új fájlrendszer még fejlesztés és tesztelés alatt, de ez már lehet látni, hogy ez egy érdekes fejlesztés.
Arról van szó, egy új generációs fájlrendszer. Hagyományosan FS jelentős szerepet játszott a Unix-alapú rendszerek. És sok tekintetben FS tulajdonságok határozzák meg a tulajdonságait egy adott végrehajtása Unix.
A fájlrendszer fájlok tárolására és hozzáférést biztosít számukra. Ugyanakkor ismertette nagyszámú követelmények gyakran kölcsönösen kizárják egymást: támogatja fájlok bármilyen méretű, nagy teljesítményű I / O teljesítményt, skálázhatóságot, stb Régóta nyilvánvaló, hogy sem a fájlrendszer nem lehet egyformán hatásos minden esetben. Ezért minden modern Unix implementáció támogatja több fájlrendszer típusok egyszerre. Van egy mondás: „Linux - Unix ma”, és a Linux kernel támogatja a több mint 50 fájlrendszert (!).
Közgyűlés az új generációs
Itt van egy töredéke egy interjú Chris Mason - a fő fejlesztője Btrfs:
Btrfs Ismertesse a saját szavaival.
Van Btrfs örököse más FS?
Igen, mindegyik :) Van egy csomó ötletet ReiserFS, késleltetett allokáció és egyéb ötletek XFS. ZFS népszerűsítette az elképzelés, hogy számítása ellenőrző adat lehet gyors, és hogy a logikai kötetkezelés jobb lehet. térfogat kezelése végrehajtására jött az ötlet AdvFS.
Főbb jellemzői Btrfs
Tehát a fő jellegzetessége az lesz Btrfs:
Támogassa írható pillanatképek (analóg ZFS Clone). Ezen felül, akkor képesek pillanatképeket pillanatfelvételek.
Support subtomov --- több Nevezett gyökerek egyetlen fájlrendszer egy közös tárhelyként.
Támogatja az összetett, több konfigurációk --- a RAID 0, 1, 5, 6 és 10, valamint a végrehajtását a különböző politikák szintjén redundancia PS tárgyak --- hogy lehet rendelni, például tükrözés bármely könyvtárat vagy fájlt.
Monitoring adatok integritásának blokkok és metaadatok segítségével ellenőrző összegeket.
Tükrözés metaadatok még egytárcsás konfiguráció.
Ami a FS eszközöknél a következő főbb pontokat, amelyek lehetővé teszik az összes ezeket a funkciókat kombinálva egy nagyon jó teljesítményt:
B-fák, bárhol is van értelme
Lock politika - magas részletesség zárak.
B-fák és adta a nevét a fájlrendszer (B-tree FS). B-fák - ez silnovetvyaschiesya fák (B-fák valamilyen okból, gyakran összekeverik a bináris fák, valószínűleg azért, mert a betűk B, de ez azt jelenti, a blokk, minden csomópont tipikusan néhány ezer leszármazottai a B-fa), minden egyes csomópontja, amely viszont tartalmaz egy nagy rekordok száma (ami általában rendezett bináris fa egyensúlyban különösen használt Btrfs piros-fekete fák). Olvasása és írása csomópont B-fa egészét, ami miatt jelentős teljesítménynövekedést.
Zárak - ez a lényege, lehetővé teszi, hogy elkerüljék a konfliktusokat egyidejű adathozzáférési több szálat. Takarmány, aki azt akarja, hogy a változás bizonyos adatok szerkezetét először ellenőrzi, hogy le van zárva a másik szál; ha zárva - várja meg, amíg a zár kiold, különben ő megragadja a zárat, és kibocsátja a felvétel után. Mikor jön a hozzáférést a komplex adatstruktúrák, van egy kérdés blokkoló politikát. Muszáj, hogy rögzítse az egész struktúra egészét, vagy egyes elemek külön-külön, vagy elemei az egyes csoportok? Minél nagyobb a zár egység, annál kevesebb az eltömődés és alacsonyabb költségeket. A kisebb - még hatékonyabban fogyasztanak CPU idő óta szálak kell várni sokkal kevesebb. Btrfs célja, hogy megakadályozza a lehető legkisebb elemei a struktúrák (de nem túl kicsi).
Egy másik elem, amely kapcsolatban áll a zárak, kifejezetten a kernel. A mag két típusú zárak: spin-lock és mutexek. Ha a spin-lock vár menet „fonás” végtelen ciklusba. Ha mutexek - az áramlás előlegek zárt állapotban TASK_INTERRUPTIBLE és „felébreszti” az időzítő automatikusan, amikor elengedi a zárat. Magától értetődik, hogy mutexes hatékonyabbak, mivel ne pazarold CPU időt üres ciklus. Azonban mutexes lehet használni keretében megszakítás kezelő, mint Ebben az állapotban az ütemező nem működik. Jelentős része a funkciók a fájlrendszer is lehet nevezni, mint a megszakítás kezelő, és a keretében a problémát. Ezért sok funkciót kell használni a kevésbé hatékony spinlock.
Btrfs használ egy új típusú zár, amely működőképes mindkét üzemmódban (és lehet váltani az egyes módok között). Így egy és ugyanazt a kódot használják összefüggésben mutex tárgyak és spinlocks megszakítási üzemmódban.
Másik jellemzője a Btrfs: minden FS szerkezet lehet tetszőleges helyre a részben azok kapcsolódnak mutatók. Ez a garancia és néhány egyéb FS, de Btrfs fejlesztők már talált egy új hasznát: átalakítás szakaszai a másik FS (jelenleg megvalósított átalakítás ext2 / 3 átalakító ext4 fejleszteni, hogy elméletileg lehetséges, hogy hozzon létre átalakítók más FS). Amikor konvertáló Btrfs létrehozott struktúra a csiszolt szakasz jelölt kezdeti PS szabad. A Btrfs létrehoz egy speciális fájl, amely magában foglalja a blokk, a foglalkoztatási szerkezet az eredeti fájlrendszer. Így ezek a blokkok vannak megjelölve elfoglalt. Ezen túlmenően, ez a fájl egy kép az eredeti fájl rendszer, amely képes csatlakoztatni (mount -o loop). Ez lehetővé teszi, hogy állítsa vissza az előző fájlrendszer. Szabadíthat fel lemezterületet, egyszerűen törölje a fájlt a kép az eredeti PC (rollback, illetve fognak tűnni).
Az egyik jellemzője a modern FS nemrégiben okozott kisebb botrányt. Az a tény, hogy a magok a unix (és linux) fájlrendszer kód nem foglalkozik közvetlenül az adatokat a lemezre írhat. Az adatok beírása a memóriába oldalakat és ezek az oldalak vannak megjelölve „piszkos”, majd visszaállítja azokat külön kernel szál a lemezen (pdflush). Így, amikor a modern FS (a hírek volt szó ext4, de ugyanolyan tulajdonságokkal rendelkezik, és az XFS és Btrfs, és még sokan mások), az intervallum között az írás az adatokat az oldal cache és a lemezre írva elérheti a 150 másodperc (több mint két perc). Unix hagyományosan írt jó felszerelés. Különösen azt feltételezzük, hogy bármely rendszer, ahonnan akar stabilitást, UPS használni. Ezért, a legtöbb a felvétel késedelem nem hátrány, hanem előny: ez lehetővé teszi, hogy befogadni több adatot sikeresen és ne fragmentáció. És amikor egy kevésbé megbízható berendezések csak meg kell állítanod a kernel sysctl jelenti, hogy pdflush ravaszt tovább.
Btrfs vs Ext4
Egy másik, nemrégiben közzétett FS Linux - ez Ext4. Figyelembe veszi a számos vívmánya a modern fájlrendszer (fokok késleltetett allokáció és így tovább), de ez alapján az Ext3 kódot. Ez egy fejlettebb fájlrendszer, mint az azonos ext3, tesztekhez gyakran jobb eredményt ad, és lehet javallott sok a gépeket. De ugyanakkor ez nem nevezhető új generációs FS: építészet megmaradt ext3.
Btrfs most a kísérleti szakaszban, a fejlesztők arra figyelmeztetnek, hogy most már van értelme használni a tesztelés és kísérletezés egyedül. Még lemez formátum még mindig nem teljesen ustakanilsya. De ez természetesen FS új generációs architektúra, hasonlít egy ZFS nem, de nem a régi FS linux-kernel.
Btrfs vs ZFS
Btrfs leginkább hasonlít a vállalat a Sun ZFS Btrfs nem támogatja meghajtókat a csillagászati kötet, mint a ZFS, de ez nem valószínű a közeljövőben lesz a gyakorlati értéke. De Btrfs van néhány funkciók nincsenek jelen a ZFS: pillanatfelvételek pillanatfelvételek és a nagy sebességű meghajtók prioritások optimalizálása SSD-meghajtók. De ZFS már használják a termelési-szerverek használata btrfs lesz a tömeg, talán egy-két év alatt (ha feltételezzük, hogy az eloszlás a btrfs is kialakulhat, mint a ZFS).
Btrfs teljesítménymérés most kicsit tájékoztató jellegűek, hiszen Optimization javában zajlik. De most megkerüli ZFS Btrfs teljesítménye egyes műveleteket.
A jelenlegi fejlettségi
Főbb jellemzői Btrfs már végrehajtották. Disk Format közel van a stabilizáció, ha ő fog változni, ez nem sok. Éppen befejezte a végrehajtását kezelése helyzetének helyhiány a lemezen (a probléma az, hogy a tényleges írás a lemezre előfordulhat lezárása után a program fájlt, és nem volt teljesen világos, hogyan lehet átvinni a program rekord hiba). Javában megtalálni és kijavítani a hibákat más. A fejlesztés a speciális ioctl-API támogatása tranzakciós I / O (több művelet kombinálhatók tranzakció hajtható végre meg vagy nem tesznek eleget, többek között segít minimalizálni az ellenőrzések számának közötti műveletek egyetlen tranzakció). Az azonnali feladat - végrehajtás törölni pillanatfelvételek, az első változata a kód már megjelent a hírlevélre.