Btrfs

Sissejuhatus Btrfs-failisüsteemi

Sissejuhatus Btrfs-failisüsteemi
Btrfs (B-Tree Filesystem) on kaasaegne faili kirjutamise-kirjutamise (CoW) failisüsteem Linuxile. Btrfsi eesmärk on rakendada paljusid täiustatud failisüsteemi funktsioone, keskendudes samas riketaluvusele, parandamisele ja hõlpsale administreerimisele. Btrfs-failisüsteem on loodud suure jõudlusega ja suurte salvestusserverite nõuete toetamiseks. See sobib nii petabaidi skaala andmekeskuste kui ka mobiilsete nutitelefonide jaoks.Selles artiklis käsitlen Btrfs-failisüsteemi ja selle funktsioone. Alustame siis.

Kopeerimine kirjutamisel - CoW-failisüsteem:

Btrfs on koopiate kirjutamise (CoW) failisüsteem. Kui proovite CoW-failisüsteemis failisüsteemi andmeid muuta, kopeerib failisüsteem need andmed, muudab andmeid ja kirjutab seejärel muudetud andmed tagasi failisüsteemi muusse vabasse asukohta.

Copy-on-Write (CoW) -failisüsteemi peamine eelis on see, et muudetavate andmete ulatus kopeeritakse teise asukohta, muudetakse ja salvestatakse failisüsteemi erinevas ulatuses. Algandmete ulatust ei muudeta. Seega võib btrfs-failisüsteem välistada andmete muutmise või osalise värskendamise ohu elektrikatkestuse korral andmete muutmise ajal, kuna algandmeid hoitakse muutmata.

Copy-on-Write (CoW) failisüsteemi peamine puudus on see, et suured failid muutuvad muutmisel killustatuks. Niisiis, defragmentimine on vajalik üks kord samal ajal. Õnneks toetab btrfs-failisüsteem veebipõhist defragmentimist. Nii et btrfs-failisüsteemi defragmentimiseks ei pea te failisüsteemi lahti ühendama.

Btrfs-failisüsteemi peamised omadused:

Btrfs-failisüsteemi peamised omadused on:

i) ulatuslik failide salvestamine: Ulatusepõhises failisüsteemis nimetatakse salvestusüksust ulatuseks. Mõõt on faili jaoks reserveeritud külgnev salvestusruum. Üks fail nõuab ühte ulatust, olenemata sellest, kui väike fail on. Suuremate failide (faili suurus on suurem kui ulatus) failide jaoks on vaja mitut mahtu. Suuremate failide puhul kasutatakse metaandmeid, et jälgida faili kasutatavat ulatust. Btrfs-failisüsteemis on metaandmete suurus märkimisväärselt väiksem. Väiksemad metaandmed parandavad salvestamise efektiivsust ja failisüsteemi jõudlust.

ii) tohutu failisuuruse tugi: Btrfs-failisüsteemis võib üks fail olla umbes 264 baiti või 16 EiB (eksbiiti) suurust. Ükskõik kui suur teie fail on, saab Btrfs seda toetada.

iii) väikeste failide ruumisäästlik pakkimine: Tavaliselt, olenemata sellest, kui väike fail on, nõuab see faili salvestamiseks ühte plokki või ühte ulatust. See raiskab palju kettaruumi. Selle probleemi lahendamiseks sisestab Btrfs-failisüsteem metaandmetesse väiksemad failid, et väiksemaid faile tõhusalt salvestada.

iv) Ruumisäästlikud indekseeritud kataloogid: Btrfs-failisüsteemi katalooge indekseeritakse kahel erineval viisil. Failinimede otsimiseks kasutatakse võtmepõhist indekseerimist. Andmete viitamiseks kasutatakse inode-põhist võtmete indekseerimist. Kahetasandiline indekseerimine parandab kataloogi / faili otsimise jõudlust ja vähendab indeksite salvestusnõudeid.

