Btrfs

Btrfs
Kehittäjä Oracle Corporation (alun perin)
Englantilainen nimi Btrfs
Johdanto Vakaa: Linux-ydin 3.10, 29. heinäkuuta 2013
Epävakaa: Linux-ydin 2.6.29, maaliskuu 2009
( Linux )
Rakenne
Hakemistojen sisältö Puu B
Tiedostojen kohdentaminen laajuus
Rajoitukset
Tiedoston enimmäiskoko 16 Eio
Tiedostojen enimmäismäärä 2 64
Tiedostonimen enimmäiskoko 255 tavua
Suurin äänenvoimakkuus 16 Eio
Tiedostonimissä sallitut merkit Kaikki paitsi NUL ('\ 0') ja '/'
ominaisuudet
Tallennetut päivämäärät muokkaus (mtime), attribuuttien muokkaus (ctime), access (atime)
Määritteet POSIX , laajennetut määritteet
Käyttöoikeudet POSIX, ACL
Integroitu pakkaus Kyllä ( zlib , LZO ja (ytimestä 4.14 lähtien) Zstd )
Integroitu salaus Suunniteltu

Btrfs ( B-tree tiedostojärjestelmä , lausutaan ButterFS) on tiedostojärjestelmä on 2010-luvun perusteella Copy-On-Write (copy-on-write ranskaksi) alla GNU GPL , yhdessä kehittämä Oracle , Red Hat , Fujitsu , Intel , SUSE , STRATO AG  (sisään) ja muut. Vuonna 2012, jolloin sitä ei pidetty vielä melko vakaana, yhteisö tarjosi intensiivistä kehitystyötä ja testausta, jotta Btrfsistä tulisi jatko-osien ext4 ja ext3 seuraaja . OpenSuse 13.2 tarjoaa oletusarvoiset Btrf-tiedostot juuriosioon alusta alkaen turvallisuuden varmistamiseksi ja jättää valinnan ext4: n ja XFS: n (nopeammin) välillä / home.

Btrfs tarjoaa seuraavat ominaisuudet, joita ei löydy muista tiedostojärjestelmistä:

Nämä ominaisuudet ovat tärkeitä Linux-järjestelmille, sekä palvelimille että asiakastyöasemille, koska tallennuskoot ja kokoonpanot pyrkivät kasvamaan ja monimutkaisemmiksi.

Erityisesti tilannevedostekniikka varmistaa, että voit tehdä yhtenäisen varmuuskopion järjestelmätiedostoista sellaisina kuin ne olivat tarkan tilannekuvan aikana, vaikka varmuuskopiointi kestää useita tunteja ja monia tiedostoja vaihdettaisiin.

Historia

Btrfs tietorakenne (copy-on-write kanssa Tree B ) on ehdottanut tutkijana IBM , Ohad Rodeh pidetyssä konferenssissa USENIX vuonna 2007. Chris Mason, entinen insinööri SUSE , Oracle liittyi 2007 lopussa ja alkaa työ Btrf: n suunnittelu B Tree -tietorakenteen perusteella . Mahdollisuus varmuuskopioida palvelimia keskeyttämättä niiden toimintaa on itse asiassa erittäin kysytty.

Red Hat on poistanut Btrfs-tuen RHEL- version 7.4 jälkeen , joka julkaistiin 1.8.2017. CentOS 8.0 Linux -jakelussa ei enää ole arkistoissaan Btrfs-tiedostojärjestelmiä tukevia paketteja.

ominaisuudet

Laajuus

Btrfs, kuten Ext4 , perustuu laajuuden käsitteeseen . Tämä on vierekkäinen alue (jopa useita satoja Mt, toisin kuin muutaman kt: n vanhemmat klusterit ), joka on varattu joka kerta, kun tiedosto tallennetaan kiintolevylle . Siten, kun kirjoitat tiedoston loppuun (liite) tai kirjoitat sen kokonaan uudelleen, uudet tiedot menevät usein suoraan nykyiseen laajuuteen kiintolevyn toiselle alueelle. Tämä laajuuden käyttö vähentää pirstoutumista ja lisää siksi suorituskykyä tavallisella kiintolevyllä (mutta ei tuota mitään SSD- vahvistusta ). Tällä kertaa tehokkuus johtuu levytilan suuremman käytön kustannuksista, jonka kustannuksia on pienennetty useita kertaluokkia. Btrfs tallentaa myös hyvin pienten tiedostojen tiedot suoraan hakemistotiedostoihin , ei erillisessä määrin.

