Btrfs

Johdanto Btrfs-tiedostojärjestelmään

Johdanto Btrfs-tiedostojärjestelmään
Btrfs (B-Tree Filesystem) on moderni copy-on-write (CoW) -tiedostojärjestelmä Linuxille. Btrfs pyrkii toteuttamaan monia edistyneitä tiedostojärjestelmäominaisuuksia keskittyen samalla vikasietoon, korjaamiseen ja helppoon hallintaan. Btrfs-tiedostojärjestelmä on suunniteltu tukemaan korkean suorituskyvyn ja suurten tallennuspalvelinten vaatimuksia. Se soveltuu petatavun mittakaavan palvelinkeskuksiin sekä matkapuhelimiin.Tässä artikkelissa aion keskustella Btrfs-tiedostojärjestelmästä ja sen ominaisuuksista. Joten, aloitetaan.

Kopioi kirjoitettaessa - CoW-tiedostojärjestelmä:

Btrfs on copy-on-write (CoW) -tiedostojärjestelmä. Kun yrität muokata tiedostoja tiedostojärjestelmässä CoW-tiedostojärjestelmässä, tiedostojärjestelmä kopioi tiedot, muokkaa tietoja ja kirjoittaa sitten muokatut tiedot takaisin toiseen tiedostojärjestelmän vapaaseen sijaintiin.

Copy-on-Write (CoW) -tiedostojärjestelmän tärkein etu on, että datan laajuus, jota se haluaa muokata, kopioidaan toiseen sijaintiin, muokataan ja tallennetaan eri määrään tiedostojärjestelmää. Alkuperäisten tietojen laajuutta ei muuteta. Joten btrfs-tiedostojärjestelmä voi poistaa tietojen vioittumisen tai osittaisen päivityksen riskin sähkökatkoksen yhteydessä tietojen muokkaamisen aikana, koska alkuperäiset tiedot pidetään muuttumattomina.

Copy-on-Write (CoW) -tiedostojärjestelmän tärkein haittapuoli on, että isot tiedostot pyrkivät pirstoutumaan muunnellessaan. Eheytys vaaditaan siis silloin tällöin. Onneksi btrfs-tiedostojärjestelmä tukee eheytystä verkossa. Joten sinun ei tarvitse irrottaa tiedostojärjestelmää eheyttääksesi btrfs-tiedostojärjestelmän.

Btrfs-tiedostojärjestelmän pääominaisuudet:

Btrfs-tiedostojärjestelmän pääominaisuudet ovat:

i) Tiedostojen laaja tallennus: Laajuuspohjaisessa tiedostojärjestelmässä tallennusyksikköä kutsutaan laajuudeksi. Laajuus on vierekkäinen tallennustila, joka on varattu tiedostolle. Yksi tiedosto vaatii yhden laajuuden riippumatta siitä, kuinka pieni tiedosto on. Suuremmille tiedostoille (tiedostokoko suurempi kuin laajuuskoko) tarvitaan useita laajuuksia. Suurempien tiedostojen kohdalla metatietoja käytetään seuraamaan tiedoston käyttämää laajuutta. Btrfs-tiedostojärjestelmässä metatiedot ovat kooltaan huomattavasti pienempiä. Pienemmät metatiedot parantavat tallennustehokkuutta ja tiedostojärjestelmän suorituskykyä.

ii) Valtava tiedostokoko: Btrfs-tiedostojärjestelmässä yksi tiedosto voi olla noin 264 tavua tai 16 EiB (eksatavua) kokoa. Riippumatta siitä, kuinka suureksi tiedostosi tulee, Btrfs voi tukea sitä.

iii) Pienikokoisten tiedostojen tilaa säästävä pakkaus: Normaalisti, riippumatta siitä kuinka pieni tiedosto on, tiedoston tallentamiseen tarvitaan yksi lohko tai yksi laajuus. Tämä tuhlaa paljon levytilaa. Tämän ongelman ratkaisemiseksi Btrfs-tiedostojärjestelmä upottaa pienemmät tiedostot metatietoihin pienempien tiedostojen tehokkaaseen tallentamiseen.