v) dünaamiline inoodi jaotamine: 1 faili viitamiseks vajate ühte inoodi. Paljud failisüsteemid (st.e., Ext4) on kindel arv inode. Nii et kui loote liiga palju väikeseid faile, võib teie kettal olla palju ruumi, kuid te ei saa uusi faile luua. Samuti ei saa te pärast failisüsteemi loomist suurendada maksimaalset inoodide arvu.

Btrfs lahendab selle probleemi, jaotades inoodid dünaamiliselt vastavalt vajadusele. Niisiis, kui teil on vaba kettaruumi, saate luua nii palju faile kui soovite.

vi) Kirjutatavad hetktõmmised ja kirjutuskaitstud pildid: Btrfs-failisüsteem toetab hetktõmmiseid. Võite teha hetkepildi praegusest failisüsteemist, mida saate kasutada andmete taastamiseks, kui olete mõne faili kogemata eemaldanud või osa andmeid rikutud.

Vaikimisi on btrfs-i hetktõmmised kirjutuskaitstud. Kui olete ainult kirjutuspildi teinud, ei saa te selles hetkepildis ühtegi faili / kataloogi muuta. Igal juhul, kui soovite pärast olemasoleva Btrfs-failisüsteemi hetktõmmise tegemist mõnda faili / kataloogi muuta, saate muuta kirjutuskaitstud hetkepildi kirjutatavaks hetkepildiks ja muuta selles hetkepildis olevaid faile / katalooge.

vii) Alamahud: Btrfs-failisüsteemil võib olla palju alamahtusid. Alamaht on btrfs-failisüsteemi olemasoleva failisüsteemi juurpuu (peamine) nimeline binaarne puu (B-puu) (või sisemine / loogiline failisüsteemi juur). Alamaht pole omaette plokiseade. Kuid saate Btrfs-i alamahud monteerida eraldi. Alamahte võib mõelda kui nimeruume.

viii) Maht teadlik kvooditoetus: Saate eraldada kvoodid ka alamahtudele. Kui kvoot on ületatud, ei saa te alamahule uusi andmeid lisada. Btrfs-alamahukvootide loomiseks ei vaja te eraldi programme.

ix) andmete ja metaandmete kontrollsummad: Andmete rikkumise vältimiseks kasutab Btrfs vaikimisi andmete ja failisüsteemi metaandmete jaoks crc32c kontrollsumma algoritme. Kontrollsummad salvestatakse failisüsteemi, et automaatselt kontrollida taustal failisüsteemi vigu ja andmete rikkumisi.

Btrfs toetab palju muid kontrollsumma algoritme: xxhash, sha256 ja blake2b.

x) tihendamine: Btrfs-failisüsteem toetab failide läbipaistvat tihendamist. Btrfs-failisüsteemis olevate failide tihendamine ja lahtipakkimine toimub taustal automaatselt.

Btrfs toetab kolme tihendusalgoritmi: ZLIB, LZO ja ZSTD.

ZLIB on btrfs-failisüsteemi vaikimisi tihendusmeetod.

xi) Integreeritud mitme seadme tugi: Btrfs-failisüsteemidel on sisseehitatud loogilise helihalduri (LVM) tugi. Ühte btrfs-failisüsteemi saate lisada mitu mäluseadet. RAID-massiive saate konfigureerida ka btrfs-failisüsteemis, ilma et oleks vaja mingit täiendavat tarkvara.

Btrfs-failisüsteem toetab andmete eemaldamist, andmete peegeldamist, andmete eemaldamist ja peegeldamist ning ühe ja kahe pariteediga rakendusi.

Andmete eemaldamine: Kui olete samasse btrfs failisüsteemi lisanud mitu mäluseadet, saavad btrfs sama faili salvestada erinevatesse füüsilistesse seadmetesse / sektsioonidesse. Seda nimetatakse andmete eemaldamiseks. Andmete eemaldamine parandab failisüsteemi lugemis- ja kirjutamisvõimet. RAID-0 kasutab ulatuslikult andmete eemaldamise funktsiooni.

Andmete peegeldamine: Kui olete samasse btrfs failisüsteemi lisanud mitu mäluseadet, kirjutatakse kõik ühte mäluseadmesse kirjutatud andmed kõigile teistele salvestusseadmetele. Seda nimetatakse andmete peegeldamiseks. RAID-1 kasutab ulatuslikult andmete peegeldamise funktsiooni.