Alamäärät ja tilannekuvat

Btrfs ylläpitää käsitystä "alatilavuudet" erillisenä hakemistojen ja tiedostojen puuna (mukaan lukien juuri ), mikä sallii useiden puiden samanaikaisen tekemisen, mikä tekee niistä riippumattomampia pääjärjestelmästä. Tiedot on siten erotettu paremmin ja osamäärillä voidaan asettaa erilaisia ​​kiintiöitä. Suurin etu on tilannevedosten (kutsutaan myös tilannevedoksiksi ) mahdollisuus. Tilannekuvan avulla voit "ottaa tilannekuvan" tiedostojärjestelmän tiettynä ajankohtana ja tallentaa sen yhtenäiseen tilaan samalla kun jatkat työskentelyä. Tämä tilannekuva on osa, joka on muokattavissa tosiasiallisesti. Tämä kirjoitusmuutos, joka on mahdollista varmuuskopioinnin aikana (juuri edellisestä tilasta), mahdollistaa verkkotietokantojen korkean saatavuuden.

Kopioi kirjoitettavaksi

Btrfs käyttää näitä osa-aineistoja ja tilannekuvia hyödyntämällä klassista " copy-on-write  " -tekniikkaa  . Jos tietoja on tarkoitus kirjoittaa muistilohkoon, muistilohko kopioidaan toiseen paikkaan tiedostojärjestelmässä, jotta alkuperäistä ei muuteta, ja uudet tiedot tallennetaan myöhemmin kopioon. Sitten lohkoon osoittavia metatietoja muokataan automaattisesti uusien tietojen huomioon ottamiseksi. Tämä transaktiomekanismi eroaa ext3: n lokitiedostosta , joka muistaa juuri ennen kirjoittamista olemassa olleen ja pitää sitä, kunnes vahvistetaan, että kirjoitus sujui hyvin. Järjestelmän tilannevedoksen ottaminen mahdollistaisi ongelmatilanteessa palata tilannekuvaan välittömästi ilman, että joudutaan toistamaan käynnissä olevaa tiedostoa vian yhteydessä. Suorituskykyongelmien lisäksi (Btrfs: llä ei ole XFS: n suorituskykyä) tämä avaa kysymyksiä: milloin otetaan tilannekuva mistä tietomääristä? Valokuvausmaailmasta lainattu nimi "tilannekuva" on harhaanjohtava, koska jos jäädytetty tila on todellakin hetkellinen, toimenpide kestää yleensä muutaman kymmenen millisekunnin, vaikka se ei liitykin kymmeniin minuutteihin. varmuuskopio. Tilannekuvien käyttö tähän tarkoitukseen ei ole kehittäjien esittämä asia.

Toisaalta on välttämätöntä synkronoinnin , arkistoinnin ja varmuuskopioinnin kannalta , jotta varmistetaan, että koko valittu tiedostojärjestelmä synkronoidaan, arkistoidaan tai varmuuskopioidaan tilaan, joka on sopusoinnussa toiminnan alkaessa, vaikka toiminto aloitettiin. 'Jatkamme sitä ja varmuuskopiointi kestää useita tunteja. Tämä mahdollisuus sallii jatkuvan varmuuskopioinnin edellyttäen, että IT-tiimi toteuttaa sen.

Datan suojelu

Btrfs on oma tietosuoja tekniikoita: käyttö takaisin viittausten - eli tietää, mistä tietolohko, jonka metatiedot viittaa lohko) mahdollistaa tunnistaa vioittuminen. Jos tiedosto väittää kuuluvan lohkokokonaisuuteen ja nämä lohkot väittävät kuuluvan toiseen tiedostoon, se tarkoittaa, että järjestelmän yhtenäisyyttä on muutettu. Btrfs tarkistaa myös kaikki tallennetut tiedot ja metatiedot voidakseen havaita kaikenlaista kuumaa korruptiota, korjata osan niistä ja tarjota siten paremman luotettavuuden.

Kuuman koon muuttaminen

Se sallii tiedostojärjestelmän koon pienen koon muuttamisen (mukaan lukien sen kutistamisen) samalla kun säilytetään erinomainen metadatan suojaus, joka kopioidaan monissa paikoissa turvallisuuden vuoksi. Toiminta on yksinkertaista: btrfs filesystem resize +2g /mntlisää 2  GiB tiedostojärjestelmään. Tätä toimintoa ei ole tarkoitettu tarpeettomaksi Linuxin loogisen volyyminhallinnan kanssa , mutta se vaatii teknisesti täydellistä.