iv) Avaruustehokkaat indeksoidut hakemistot: Btrfs-tiedostojärjestelmän hakemistot indeksoidaan kahdella eri tavalla. Tiedostonimen hakemiseen käytetään avainpohjaista indeksointia. Tietojen vertailuun käytetään inode-pohjaista avaimen indeksointia. Kaksitasoinen indeksointi parantaa hakemiston / tiedoston hakutehoa ja vähentää hakemistojen tallennustarpeita.

v) Dynaaminen inodin allokointi: Tarvitset yhden inodin viittaamaan 1 tiedostoon. Monet tiedostojärjestelmät (i.e., Ext4) on kiinteä määrä inodeja. Joten jos luot liian monta pientä tiedostoa, levylläsi saattaa olla paljon tilaa, mutta et voi luoda uusia tiedostoja. Et myöskään voi lisätä inodien enimmäismäärää, kun tiedostojärjestelmä on luotu.

Btrfs ratkaisee tämän ongelman varaamalla inodit dynaamisesti tarpeen mukaan. Joten voit luoda niin monta tiedostoa kuin haluat, kunhan sinulla on vapaata levytilaa.

vi) Kirjoitettavat tilannekuvat ja vain luku -tilannekuvat: Btrfs-tiedostojärjestelmä tukee tilannekuvia. Voit ottaa tilannekuvan nykyisestä tiedostojärjestelmästä, jonka avulla voit palauttaa tietosi, jos olet vahingossa poistanut joitain tiedostoja tai vioittanut joitain tietoja.

Oletuksena btrfs-tilannekuvat ovat vain luku -tilassa. Kun olet ottanut vain luku -tilannekuvan, et voi muuttaa tiedostoja / hakemistoja kyseisessä tilannekuvassa. Joka tapauksessa, jos haluat muuttaa tiedostoja / hakemistoja sen jälkeen, kun olet ottanut tilannekuvan olemassa olevasta Btrfs-tiedostojärjestelmästä, voit muuttaa vain luku -tilan tilannekuvan kirjoitettavaksi tilannekuvaksi ja muokata kaikkia kyseisen tilannekuvan tiedostoja / hakemistoja.

vii) Alatilavuudet: Btrfs-tiedostojärjestelmässä voi olla monia alatilavuuksia. Alamäärä on btrfs-tiedostojärjestelmän olemassa olevan tiedostojärjestelmän juuripuun (pää) nimetty binääripuu (B-puu) (tai sisäinen / looginen tiedostojärjestelmän juuri). Alatilavuus ei ole oma estolaite. Mutta voit liittää Btrfs-osamäärät yksitellen. Alatilavuudet voidaan ajatella nimitiloina.

viii) Määrätietoinen kiintiötuki: Voit jakaa kiintiöt myös alamääriin. Kun kiintiö on ylitetty, et voi lisätä uusia tietoja alamäärään. Et tarvitse erillisiä ohjelmia Btrfs-alamääräisten kiintiöiden luomiseen.

ix) Tietojen ja metatietojen tarkistussummat: Tietojen vioittumisen välttämiseksi Btrfs käyttää oletusarvoisesti crc32c-tarkistussumman algoritmeja tiedoille ja tiedostojärjestelmän metatiedoille. Tarkistussummat tallennetaan tiedostojärjestelmään tarkistamaan automaattisesti tiedostojärjestelmän virheet ja tietojen vioittuminen taustalla.

Btrfs tukee monia muita tarkistussumman algoritmeja: xxhash, sha256 ja blake2b.

x) Pakkaus: Btrfs-tiedostojärjestelmä tukee läpinäkyvää tiedostojen pakkaamista. Btrfs-tiedostojärjestelmän tiedostojen pakkaus ja purku tehdään taustalla automaattisesti.