Andmete eemaldamine + üks pariteet: RAID-5 kasutab andmete ribade eraldamist ja ühe jaotatud pariteeti. Kui olete btrfs-failisüsteemi lisanud mitu mäluseadet, eemaldab RAID-5 mitmel mäluseadmel olevad andmed ning arvutab ja salvestab pariteediplokid kogu mäluseadmes. RAID-5 võib säilitada ühe draivi tõrke.

Andmete eemaldamine + topeltpariteet: RAID-6 kasutab andmete eemaldamist ja topeltjaotatud pariteeti. Kui olete btrfs-failisüsteemi lisanud mitu mäluseadet, eemaldab RAID-6 mitmel mäluseadmel olevad andmed ning arvutab ja salvestab topeltpariteediplokid kogu mäluseadmesse. RAID-6 võib säilitada kaks draivi tõrkeid. Peale selle on see sama mis RAID-5 (andmete eemaldamine + üks pariteet).

Andmete eemaldamine ja peegeldamine: RAID-10 kasutab samaaegselt andmete eemaldamist ja andmete peegeldamist. RAID-10 nõuab, et ühele btrfs-failisüsteemile lisataks paarisarv sama suurusega salvestusseadmeid. RAID-10 btrfs-failisüsteemi saab lisada vähemalt 4 mäluseadet. Pooli salvestusseadet kasutatakse andmete triibutamiseks ja teist poolt salvestusseadmete esimese poole andmete peegeldamiseks (kus andmed on triibulised).

xii) SSD teadlikkus ja optimeerimised: Btrfs-failisüsteem on SSD-teadlik ja sellel on mõned SSD optimeerimise funktsioonid. Btrfs-failisüsteemil on ka SSD-mäluseadmete tugi TRIM / Discard.

Funktsioon TRIM suudab tuvastada ja tähistada andmemahte, mida enam ei kasutata. Kui laiendused on märgitud, saab btrfs-failisüsteem need automaatselt pühkida, et teised failid saaksid neid andmemahte kasutada.

Funktsioon Loobu eemaldab kõik SSD-i laiendused. Kui soovite oma SSD-d müüa, võib see funktsioon olla kasulik.

xiii) Tõhus järkjärguline varundamine: Btrfs toetab järkjärgulist varundamist. Esmakordsel btrfs-failisüsteemi varundamisel teeb see hetkepildi praegusest failisüsteemist. Seejärel võrreldakse kõiki järgnevaid varukoopiaid esimese hetktõmmisega ja kettale salvestatakse ainult muudatused. Seega võtavad kõik järgnevad varukoopiad vähem kettaruumi ja varundamine toimub kiiremini.

xiv) Taustapuhastus: See on Btrfs-failisüsteemi protsess, mida kasutatakse vigade leidmiseks ja parandamiseks failides, millel on üleliigsed koopiad (mitu eksemplari) Btrfs-failisüsteemis.

xv) Online-failisüsteemi defragmentimine: Olen varem selgitanud, kuidas töötab Btrfs Copy-on-Write failisüsteem. Suuremad failid salvestatakse Btrfs-failisüsteemi mitmes osas. Kui muudate suuri faile, kopeeritakse muudetavad ulatusid failisüsteemi erinevatesse vabatesse osadesse ja muudetakse seal. Niisiis säilitatakse muutmata andmete ulatus ka juhul, kui see on vajalik failisüsteemi taastamiseks. See põhjustab killustatust (suure faili andmemaht ei ole pidev ja hajutatakse kogu mäluseadme ümber) failisüsteemis, kui suuri faile muudetakse. Liiga suur killustatus mõjutab failisüsteemi negatiivselt (muudab failisüsteemi lugemis- / kirjutamistoimingu aeglasemaks).