Erittäin nopea tiedostojärjestelmän tarkistus

Tiedostojärjestelmän tarkistus btrfsck- ohjelman kautta on virheiden suvaitsevaa ja mainostetaan suunnittelun mukaan erittäin nopeasti. Käyttö B puiden tekee mahdolliseksi tutkia rakenteen levyn nopeudella olennaisesti rajoittaa nopeutta lukemisen levyn. Kääntöpuoli on suuri muistinjälki, koska btrfsck käyttää kolme kertaa enemmän muistia kuin e2fsck .

Kerrokset

Btrfs kunnioittaa Linuxin toimivien "kerrosten" hierarkiaa. Vaikka se tarjoaa esimerkiksi lisätoimintoja, se yrittää niin paljon kuin mahdollista kirjoittaa koko LVM: n vakiona tarjoaman volyyminhallintajärjestelmän uudelleen .

Looginen äänenvoimakkuuden hallinta

Btrfs sallii loogisten volyymien hallinnan , toisin sanoen useiden tallennuslaitteiden yhdistämisen.

RAID

Btrfs mahdollistaa useiden RAID- toimintojen toteuttamisen .

Tietojen pakkaus

Btrfs sallii tallennetun tiedon pakkaamisen . Se voidaan aktivoida aikaan muokkausta, kun ne valitsevat pakkausmenetelmää keskuudessa Zstd , Zlib ja LZO .

Muita pakkausalgoritmeja on harkittu tai harkitaan:

Levyn käyttöasteeseen ja korkeaan käytettävyysvajeeseen liittyvät kustannukset

Tietojen turvallisuuden ja johdonmukaisuuden varmistaminen aiheuttaa varmasti kustannuksia, joita on kuitenkin verrattava seuraaviin:

Tämä muistetaan:

Btrfs: n sisäinen toiminta tekee käytännössä mahdottomaksi määrittää vapaan tilan määrän: " df  " -komento  vastaa vain näennäistilaa, ei todellista tilaa, joka voi olla paljon suurempi. Aikaisemmin tämäntyyppistä ongelmaa kohdattiin vain Linuxissa, jossa oli ontot (tai " reikäiset ") tiedostot .

Huomautuksia ja viitteitä

  1. (en) btrfs.wiki.kernel.org
  2. (in) Chunkfs: Fast tiedostojärjestelmän tarkistus ja korjaus , Valerie Henson Accessed5. helmikuuta 2008. Kohtaus tapahtuu klo 18.49. "Sitä kutsutaan Butter FS: ksi tai B-tree FS: ksi, mutta kaikki hienot lapset sanovat Butter FS: n"
  3. CRFS ja POHMELFS [LWN.net]
  4. [1]
  5. https://btrfs.wiki.kernel.org/index.php/FAQ#Is_btrfs_stable.3F
  6. http://searchdatacenter.techtarget.com/news/2240185580/Red-Hat-discloses-RHEL-roadmap
  7. http://thread.gmane.org/gmane.linux.file-systems/26246/focus=26492
  8. https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices
  9. http://www.linuxfoundation.org/news-media/blogs/browse/2009/06/conversation-chris-mason-btrfs-next-generation-file-system-linux
  10. https://btrfs.wiki.kernel.org/index.php/Btrfs_design
  11. http://lwn.net/Articles/342892/
  12. tunnettu sitten työstään ReiserFS- tiedostojärjestelmässä
  13. https://lkml.org/lkml/2007/6/12/242
  14. (in) Red Hat, "  Deprecated Functionality  " (katsottu 3. lokakuuta 2019 )
  15. 1 300 000 kertoimella 29 vuodessa Seagate- yhtiön lausunnon mukaan
  16. (en) Kuinka aloin Btrfs-tiedostojärjestelmällä Oracle Linuxille
  17. (in) "  Btrfs poimii Snappy Puristus Support  " päälle Phoronix ,13. tammikuuta 2012(käytetty 30. joulukuuta 2015 )
  18. "  Compression - btrfs Wiki  " osoitteessa btrfs.wiki.kernel.org (käytetty 4. tammikuuta 2017 )
  19. http://ns1758.ca/winch/cost-hard-drives-komorowski.jpg

Liitteet

Aiheeseen liittyvät artikkelit

Ulkoinen linkki