Btrfs tukee 3 pakkausalgoritmia: ZLIB, LZO ja ZSTD.

ZLIB on btrfs-tiedostojärjestelmän oletuspakkausmenetelmä.

xi) Integroitu usean laitteen tuki: Btrfs-tiedostojärjestelmissä on sisäänrakennettu LVM-tuki. Voit lisätä useita tallennuslaitteita yhteen btrfs-tiedostojärjestelmään. Voit myös määrittää RAID-taulukot btrfs-tiedostojärjestelmässä tarvitsematta ylimääräisiä ohjelmistoja.

Btrfs-tiedostojärjestelmä tukee tietojen raitoja, tietojen peilaamista, tietojen raitoja + peilaus sekä yhden ja kahden pariteetin toteutuksia.

Tietojen raita: Jos olet lisännyt useita tallennuslaitteita samaan btrfs-tiedostojärjestelmään, btrfs voi tallentaa saman tiedoston eri fyysisiin laitteisiin / osioihin. Tätä kutsutaan tietojen strippaukseksi. Tietojen strippaus parantaa tiedostojärjestelmän luku- / kirjoitusominaisuuksia. RAID-0 käyttää tiedonsiirtotoimintoa laajasti.

Tietojen peilaus: Jos olet lisännyt useita tallennuslaitteita samaan btrfs-tiedostojärjestelmään, kaikki yhdelle tallennuslaitteelle kirjoitetut tiedot kirjoitetaan kaikkiin muihin tallennuslaitteisiin. Tätä kutsutaan tietojen peilaus. RAID-1 käyttää laajasti tietojen peilausominaisuutta.

Tietojen raita + yksi pariteetti: RAID-5 käyttää datan raitaa ja yksittäistä hajautettua pariteettia. Jos olet lisännyt useita tallennuslaitteita btrfs-tiedostojärjestelmään, RAID-5 poistaa useiden tallennuslaitteiden tiedot ja laskee ja tallentaa pariteettilohkot tallennuslaitteille. RAID-5 voi kestää yhden aseman vian.

Tietojen raita + kaksoispariteetti: RAID-6 käyttää datan raitaa ja kaksinkertaista jaettua pariteettia. Jos olet lisännyt useita tallennuslaitteita btrfs-tiedostojärjestelmään, RAID-6 poistaa useiden tallennuslaitteiden tiedot ja laskee ja tallentaa kaksoispariteettilohkot tallennuslaitteille. RAID-6 voi kestää kaksi aseman vikaa. Muuten se on sama kuin RAID-5 (datan raita + yksi pariteetti).

Tietojen raita + peilaus: RAID-10 käyttää tietojen strippausta ja peilaamista samanaikaisesti. RAID-10 vaatii parillisen määrän samankokoisia tallennuslaitteita lisätään yhteen btrfs-tiedostojärjestelmään. RAID-10 btrfs-tiedostojärjestelmään voidaan lisätä vähintään 4 tallennuslaitetta. Puolet tallennuslaitteesta käytetään tietojen strippaamiseen ja toinen puoli tallennuslaitteiden ensimmäisen puoliskon tietojen peilaamiseen (jos tiedot on raidoitettu).

xii) SSD-tietoisuus ja optimoinnit: Btrfs-tiedostojärjestelmä on SSD-tietoinen ja siinä on joitain SSD-optimointiominaisuuksia. Btrfs-tiedostojärjestelmässä on myös TRIM / Discard -tuki SSD-tallennuslaitteille.

TRIM-ominaisuus voi tunnistaa ja merkitä datamäärät, joita ei enää käytetä. Kun laajennukset on merkitty, btrfs-tiedostojärjestelmä voi pyyhkiä ne automaattisesti, jotta muut tiedostot voivat käyttää näitä datan laajuuksia.