Selle probleemi lahendamiseks toetab failisüsteem btrfs võrgus failisüsteemi defragmentimist. Veebipõhise defragmentimise korral ei pea te failisüsteemi defragmentimiseks failisüsteemi lahti ühendama. Võite hoida failisüsteemi töökorras ja endiselt selle defragmentida. Defragmentimine teisaldab failimahud failisüsteemi ümber, et hoida sama suure faili ulatus võimalikult pidevana. Defragmentimine parandab failisüsteemi jõudlust.

xvi) Võrguühenduseta failisüsteemi kontroll: Btrfs-failisüsteemis on palju sisseehitatud tööriistu, mille abil saate kontrollida failisüsteemi vigu ja neid parandada. Nende tööriistadega saate parandada ka katkise Btrfs-failisüsteemi (mida ei saa paigaldada).

xvii) Olemasolevate Ext2 / 3/4 ja ReiserFS failisüsteemide kohane teisendamine: Btrfs-failisüsteemis on sisseehitatud utiliit btrfs-convert, mida saate kasutada olemasolevate Ext2 / 3/4 ja ReiserFS-failisüsteemide teisendamiseks Btrfs-failisüsteemiks.

Btrfs-failisüsteemi teisendusprogramm loeb olemasoleva Ext2 / 3/4 (või ReiserFS) failisüsteemi metaandmeid, loob Btrfs-metaandmed ja salvestab need failisüsteemi. Failisüsteem hoiab nii Btrf-sid kui ka Ext2 / 3/4 (või ReiserFS) metaandmeid. Btrfs-failisüsteem osutab samadele failiplokkidele, mida kasutavad failisüsteemi Ext2 / 3/4 (või ReiserFS) failid. Olemasolevat failisüsteemi ja andmeplokke hoitakse puutumata, kuna Btrfs on koopiate kirjutamise (CoW) failisüsteem. Kui faili muudetakse, kopeerib Btrfs-failisüsteem algsed andmeplokid uutele tasuta ulatusele ja muudab neid seal.

xviii) Seemneseadmed: Btrfs-failisüsteem toetab algseadmeid. Võite luua kirjutuskaitstud failisüsteemi ja kasutada seda mallina (algseadmena) teiste Btrfs-failisüsteemide loomiseks. Selle tegemise eeliseks on see, et ainult muudetud andmed kirjutatakse uude failisüsteemi. Algandmeid (külviseadmete kohta) säilitatakse nii, nagu need on. Seda funktsiooni saab kasutada suure kettaruumi ja andmete üleliigsuse säästmiseks.

xix) Alamahu muudatuste saatmine / vastuvõtmine: Btrfs-failisüsteem võib alamahumuutusi saata / vastu võtta. Btrfs-failisüsteem võib saata alamahu muutused teisele Btrfs-failisüsteemile (võib asuda ka teises arvutis), mis võib vastu võtta alamahu muudatusi. Seda funktsiooni kasutatakse Btrfs-failisüsteemi järkjärguliste varukoopiate tegemiseks kas lokaalselt või eemalt. See meetod on kiirem ja tõhusam kui rsync.

xx) Partii / bändiväline deduplikatsioon: Btrfs-failisüsteem toetab pakett- või ribavälist deduplikatsiooni. Kopeerimine toimub pärast faili kirjutamist failisüsteemi. Btrfs-failisüsteem otsib aktiivselt kogu failisüsteemi identsete osade osas ja hoiab igast ulatusest ainult ühte eksemplari (eemaldab üleliigsed / duplikaadid). Selle ülesande jaoks kasutatakse sama printimise-kirjutamise (CoW) printsiipi. Deduplikatsioon säästab palju kettaruume.

xxi) Vahetusfailide tugi: Kui kasutate Linux Kernel 5.0 või uuem, saate Btrfs-failisüsteemis luua vahetusfailid.

Btrfs-failisüsteemis on Swapfile'il mõned piirangud:

- Vahetusfail peab olema eraldatud kui NoCoW (mitte kirjutamise pealt kirjutamine)

- Vahetusfailis ei tohi olla ühtegi tihendamist lubatud.

Btrfs-failisüsteemi stabiilsus:

