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.
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.
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.
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.
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.
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.
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ä.
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 .
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 .
Btrfs sallii loogisten volyymien hallinnan , toisin sanoen useiden tallennuslaitteiden yhdistämisen.
Btrfs mahdollistaa useiden RAID- toimintojen toteuttamisen .
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:
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 .