Hylkää-ominaisuus poistaa kaikki SSD-aseman datalaajennukset. Jos haluat myydä SSD-aseman, tämä ominaisuus voi olla hyödyllinen.

xiii) Tehokas varmuuskopiointi: Btrfs tukee asteittaista varmuuskopiointia. Kun varmuuskopioit btrfs-tiedostojärjestelmän ensimmäisen kerran, se ottaa tilannekuvan nykyisestä tiedostojärjestelmästä. Sitten seuraavia varmuuskopioita verrataan ensimmäiseen tilannekuvaan, ja vain muutokset tallennetaan levylle. Joten kaikki myöhemmät varmuuskopiot vievät vähemmän levytilaa ja varmuuskopiot ovat nopeampi.

xiv) Tausta kuorinta: Se on Btrfs-tiedostojärjestelmä, jota käytetään virheiden etsimiseen ja korjaamiseen tiedostoissa, joihin on tallennettu redundantteja kopioita (useita kopioita) Btrfs-tiedostojärjestelmään.

xv) Online-tiedostojärjestelmän eheytys: Olen aiemmin selittänyt, miten Btrfs Copy-on-Write-tiedostojärjestelmä toimii. Suuret tiedostot tallennetaan Btrfs-tiedostojärjestelmän useisiin osiin. Kun muokkaat suuria tiedostoja, muokattavat laajuudet kopioidaan tiedostojärjestelmän eri ilmaisiin osiin ja muokataan siellä. Joten muokkaamattomat datan laajuudet säilytetään myös siinä tapauksessa, että sitä tarvitaan tiedostojärjestelmän palauttamiseen. Tämä aiheuttaa pirstoutumista (suuren tiedoston tiedostomäärät eivät ole jatkuvia ja hajallaan koko tallennuslaitteen ympärillä) tiedostojärjestelmässä, kun suuria tiedostoja muokataan. Liian suuri pirstoutuminen vaikuttaa kielteisesti tiedostojärjestelmään (tekee tiedostojärjestelmän hitaammasta luku- / kirjoitusoperaatiosta).

Tämän ongelman ratkaisemiseksi btrfs-tiedostojärjestelmä tukee online-tiedostojärjestelmän eheytystä. Online-eheytyksen avulla sinun ei tarvitse irrottaa tiedostojärjestelmää eheyttääksesi tiedostojärjestelmää. Voit pitää tiedostojärjestelmän ajan tasalla ja silti eheyttää sen. Eheytys siirtää tiedostojen laajuudet tiedostojärjestelmän ympärille pitämään saman suuren tiedoston laajuudet mahdollisimman yhtenäisinä. Eheytys parantaa tiedostojärjestelmän suorituskykyä.

xvi) Offline-tiedostojärjestelmän tarkistus: Btrfs-tiedostojärjestelmässä on monia sisäänrakennettuja työkaluja, joiden avulla voit tarkistaa tiedostojärjestelmävirheet ja korjata ne. Voit myös korjata rikkoutuneen Btrfs-tiedostojärjestelmän (jota ei voi asentaa) näillä työkaluilla.

xvii) Olemassa olevien Ext2 / 3 / 4- ja ReiserFS-tiedostojärjestelmien muuntaminen paikan päällä: Btrfs-tiedostojärjestelmässä on sisäänrakennettu apuohjelma btrfs-convert, jonka avulla voit muuntaa olemassa olevan Ext2 / 3 / 4- ja ReiserFS-tiedostojärjestelmän Btrfs-tiedostojärjestelmäksi.