Btrfsi failisüsteemi arendab aktiivselt Btrfsi meeskond. Enamik failisüsteemi funktsioone on selle kirjutamise ajal stabiilsed. Mõned täiustatud funktsioonid pole veel tootmiskeskkonna jaoks piisavalt stabiilsed. Btrfsi meeskond töötab nende stabiilsusprobleemide lahendamiseks kõvasti.

Kui soovite oma tootmisserveris kasutada Btrfs-failisüsteemi, kontrollige ametlikku lehte Status - btrfs Wiki, et teada saada, kas vajalikud failisüsteemi funktsioonid on teie jaoks piisavalt stabiilsed või mitte. Enne Btrfs-failisüsteemi lõplikku juurutamist käivitage kindlasti ka mõned testid ja ärge unustage oma olulistest andmetest varukoopiaid säilitada. Varukoopiate säilitamine on tootmiskeskkondade jaoks alati oluline.

Ext4-failisüsteemi tulevane asendamine:

Btrfs-failisüsteemi arendatakse kiiresti. Btrfsi arendustiim hoolib ka failisüsteemi stabiilsusest. Niisiis üritavad nad btrfs-failisüsteemi arendades teha selle võimalikult stabiilseks. Kui btrfs-failisüsteem on täielikult välja töötatud ja kõik funktsioonid on piisavalt stabiilsed, võib see asendada Ext4-failisüsteemi.

Viited:

[1] btrfs Wiki - https: // btrfs.wiki.tuum.org / register.php / Main_Page
[2] BTRFS - tuumapuu dokumentatsioon - https: // www.tuum.org / doc / html / latest / filesystems / btrfs.HTML
[3] BTRFS - sõnastik - https: // btrfs.wiki.tuum.org / register.php / Sõnastik
[4] Failisüsteemi „Btrfs” omadused - https: // www.riigipäevik.com / features-of-the-btrfs-failisüsteem /
[5] Failisüsteemide võrdlus - https: // et.vikipeedia.org / wiki / failide_süsteemide võrdlus
[6] Btrfsi kujundus - btrfs Wiki - https: // btrfs.wiki.tuum.org / register.php / Btrfs_design
[7] võib-olla võiks inode lõppemist võtta "tõsisemalt"? - https: // lwn.net / Artiklid / 724522 /
[8] Btrfsi kirjutuskaitstud piltide kirjutatavaks muutmine - https: // markandruth.kaas.uk / 2016/12/29 / tegemine-a-btrfs-kirjutuskaitstud-hetktõmmis-kirjutatav
[9] Andmete eemaldamine - https: // et.vikipeedia.org / wiki / Data_striping
[10] KKK - btrfs wiki - https: // btrfs.wiki.tuum.org / register.php / KKK
[11] Tavapärased RAID-tasemed - https: // et.vikipeedia.org / wiki / Standard_RAID_levels
[12] Trim (arvutus) - https: // et.vikipeedia.org / wiki / Trim_ (arvutus)
[13] Tahkiseade - ArchWiki - https: // wiki.archlinux.org / register.php / Solid_state_drive # TRIM
[14] Btrfsck - btrfs Wiki - https: // btrfs.wiki.tuum.org / register.php / Btrfsck
[15] Teisendamine failidest Ext3 / 4 ja ReiserFS - btrfs Wiki - https: // btrfs.wiki.tuum.org / register.php / Conversion_from_Ext3
[16] Inkrementaalne varundamine - btrfs Wiki - https: // btrfs.wiki.tuum.org / register.php / Incremental_Backup
[17] Deduplikatsioon - btrfs Wiki - https: // btrfs.wiki.tuum.org / register.php / Deduplication
[18] Olek - btrfs Wiki - https: // btrfs.wiki.tuum.org / register.php / olek

League of Legendsi installimine Ubuntu 14-le.04
Kui olete League of Legends fänn, siis on see teile võimalus proovida League of Legendsit. Pange tähele, et LOL-i toetab PlayOnLinux, kui olete Linuxi...
Installige uusim OpenRA strateegiamäng Ubuntu Linuxi
OpenRA on tasuta / tasuta reaalajas strateegiamängumootor, mis loob uuesti Westwoodi varased mängud nagu klassikaline Command & Conquer: Red Alert. Ja...
Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...