Btrfs-tiedostojärjestelmän muunnosohjelma lukee olemassa olevan Ext2 / 3/4 (tai ReiserFS) -tiedostojärjestelmän metatiedot, luo Btrfs-metatiedot ja tallentaa ne tiedostojärjestelmään. Tiedostojärjestelmä pitää sekä Btrf: t että Ext2 / 3/4 (tai ReiserFS) -metatiedot. Btrfs-tiedostojärjestelmä osoittaa samoihin tiedostolohkoihin, joita Ext2 / 3/4 (tai ReiserFS) -tiedostojärjestelmä-tiedostot käyttävät. Olemassa oleva tiedostojärjestelmä ja tietolohkot pidetään koskemattomina, koska Btrfs on kopioi kirjoitettavaksi (CoW) -tiedostojärjestelmä. Kun tiedostoa muokataan, Btrfs-tiedostojärjestelmä kopioi alkuperäiset tietolohkot uusiksi ilmaisiksi ja muokkaa niitä siellä.

xviii) Siemenlaitteet: Btrfs-tiedostojärjestelmä tukee siemenlaitteita. Voit luoda vain luku-tiedostojärjestelmän ja käyttää sitä mallina (siemenlaite) muiden Btrfs-tiedostojärjestelmien luomiseen. Tämän tekemisen etuna on, että vain muokatut tiedot kirjoitetaan uuteen tiedostojärjestelmään. Alkuperäiset tiedot (siemenlaitteista) säilytetään sellaisenaan. Tätä ominaisuutta voidaan käyttää säästämään paljon levytilaa ja tietojen redundanssia.

xix) Lähetä / vastaanota osamäärämuutokset: Btrfs-tiedostojärjestelmä voi lähettää / vastaanottaa osamäärien muutoksia. Btrfs-tiedostojärjestelmä voi lähettää alatilavuuden inkrementaaliset muutokset toiseen Btrfs-tiedostojärjestelmään (voi asua myös toisessa tietokoneessa), joka voi vastaanottaa osamäärien muutoksia. Tätä ominaisuutta käytetään lisäämään varmuuskopioita Btrfs-tiedostojärjestelmästä joko paikallisesti tai etänä. Tämä menetelmä on nopeampi ja tehokkaampi kuin rsync.

xx) Erä / taajuusalueen deduplikaatio: Btrfs-tiedostojärjestelmä tukee erän tai kaistan ulkopuolista deduplikaatiota. Kopiointi tapahtuu, kun tiedosto on kirjoitettu tiedostojärjestelmään. Btrfs-tiedostojärjestelmä etsii aktiivisesti koko tiedostojärjestelmää identtisten määrien varalta ja pitää vain yhden kopion kustakin laajuudesta (poistaa tarpeettomat / päällekkäiset laajuudet). Tätä tehtävää varten käytetään samaa copy-on-write (CoW) -periaatetta. Deduplikaatio säästää paljon levytilaa.

xxi) Vaihtotiedostotuki: Jos käytät Linux Kernel 5: tä.0 tai uudempi, voit luoda vaihtotiedostoja Btrfs-tiedostojärjestelmään.

Btrfs-tiedostojärjestelmässä on joitain rajoituksia Swapfile-tiedostolle:

- Vaihtotiedosto on allokoitava nimellä NoCoW (ei kopioi kirjoitettavaksi)

- Vaihtotiedostossa ei saa olla pakkaamista.

Btrfs-tiedostojärjestelmän vakaus:

Btrfs-tiimi kehittää aktiivisesti Btrfs-tiedostojärjestelmää. Suurin osa tiedostojärjestelmän ominaisuuksista on vakaa tämän kirjoituksen aikaan. Jotkin edistyneistä ominaisuuksista eivät ole vielä riittävän vakaita tuotantoympäristöä varten. Btrfs-tiimi työskentelee kovasti näiden vakauskysymysten ratkaisemiseksi.

Jos haluat käyttää Btrfs-tiedostojärjestelmää tuotantopalvelimellasi, tarkista virallinen Status - btrfs Wiki -sivu saadaksesi selville, ovatko tarvitsemasi tiedostojärjestelmän ominaisuudet riittävän vakaita sinulle vai eivät. Varmista myös, että suoritat joitain testejä ennen Btrfs-tiedostojärjestelmän viimeistä käyttöönottoa, ja muista pitää varmuuskopiot tärkeistä tiedoistasi. Varmuuskopion pitäminen on aina tärkeää tuotantoympäristöissä.

Ext4-tiedostojärjestelmän tuleva korvaaminen:

Btrfs-tiedostojärjestelmää kehitetään nopeasti. Btrfs-kehitystiimi välittää myös tiedostojärjestelmän vakaudesta. Joten he yrittävät parhaansa mukaan tehdä siitä mahdollisimman vakaan kehittäessään btrfs-tiedostojärjestelmää. Kun btrfs-tiedostojärjestelmä on täysin kehitetty ja kaikki ominaisuudet ovat riittävän vakaat, se voi korvata Ext4-tiedostojärjestelmän.

Viitteet:

[1] btrfs Wiki - https: // btrfs.wiki.ydin.org / index.php / Pääsivu
[2] BTRFS - Kernel Tree -dokumentaatio - https: // www.ydin.org / doc / html / latest / filesystems / btrfs.html
[3] BTRFS - Sanasto - https: // btrfs.wiki.ydin.org / index.php / Sanasto
[4] Btrfs-tiedostojärjestelmän ominaisuudet - https: // www.päiväkirja.com / features-of-the-btrfs-tiedostojärjestelmä /
[5] Tiedostojärjestelmien vertailu - https: // en.wikipedia.org / wiki /_tiedostojärjestelmien vertailu
[6] Btrfs-suunnittelu - btrfs Wiki - https: // btrfs.wiki.ydin.org / index.php / Btrfs_design
[7] ehkä inodien loppuminen voidaan ottaa "vakavammin"? - https: // lwn.net / Artikkelit / 724522 /
[8] Btrfs: n vain luku -tilannekuvien kirjoittaminen kirjoitettavaksi - https: // markandruth.yhteistyössä.uk / 2016/12/29 / making-a-btrfs-only-only-snapshot-writeable
[9] Tietojen poistaminen - https: // en.wikipedia.org / wiki / Data_striping
[10] UKK - btrfs wiki - https: // btrfs.wiki.ydin.org / index.php / UKK
[11] Tavalliset RAID-tasot - https: // en.wikipedia.org / wiki / Standard_RAID_levels
[12] Leikkaus (laskenta) - https: // en.wikipedia.org / wiki / Trim_ (laskenta)
[13] Puolijohdeasema - ArchWiki - https: // wiki.archlinux.org / index.php / Solid_state_drive # TRIM
[14] Btrfsck - btrfs Wiki - https: // btrfs.wiki.ydin.org / index.php / Btrfsck
[15] Muunnos Ext3 / 4: stä ja ReiserFS: stä - btrfs Wiki - https: // btrfs.wiki.ydin.org / index.php / Conversion_from_Ext3
[16] Inkrementaalinen varmuuskopiointi - btrfs Wiki - https: // btrfs.wiki.ydin.org / index.php / Incremental_Backup
[17] Deduplikaatio - btrfs Wiki - https: // btrfs.wiki.ydin.org / index.php / deduplikaatio
[18] Tila - btrfs Wiki - https: // btrfs.wiki.ydin.org / index.php / tila

Shadow of the Tomb Raider for Linux -opetusohjelma
Shadow of the Tomb Raider on kahdestoista lisäys Tomb Raider -sarjaan - toiminta-seikkailupelisarja, jonka on luonut Eidos Montreal. Kriitikot ja fani...
Kuinka parantaa FPS ää Linuxissa?
FPS tarkoittaa Kuvaa sekunnissa. FPS: n tehtävänä on mitata kehysnopeus videotoistoissa tai peliesityksissä. Yksinkertaisin sanoin sekunnissa näytettä...
Suosituimmat Oculus App Lab -pelit
Jos olet Oculus-kuulokemikrofonin omistaja, sinun täytyy olla tietoinen sivulatauksesta. Sivulataus on prosessi, jolla ei-kaupallista sisältöä asennet...